spec-kit-clarify

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`.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "spec-kit-clarify" with this command: npx skills add ahgraber/skills/ahgraber-skills-spec-kit-clarify

Spec Kit Clarify

Resolve high-impact ambiguity in the active feature specification before planning.

When to Use

  • spec.md already exists but has high-impact uncertainty.
  • You see unresolved placeholders (for example [NEEDS CLARIFICATION], TODOs, or conflicting statements).
  • Ambiguity could materially change architecture, data model, testing, UX behavior, operations, or compliance expectations.

When Not to Use

  • No feature spec exists yet (spec-kit-specify first).
  • Work is design decomposition (spec-kit-plan) or task generation (spec-kit-tasks).
  • You only need read-only consistency analysis (spec-kit-analyze).
  • You are reconciling broader cross-artifact drift (spec-kit-reconcile).

Router Fit

  • Primary route from spec-kit after spec-kit-specify and before spec-kit-plan when ambiguity is still blocking.

Key Rules

  • Ask exactly one question at a time.
  • Ask at most 5 accepted questions per run.
  • Every question must materially influence architecture, data model, testing, UX, operations, or compliance.
  • Integrate each accepted answer into spec.md immediately.

Workflow

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;
}
  1. Resolve active spec path:

    • Run scripts/check-prerequisites.sh --paths-only --json.
    • Read FEATURE_SPEC from the JSON payload.
    • If FEATURE_SPEC is missing, stop and direct the user to spec-kit-specify.
  2. Build an internal ambiguity coverage map from spec.md:

    • Use assets/clarification-taxonomy.md as the required category checklist.
    • Score each category as Clear, Partial, or Missing.
    • Create candidate questions only for Partial or Missing categories where clarification changes implementation or validation outcomes.
  3. Prioritize up to 5 candidate questions:

    • Rank by Impact * Uncertainty.
    • Exclude already-answered items, stylistic preferences, and low-impact plan-level details.
    • Ensure each question is answerable by either:
      • multiple choice with 2-5 mutually exclusive options, or
      • short answer constrained to <=5 words.
  4. Run the interactive one-question loop:

    • Follow the workflow chart above for branching and stop conditions.
    • Ask exactly one question at a time.
    • For multiple-choice questions, provide a recommendation and an options table.
    • For short-answer questions, provide a suggested answer and enforce <=5 words.
    • Accept yes, recommended, or suggested as confirmation of the current recommendation.
    • Use disambiguation follow-ups when needed without consuming a new question slot.
  5. Integrate each accepted answer immediately:

    • Ensure ## Clarifications exists.
    • Ensure a session heading exists: ### Session YYYY-MM-DD.
    • Append: - Q: <question> → A: <final answer>.
    • Update the most relevant section(s) inline:
      • functional behavior,
      • user stories/actors,
      • data model,
      • non-functional metrics,
      • edge/error handling,
      • terminology normalization.
    • Replace superseded contradictory statements instead of duplicating.
    • Save FEATURE_SPEC after each accepted answer.
  6. Validate after each write and on final pass:

    • Exactly one clarification bullet per accepted answer.
    • Accepted questions count is <=5.
    • No contradiction remains for resolved decisions.
    • No unresolved vague placeholder remains for resolved items.
    • Only these new headings are introduced: ## Clarifications, ### Session YYYY-MM-DD.
    • Canonical terminology is consistent across modified sections.
  7. Report completion:

    • Questions asked and answered.
    • Updated FEATURE_SPEC path.
    • Sections touched.
    • Coverage summary by category with status:
      • Resolved
      • Deferred
      • Clear
      • Outstanding
    • Next-step recommendation: proceed to spec-kit-plan or run clarify again later.

Behavior Rules

  • If no high-impact ambiguity exists, respond: No critical ambiguities detected worth formal clarification. and suggest proceeding.
  • Never exceed 5 accepted questions (disambiguation retries do not count as new questions).
  • Respect early termination signals: stop, done, proceed.
  • Avoid speculative tech-stack questions unless their absence blocks functional correctness.
  • If quota is reached with unresolved high-impact items, mark them as Deferred with rationale.

Output

  • Updated spec.md with embedded clarification history
  • Summary of asked/answered questions, touched sections, and unresolved/deferred areas

Common Mistakes

  • Low-impact questions. Never ask about cosmetic or stylistic details. Every question must materially affect architecture, data model, testing, UX, operations, or compliance.
  • Asking multiple questions at once. Ask one question at a time. Batching questions overwhelms the user and produces shallow answers.
  • Not updating spec inline. Each accepted answer must be applied to the relevant spec sections immediately. Never defer updates to a later pass.
  • Redundant clarifications. Check existing spec content and prior clarification sessions before asking. Do not re-ask what is already resolved.

References

  • assets/clarification-taxonomy.md
  • references/spec-kit-workflow.dot for overall context of how the clarification fits into the Spec Kit process.
  • scripts/check-prerequisites.sh
  • https://github.com/github/spec-kit/blob/9111699cd27879e3e6301651a03e502ecb6dd65d/templates/commands/clarify.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

good-prose

No summary provided by upstream source.

Repository SourceNeeds Review
General

mermaid

No summary provided by upstream source.

Repository SourceNeeds Review
General

optimize-skills

No summary provided by upstream source.

Repository SourceNeeds Review
General

spec-kit

No summary provided by upstream source.

Repository SourceNeeds Review