skills/spec-kit-clarify/SKILL.md
Use when an existing Spec Kit `spec.md` has high-impact ambiguity (for example `[NEEDS CLARIFICATION]`, unresolved scope decisions, or unquantified requirements) that must be resolved before `spec-kit-plan`.
npx skillsauth add ahgraber/skills spec-kit-clarifyInstall 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.
Resolve high-impact ambiguity in the active feature specification before planning.
spec-kit-clarify.spec.md already exists but has high-impact uncertainty.[NEEDS CLARIFICATION], TODOs, or conflicting statements).spec-kit-specify first).spec-kit-plan) or task generation (spec-kit-tasks).spec-kit-analyze).spec-kit-reconcile).spec-kit after spec-kit-specify and before spec-kit-plan when ambiguity is still blocking.spec.md immediately.digraph clarify_workflow {
rankdir=TB;
node [fontname="Helvetica", fontsize=10];
edge [fontname="Helvetica", fontsize=9];
start [label="Invoke spec-kit-clarify", shape=doublecircle];
resolve_paths [label="Resolve FEATURE_SPEC path", shape=box];
has_spec [label="spec.md exists?", shape=diamond];
stop_specify [label="STOP: run spec-kit-specify first", shape=octagon, style=filled, fillcolor=red, fontcolor=white];
scan_taxonomy [label="Scan with clarification taxonomy", shape=box];
has_high_impact [label="High-impact ambiguity remains?", shape=diamond];
report_none [label="Report no critical ambiguity", shape=box];
build_queue [label="Build and rank up to 5 questions", shape=box];
ask_loop [label="Ask one question at a time\n(recommend/suggest, disambiguate if needed)", shape=box];
integrate [label="Integrate accepted answer into spec.md", shape=box];
validate [label="Validate update and consistency", shape=box];
continue_gate [label="Continue loop?", shape=diamond];
final_report [label="Report touched sections, coverage, next step", shape=box];
done [label="Clarify complete", shape=doublecircle];
start -> resolve_paths;
resolve_paths -> has_spec;
has_spec -> stop_specify [label="no"];
has_spec -> scan_taxonomy [label="yes"];
scan_taxonomy -> has_high_impact;
has_high_impact -> report_none [label="no"];
report_none -> done;
has_high_impact -> build_queue [label="yes"];
build_queue -> ask_loop;
ask_loop -> integrate;
integrate -> validate;
validate -> continue_gate;
continue_gate -> ask_loop [label="yes"];
continue_gate -> final_report [label="no"];
final_report -> done;
}
Resolve active spec path:
scripts/check-prerequisites.sh --paths-only --json.FEATURE_SPEC from the JSON payload.FEATURE_SPEC is missing, stop and direct the user to spec-kit-specify.Build an internal ambiguity coverage map from spec.md:
assets/clarification-taxonomy.md as the required category checklist.Clear, Partial, or Missing.Partial or Missing categories where clarification changes implementation or validation outcomes.Prioritize up to 5 candidate questions:
Impact * Uncertainty.<=5 words.Run the interactive one-question loop:
<=5 words.yes, recommended, or suggested as confirmation of the current recommendation.Integrate each accepted answer immediately:
## Clarifications exists.### Session YYYY-MM-DD.- Q: <question> → A: <final answer>.FEATURE_SPEC after each accepted answer.Validate after each write and on final pass:
<=5.## Clarifications, ### Session YYYY-MM-DD.Report completion:
FEATURE_SPEC path.ResolvedDeferredClearOutstandingspec-kit-plan or run clarify again later.No critical ambiguities detected worth formal clarification. and suggest proceeding.stop, done, proceed.Deferred with rationale.spec.md with embedded clarification historyassets/clarification-taxonomy.mdreferences/spec-kit-workflow.dot for overall context of how the clarification fits into the Spec Kit process.scripts/check-prerequisites.shhttps://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/clarify.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.