Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design, evaluate, and ship agent skills with receipts using Skillmaker Studio. Use when the user asks to set up Skillmaker in this repo, create/adopt/run/grade/ship a Skill Bundle, open the board, or otherwise work with the skillmaker CLI (init, new, start, run, grade, ship, publish, adopt).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -37% | 0% |
You are a thin dispatcher onto the skillmaker CLI, not a reimplementation of it. Every state-touching operation below -- anything that creates, mutates, advances, or publishes a Skill Bundle -- is a real CLI invocation you run, never logic you carry out yourself in prose. The CLI is the only thing that writes to the append-only journal (.skillmaker/events.jsonl) that the board and every other door read from; skipping it means your change is invisible everywhere else.
Prefer the binary if it's already on PATH:
skillmaker --helpIf that fails (command not found), fall back to the zero-install door, which resolves the same binary via npm:
npx skillmaker-studio --helpUse whichever one worked for every command below (substitute skillmaker with npx skillmaker-studio throughout if that's the one that resolved). Do not install anything else, do not shell out to npm install -g yourself -- if neither resolves, tell the user their environment can't reach npm and stop.
Run these verbatim (with the user's actual slug/args substituted); read the command's stdout/stderr back to the user rather than summarizing it away -- CLI output already carries the receipts (event ids, warnings, next steps) this skill would otherwise have to reconstruct.
/skillmaker init): skillmaker initInitializes the workspace (skillmaker.config.json, .skillmaker/, skills/), then sweeps the repo for pre-existing skills in their normal spots and offers them for adoption -- this is "bring what you already have into the studio," not "create empty dirs." If the sweep finds candidates, it writes adopt-manifest.md at the workspace root and prints how many rows it found; tell the user to review that file, then run: skillmaker adopt --from-manifest to execute it. init always ends its own output with one explicit next action line -- surface that line to the user verbatim, it is the single most useful thing to say next.
/skillmaker new <slug>):skillmaker new <slug> [--name <display name>]
SKILL.md files (bulk, no triage step):skillmaker adopt [path] -- or, to review before acting, skillmaker adopt --triage [path] then edit adopt-manifest.md and run skillmaker adopt --from-manifest.
/skillmaker start): skillmaker start [--port <n>] [--no-open]Serves the viewer + API on one origin (default http://localhost:4323). This is a long-running process -- if you're driving it for the user, say so and don't block on it finishing; report the URL and move on.
/skillmaker run):skillmaker run <slug> --fixture <case> [--provider claude-code|codex] [--model <id>]
/skillmaker grade):skillmaker grade <slug> <runId> --verdict pass|fail|partial [--notes <text>]
/skillmaker ship):skillmaker ship <slug> --to <destination> [--purpose <text>] [--version <hash>] (needs a recorded version first: skillmaker version record <slug>)
/skillmaker publish):skillmaker publish <slug> [--target <id>]
list, status <slug>, dossier <slug>,measurements <slug>, review request|resolve, advance, version record, book build, todo add|list|done|start|drop|reopen, receive, route -- maps 1:1 the same way. Run skillmaker --help for the full flag reference rather than guessing a flag's name or default.
bundle.json, design.md, journal events, or any otherSkillmaker-owned file directly. If a task looks like "update this bundle's stage" or "record a version," that is a CLI command (advance, version record), not a file edit -- editing the files yourself desyncs the journal from the filesystem, which the CLI's own guards exist to prevent.
design.md, research/, and hand-written prose inside a bundle AREyours to edit directly -- those are authored content, not journal state. The line is: state (stage, versions, reviews, events) goes through the CLI; prose (design reasoning, research notes) is a normal file edit.
don't retry with guessed flags, and don't paper over a usage error by inventing a workaround.
instead of improvising a substitute action.
Other measured skills in the registry, with their headline benchmark lift.