Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build or materially redesign an agent skill from a rough idea or a workflow that just succeeded, with a spec-first design, risk-based evidence, real baseline and with-skill evaluation, blind cross-family forward tests, and a typed completion receipt. Use for “create/add a skill,” “turn what we just did into a skill,” or “redesign a skill's behavior, setup, scripts, or eval.” NOT for prose-only edits (use writing-great-skills), static scoring (use linting-and-scoring), prompt-to-script audits (us
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 74% | 0% |
Build the smallest skill that owns the behavior, then prove its declared claims. Compose the repo's existing authoring, arena, review, and install tools; do not create another controller around them.
SPEC.md before SKILL.md or executable behavior.not hide it behind a flag, shim, special case, fallback, or parallel path.
separate. One never stands in for another.
omitting a failed integration attempt is itself a failed gate.
capacity blocks completion; it does not authorize substitution.
directly against each other.
command output and independent review own authenticity.
Capture the real trigger, non-trigger, user, repository, authority, and the failure or successful workflow being generalized. Describe the desired behavior without preserving accidental details of the first solution.
Redirect a narrow request to the skill named in the description instead of running the full workshop.
Choose the highest matching tier before build. Tiers are cumulative.
| Tier | Select when | Required evidence | |---|---|---| | method | Instructions/reference only; no executable or live dependency. | Spec, real eval, two-family blind test, lint, four-agent install, fast councils. | | scripted | Bundled code, validator, schema, or generated artifact. | Method plus public-seam TDD, repo tests, deep final council, Thermos. | | integration | Auth, third-party CLI/API, provider/model identity, capacity, or device setup. | Method plus deep final council, Thermos, device config contract, smoke and representative qualification; add TDD/tests when code is bundled. |
For integration work, read references/integration-tier.md before specifying the contract.
Effort defaults to standard for method and deep for scripted/integration. Use deep for a security-sensitive or architectural method skill.
Before promising evidence, exercise each required external CLI end to end: run its help/version command and its smallest non-mutating validate, identity, or smoke operation. A name on PATH is not readiness.
Create one source SPEC.md containing:
Gate that exact file with the repository's plan-review provider and a fast cross-family adversarial review. Apply valid findings to the source spec. Record rejected findings with the design boundary they would violate; do not add machinery just to satisfy a reviewer.
Before implementing the skill:
combinations.
Do not tune cases after seeing baseline answers. If semantic review finds a mislabeled case, version the suite, record the defect, and establish a new real baseline before comparison; never reuse the old score. If the baseline is perfect, report no measured lift; the suite remains a regression guard.
Use skill-creator for the canonical scaffold and writing-great-skills for the instruction surface. Keep SKILL.md lean and move only integration-specific detail into the reference.
When code is bundled, use TDD at the public seam:
Do not manufacture scripts or tests for a code-free method/integration skill.
Add a with-skill arena variant and rerun the same cases and model used for the baseline. Preserve errors, regressions, and missing cells. A dry run is never behavioral evidence.
Run two fresh isolated agents from distinct model families. Give each only:
Do not provide expected answers, arena cases, another agent's output, or the workshop's implementation discussion. Capture commands and receipts, then remove temporary fixtures. One family may equal the author family; the two forward-test families must differ.
Install and qualify the skill through each repository target: Claude Code, Codex, Cursor, and Cline. A target that cannot discover or execute the skill is visible incomplete evidence, not permission to relabel another process.
Run tier-required tests, static lint, install checks, final council, and Thermos. Review the semantic contents of external receipts; the helper checks their structure and existence but is not a second evaluator.
Initialize the receipt from the skill directory:
bashpython3 scripts/workshop.py init \ --tier integration \ --bundles-code true \ --work-unit f84bad5c-2488-41f4-ae0b-75003a5f0b5b \ --author-family openai \ --output WORKSHOP.json
Each step leaves a readable receipt, not an opaque blob: copy templates/receipt.md — the real command, its verbatim output, and a one-line verdict. Fill WORKSHOP.json only from those retained receipts, then check it:
bashpython3 scripts/workshop.py check WORKSHOP.json
Render the reviewer-facing report so semantic review is one read instead of fifteen file-opens:
bashpython3 scripts/workshop.py report WORKSHOP.json --format md -o REPORT.md python3 scripts/workshop.py report WORKSHOP.json --format html -o REPORT.html
report inlines every receipt's contents next to the checker verdict. The checker proves the receipts exist, are non-empty, and are distinct; reading the report is what confirms they are true. A green checker never ships alone.
Exit 0 means the declared structural gates are complete. Exit 1 means valid but incomplete evidence. Exit 2 means the receipt violates the contract. Never edit an exit code, family, model identity, status, or substituted field to make the checker pass.
A complete exit is necessary but not sufficient: the checker validates receipt structure, distinctness, and existence, not the truth of what a receipt records. Only semantic review of the receipt contents plus the independent council make the completion claim real. Never treat a green checker as a standalone ship signal.
Ship only when the checker reports complete, semantic receipt review is clean, deviations are explicit, and the requested commit/PR authority exists. Ask before merge, publication, or release unless higher-level instructions already grant that exact action.
| Issue/Error | Fix | |---|---| | Required CLI is absent or its identity check fails | Record the gate incomplete and provide the exact install/setup action; do not replace the tool. | | Auth, model, capacity, timeout, or adapter qualification fails | Preserve the typed failure and recovery from the integration reference; retry the same declared seat only after recovery. | | Plan review times out or is dismissed | Reopen the exact unchanged artifact and obtain a recorded decision; timeout is not approval. | | Arena dry-run passes but a live cell errors or regresses | Keep the error visible, inspect the raw receipt, and fix the skill or version a mislabeled suite before establishing a new baseline. | | workshop.py check exits 1 or 2 | Read the sorted diagnostics, repair the missing evidence or invalid contract at its source, and rerun the producing command. | | Independent model family is unavailable | Leave final review blocked and report recovery; never substitute another process from the author family. |
Other measured skills in the registry, with their headline benchmark lift.