The skill's instructions largely match an InsForge CLI for managing infrastructure, but there are inconsistencies and persistence behaviors (credential storage, auto-install of agent skills, and npm installs) that deserve caution before installing or running it.
评估建议
This instruction-only skill looks like a legitimate CLI reference for an InsForge backend tool, but treat it cautiously because:
- Metadata omits required credentials and install details that the SKILL.md explicitly uses (INSFORGE_* env vars, stored tokens). That mismatch is unexpected.
- The instructions tell you to run global npm installs (npm install -g @insforge/cli) and npx to auto-install other agent skills; those actions download and execute third-party code and create persistent files (...
详细分析 ▾
ℹ用途与能力
The name/description (backend infra management for InsForge) align with the included command reference (db, functions, storage, deployments, secrets, schedules). However the package metadata declares no required credentials or install steps while SKILL.md explicitly references auth tokens, project IDs, and environment variables (e.g., INSFORGE_ACCESS_TOKEN, INSFORGE_EMAIL/PASSWORD). That mismatch between declared requirements and the instructions is unexpected.
⚠指令范围
The runtime instructions direct the agent/user to install an external CLI (npm install -g @insforge/cli), run authentication flows (including a local callback server), create project files (.insforge/project.json), install additional agent skills via npx (npx skills add insforge/agent-skills), and read/write credentials at ~/.insforge/credentials.json. The commands include exporting/importing DB backups and retrieving decrypted secrets (insforge secrets get), which legitimately access sensitive data but also expand the blast radius for exfiltration. Auto-installing agent skills into .agents/skills/ may change the agent environment and is out-of-band behavior that should be validated.
⚠安装机制
The registry lists no install spec, but SKILL.md instructs global npm installs (npm install -g @insforge/cli) and npx to install agent skills. Installing packages globally and npx pull from external registries; that is a standard but higher-risk install pattern because it fetches and executes remote code. The skill metadata lacks a trusted homepage/source URL, making it harder to verify the npm packages and their authors before running.
⚠凭证需求
The SKILL.md expects environment variables and credentials (INSFORGE_ACCESS_TOKEN, INSFORGE_PROJECT_ID, INSFORGE_EMAIL, INSFORGE_PASSWORD) and describes storing access/refresh tokens in ~/.insforge/credentials.json. But the registry metadata declared no required env vars or primary credential. Requesting/using secrets and providing CLI flows to retrieve decrypted secrets is proportionate for a CLI of this purpose, yet the metadata omission and the ability to fetch secrets and DB exports means this skill will have access to highly sensitive data — verify only least-privilege credentials are used.
⚠持久化与权限
The skill's instructions create persistent artifacts (project link file .insforge/project.json, ~/.insforge/credentials.json) and perform auto-installation of agent skills into .agents/skills/insforge/. While persistent state is normal for a CLI, the combination of storing credentials, modifying workspace/agent skill directories, and installing software from npm expands long-term privileges and should be allowed only if you trust the source.
Initial release of insforge-cli — a command-line tool for InsForge backend infrastructure management.
- Supports authentication, project management, database queries and schema management, edge/serverless functions, storage buckets, frontend deployments, secrets management, scheduled tasks (cron jobs), and backend logs.
- Provides structured command outputs, comprehensive environment variable overrides, and detailed exit codes for automation.
- Includes safeguards and notes for destructive actions, soft delete behavior, and invocation URL formats.
- Commands are organized by category and documented with common use cases and workflows.
- Additional documentation available via built-in docs command.
insforge link — link directory to existing project
insforge current — show current user + linked project
insforge list — list all orgs and projects
insforge metadata — show backend metadata (auth config, database tables, storage buckets, edge functions, AI models, realtime channels). Use --json for structured output. Run this first to discover what's configured before building features.
For writing application code with the InsForge SDK, use the insforge (SDK) skill instead, and use the insforge docs to get specific SDK documentation.
Non-Obvious Behaviors
Functions invoke URL: invoked at {oss_host}/functions/{slug} — NOT /api/functions/{slug}. Exits with code 1 on HTTP 400+.
Secrets delete is soft: marks the secret inactive, not destroyed. Restore with insforge secrets update KEY --active true. Use --all with secrets list to see inactive ones.
Storage delete-bucket is hard: deletes the bucket and every object inside it permanently.
db rpc uses GET or POST: no --data → GET; with --data → POST.
Schedules use 5-field cron only: minute hour day month day-of-week. 6-field (with seconds) is NOT supported. Headers can reference secrets with ${{secrets.KEY_NAME}}.
Common Workflows
Set up database schema
insforge db query "CREATE TABLE posts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
author_id UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT now()
)"
insforge db query "ALTER TABLE posts ENABLE ROW LEVEL SECURITY"
insforge db query "CREATE POLICY \"public_read\" ON posts FOR SELECT USING (true)"
insforge db query "CREATE POLICY \"owner_write\" ON posts FOR INSERT WITH CHECK (auth.uid() = author_id)"
FK to users: always auth.users(id). RLS current user: auth.uid().
insforge link — link directory to existing project
insforge current — show current user + linked project
insforge list — list all orgs and projects
insforge metadata — show backend metadata (auth config, database tables, storage buckets, edge functions, AI models, realtime channels). Use --json for structured output. Run this first to discover what's configured before building features.
For writing application code with the InsForge SDK, use the insforge (SDK) skill instead, and use the insforge docs to get specific SDK documentation.
Non-Obvious Behaviors
Functions invoke URL: invoked at {oss_host}/functions/{slug} — NOT /api/functions/{slug}. Exits with code 1 on HTTP 400+.
Secrets delete is soft: marks the secret inactive, not destroyed. Restore with insforge secrets update KEY --active true. Use --all with secrets list to see inactive ones.
Storage delete-bucket is hard: deletes the bucket and every object inside it permanently.
db rpc uses GET or POST: no --data → GET; with --data → POST.
Schedules use 5-field cron only: minute hour day month day-of-week. 6-field (with seconds) is NOT supported. Headers can reference secrets with ${{secrets.KEY_NAME}}.
Common Workflows
Set up database schema
insforge db query "CREATE TABLE posts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
title TEXT NOT NULL,
content TEXT,
author_id UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT now()
)"
insforge db query "ALTER TABLE posts ENABLE ROW LEVEL SECURITY"
insforge db query "CREATE POLICY \"public_read\" ON posts FOR SELECT USING (true)"
insforge db query "CREATE POLICY \"owner_write\" ON posts FOR INSERT WITH CHECK (auth.uid() = author_id)"
FK to users: always auth.users(id). RLS current user: auth.uid().