skills/spec-kit-specify/SKILL.md
Use when a Spec Kit feature needs `spec.md` authored or rewritten from natural-language requirements, especially when the feature has no usable specification or requirements are too vague for planning.
npx skillsauth add ahgraber/skills spec-kit-specifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create or refresh the feature specification for the active Spec Kit feature.
spec-kit-specify.spec.md.spec-kit-clarify or spec-kit-plan.spec-kit-clarify).spec-kit-plan, spec-kit-tasks).spec-kit-reconcile).spec-kit when spec.md does not exist yet.spec-kit-clarify (if high-impact ambiguity remains) or spec-kit-plan (if spec is ready).Normalize input:
ERROR: No feature description provided.Generate a short branch suffix (2-4 words, kebab-case):
user-auth, bulk-export-audit-log).Bootstrap feature branch and spec exactly once:
scripts/create-new-feature.sh --json --short-name "<short-name>" "<feature description>".BRANCH_NAMESPEC_FILEFEATURE_NUMFEATURE_DIR as dirname(SPEC_FILE).Load template context:
{REPO_ROOT}/templates/spec-template.md.assets/spec-template.md.Draft spec.md content (focus on WHAT/WHY, not HOW):
Clarification policy while drafting:
[NEEDS CLARIFICATION: ...] only for high-impact uncertainty.Write the spec to SPEC_FILE.
Create and run requirements quality validation:
FEATURE_DIR/checklists/requirements.md.[NEEDS CLARIFICATION] markers for plan-ready specs.If clarification markers remain after validation:
spec.md, then re-run validation.Report completion:
spec.md path.requirements.md path and pass/fail summary.spec-kit-clarify if high-impact ambiguity remains.spec-kit-plan if ready.scripts/create-new-feature.shspecs/<feature>/spec.mdspecs/<feature>/checklists/requirements.mdspec-kit-clarify or spec-kit-planreferences/spec-kit-workflow.dotscripts/create-new-feature.shassets/spec-template.mdhttps://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/specify.mddevelopment
Use when the user wants rigorous, non-sycophantic editorial feedback on a draft, essay, blog post, or argument through back-and-forth dialogue — pressure-testing thesis, structure, argument, clarity, tone, and evidence. Triggers: "be my sparring partner", "pressure-test this draft", "poke holes in my argument", "is this ready to publish", "sharpen this post", "where is this weak". Not for one-shot copyediting, proofreading, or ghostwriting.
testing
Use when distilling the through-line gist of one or more sources — the spine, argument, tension, or recurring frame running through a set of documents, notes, research, or transcripts, OR across the ideas within a single rich piece — into a few concise paragraphs. Triggers: "synthesize", "what's the through-line/gist", "extract the insight", "pull these together". Not for faithful summary or condensation that covers what a source says, nor for comparisons or catalogs where enumeration is the deliverable.
development
Use when writing or reviewing tests in any language, or diagnosing a suite that is slow, brittle, or hard to read. Triggers: "write tests", "how should I test this", "what kind of test", "test is flaky/fragile", "should I mock this", "test is hard to read". For Python-specific guidance see `python-testing`.
development
Use when writing, debugging, or explaining Strudel live-coding music patterns — mini-notation syntax, pattern functions (fast/slow/every/off/stack), synth/sample selection, audio effects, scale/chord/voicing API, or EDM production recipes. Triggers: "write a Strudel pattern", "how do I make a bassline in Strudel", "what does .every() do", "strudel drum beat", "strudel chord voicing", any Strudel code question.