| name | forge-draft |
| description | Draft a new SKILL.md file to close a specified capability gap, wrapping the official skill-creator plugin's authoring flow. For MCP server gaps, wraps Anthropic's mcp-builder skill instead. Produces a draft at ~/.claude/forge/drafts/<name>/SKILL.md ready for forge-test's evaluation loop. Use when forge-scout has recommended AUTHOR and forge-lead has decided which primitive (skill vs MCP vs plugin) to build. |
| disable-model-invocation | true |
| allowed-tools | Read Write Glob Bash(gh *) |
Forge drafter
Decision tree — which primitive to author
Question: what primitive closes this gap?
├── Capability is purely instructions (playbook, checklist, reference)
│ -> AUTHOR a SKILL.md, no bundled scripts
├── Capability is a reusable script Claude will execute
│ -> AUTHOR a SKILL.md with bundled scripts/ directory
├── Capability needs cross-session state (persistent DB, shared cache)
│ -> AUTHOR an MCP server via mcp-builder
├── Capability needs non-Claude-Code portability (Cursor, VS Code, Gemini CLI)
│ -> AUTHOR an open-standard skill (agentskills.io format) OR MCP server
├── Capability is a coherent bundle of skills + agents + hooks + MCP
│ -> AUTHOR a plugin (plugin.json manifest + directory structure)
└── Capability is a behavioral contract for a new specialist role
-> AUTHOR a subagent file (not a skill; a .claude/agents/ entry)
For SKILL.md authoring — wrap skill-creator
skill-creator is installed as a plugin. Invoke its SKILL.md via the Skill tool:
Skill(skill-creator)
This loads the skill-creator's full authoring flow. Pass it the gap description, the intended user phrases, the expected output format, and skill-creator handles the draft -> eval -> iterate loop.
However, skill-creator is interactive — it expects a human to approve test results. The Forge runs non-interactively. Override by:
- Pre-specifying eval cases in
evals/evals.json before starting.
- Accepting the quantitative assertions auto-generated by skill-creator.
- Running the eval-viewer with
--static <path> instead of the interactive server (per skill-creator's Cowork instructions).
- Auto-promoting to
/forge:test if pass_rate >= 0.8 on the quantitative grade.
For MCP server authoring — wrap mcp-builder
mcp-builder is an Anthropic-official skill in anthropics/skills. Install on-demand:
gh api repos/anthropics/skills/contents/skills/mcp-builder/SKILL.md > /tmp/mcp-builder-skill.md
Then load it as context and execute its 4-phase method:
- Deep research and planning — understand the target API.
- Implementation — TypeScript (preferred) or Python (FastMCP).
- Review and testing — MCP Inspector.
- Evaluation creation — 10 realistic test queries.
Authoring rules (baked in by skill-creator + linguist)
Every authored SKILL.md MUST:
- Be
model: opus + effort: max inherited from session.
- Have
name <= 64 chars, lowercase-hyphen, no "anthropic"/"claude" reserved words.
- Have
description <= 1024 chars (<= 250 chars primary triggering budget).
- Open with capability first, triggers second.
- Use third-person voice in description.
- Include 3-5 concrete trigger scenarios in "Use when X, Y, or Z" format.
- Use pushy language to counter Claude's undertriggering.
- Stay under 500 lines for the SKILL.md body (use bundled references for overflow).
- Use forward-slash paths only.
- Include at least one "Hard rules" section with MUSTs the skill cannot violate.
Output
Write to ~/.claude/forge/drafts/<name>/ with:
SKILL.md — the drafted skill.
scripts/ (if needed) — bundled executable helpers.
references/ (if needed) — overflow documentation.
evals/evals.json — quantitative evaluation cases (>=3, per Anthropic's minimum).
Hard rules
- Never author a skill without evals. Voyager's self-verification is non-negotiable.
- Never author a skill whose name collides with an existing
~/.claude/skills/**/SKILL.md or ~/.claude/agents/**/*.md.
- Never ship a draft that fails its own quick-validate check (skill-creator's
scripts/quick_validate.py).