Specify
Claude Code plugin with skills shared across project
npx -y skills add KonH/ClaudeTools --skill specifyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Capture feature intent and acceptance criteria before planning begins, writing docs/specs/<YY_MM_DD_HH>_<name>/spec.md. Stops for user approval before the plan skill runs.
SKILL.md
3.8 KB, 870 tokens by cl100k_base, as published. Nobody here has run it
Capture feature intent and acceptance criteria before planning begins. Writes docs/specs/<YY_MM_DD_HH>_<name>/spec.md and stops — the user must approve the spec before the plan skill runs.
Doc paths
Default convention: specs live under docs/specs/. Check the project's CLAUDE.md for an overriding location (e.g. a "Docs Layout" section or explicit mention of spec paths) before falling back to the default.
Spec Identifier Derivation
- Use
Globwith patterndocs/specs/*/*.mdto list existing spec folders — do NOT use a trailing-slash pattern (docs/specs/*/) or a baredocs/specs/*, both silently return nothing on Windows; the nested*/*.mdform matches files one level down and works - Generate the current local timestamp as
YY_MM_DD_HH(for example,26_07_18_14) - Combine it with a short kebab-case feature name:
<YY_MM_DD_HH>_<name> - Do not derive or assign a numeric index
Orchestration
Spawn an architect sub-agent (general-purpose) briefed with:
- The user's feature description
- Relevant project rules from
CLAUDE.mdand any project rules directory - The output path:
docs/specs/<YY_MM_DD_HH>_<name>/spec.md - The spec format below
The architect writes the spec file directly. You (orchestrator) then:
- Present the spec contents to the user
- Collect feedback and re-brief the architect if changes are needed (iterate until the user approves)
- Stop. Do not run the
planskill or write any code. The user must explicitly request the next step.
Spec Format
# Spec: <Feature Name>
## Feature Intent
As a <role>, I want <capability>, so that <benefit>.
## Acceptance Criteria
Legend: `Precondition => Action => Outcome`, grouped under a shared precondition where one applies to several rows.
- <Precondition or scenario shared by the rows below>
- <action> => <outcome>
- <action> => <outcome>
- <Next precondition or scenario group>
- <action> => <outcome>
- (cover the happy path and the most important edge cases; a group can hold a single row if nothing else shares its precondition)
## Tech Notes
Maps each product-facing behaviour above to its concrete implementation — specific files, classes, methods, commands, state paths.
- <Acceptance-criteria bullet or group, restated briefly>:
- <implementation detail>
- <implementation detail>
## Out of Scope
- (explicit exclusions — things the feature deliberately will not do)
## Ambiguities
- [NEEDS CLARIFICATION: <question the architect cannot resolve from context alone>]
- (omit this section entirely if there are no ambiguities)
Rules
- Do NOT write any plan, code, or assets — only the spec document.
- Acceptance Criteria stays in plain product language — describe what the player/user does and sees (e.g. "Player clicks a province"), never which class, method, or command fires. Group rows that share a precondition under one bullet instead of repeating it per row — this is what keeps the section skimmable instead of a wall of near-duplicate lines.
- Tech Notes carries every technical anchor the architect would otherwise cram into Acceptance Criteria: exact class/method names, command types, state paths, file references. One entry per Acceptance Criteria bullet/group that needs one; omit Tech Notes entries for purely product-level bullets that need no technical grounding.
- Use
[NEEDS CLARIFICATION: …]markers freely — surfacing unknowns early is the point. - The spec folder name starts with its creation timestamp and uses a kebab-case name:
docs/specs/26_07_18_14_my-feature/spec.md. - Do not create
plan.mdin the spec folder — that is theplanskill's job.