Install any skill in seconds. Free to start, no credit card required.
Get Started Free →tobihagemann/draft-shells
Decompose a specification file into shells with YAML frontmatter. Each shell captures the wiring invariants (Produces, Consumes, Covers) and high-level Implementation Steps without committing to file paths.
Passed 11 of 16 test cases with the skill, and 4 of 16 without it.
and 10 more in the full report
11 fixed4 passed either way6 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
We want to decompose our application spec into shells. The directory .turbo/specs/ does not exist on disk, but .turbo/spec.md exists. Which spec path and slug should be selected?
| Checked | Without skill | With skill |
|---|---|---|
| Selects .turbo/spec.md as the source specification file path. | Passed | Passed |
| Assigns legacy as the spec slug prefix for generated shell filenames. | Missed | Passed |
The instructions your model reads when the skill loads.
Decompose a specification file into shells at .turbo/shells/<spec-slug>-NN-<title>.md. Each shell represents one unit of work for a separate Codex session.
At the start, use update_plan to track each step, restating any remaining steps of a parent workflow alongside them:
If the confirmed shell count is one, the Single-Shell Bail-out at the end of Step 2 calls update_plan with a shortened step list (removing the remaining steps) and exits.
Determine which spec to decompose using these rules in order:
.turbo/specs/<slug>.md.turbo/specs/*.md. If exactly one file exists, use it.turbo/specs/ does not exist but .turbo/spec.md exists, use itThe slug of the resolved spec becomes the prefix for shell file names: a spec at .turbo/specs/<slug>.md produces shells at .turbo/shells/<slug>-NN-<title>.md. For the legacy fallback, use slug legacy.
State the resolved spec path and target shell directory before continuing.
Read the spec and identify:
R<N> IDs from the spec's ## Requirements section. Every R-id must be tracked in at least one shell's Covers field.If the spec has no ## Requirements section or contains no R<N>-numbered items, use request_user_input with two options: re-run $draft-spec (then restart Step 1 with the resulting spec) or stop so the user can add a ## Requirements section with enumerated R<N> IDs manually. Shells depend on stable R-ids for coverage tracking.
test cases passed, vs 4 / 16 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.