spec-kit

SKILL.md

Spec Kit Skill Router

Route requests to the smallest set of installed spec-kit-* skills. Treat routes as defaults; if repository constraints require a different sequence, state the deviation and risk.

Invocation Notice

  • Inform the user when this skill is invoked by name: spec-kit.

Trigger Tests

  • Should trigger:
    • "Which spec-kit skill should I run next?"
    • "Route this feature request through Spec Kit."
    • "I have tasks.md; can we implement now?"
  • Should not trigger:
    • "Write a Conventional Commit message."
    • "Debug Python concurrency bugs unrelated to Spec Kit."

Route by Intent

User Intent Route Required artifacts
Create or update governance/principles spec-kit-constitution none
Draft or revise feature requirements spec-kit-specify constitution recommended
Resolve high-impact ambiguity before planning spec-kit-clarify spec.md
Produce technical design artifacts spec-kit-plan spec.md + constitution
Generate dependency-ordered implementation tasks spec-kit-tasks plan.md (+ spec.md)
Audit cross-artifact consistency (read-only) spec-kit-analyze spec.md + plan.md + tasks.md
Reconcile specification drift at any stage spec-kit-reconcile gap report + existing feature artifacts
Generate requirements-quality checklist spec-kit-checklist spec.md
Execute implementation from tasks spec-kit-implement tasks.md

Routing Flowchart

Use this for feature-work sequencing. Gate checks are mandatory.

digraph feature_route {
    rankdir=TB;
    node [fontname="Helvetica", fontsize=10];
    edge [fontname="Helvetica", fontsize=9];

    start [label="Feature request", shape=oval];
    reconcile_gate [label="Need reconcile now\n(drift detected)?", shape=diamond];
    has_const [label="constitution exists?", shape=diamond];
    constitution [label="spec-kit-constitution", shape=box];
    has_spec [label="spec.md exists?", shape=diamond];
    specify [label="spec-kit-specify", shape=box];
    clarify_gate [label="Spec ambiguity blocks planning?", shape=diamond];
    clarify [label="spec-kit-clarify", shape=box];
    plan [label="spec-kit-plan", shape=box];
    tasks [label="spec-kit-tasks", shape=box];
    analyze_gate [label="Run spec-kit-analyze?", shape=diamond];
    analyze [label="spec-kit-analyze", shape=box];
    analyze_blocking [label="Blocking findings?", shape=diamond];
    reconcile [label="spec-kit-reconcile", shape=box];
    has_tasks [label="tasks.md exists?", shape=diamond];
    stop_tasks [label="STOP:\nrun spec-kit-tasks first", shape=octagon, style=filled, fillcolor=red, fontcolor=white];
    implement [label="spec-kit-implement", shape=box];
    post_impl_gaps [label="Post-implementation\ngaps found?", shape=diamond];
    done [label="Feature complete", shape=doublecircle];

    start -> reconcile_gate;
    reconcile_gate -> reconcile [label="yes"];
    reconcile_gate -> has_const [label="no"];
    reconcile -> has_const [label="continue"];
    has_const -> constitution [label="no"];
    has_const -> has_spec [label="yes"];
    constitution -> has_spec;
    has_spec -> specify [label="no"];
    has_spec -> clarify_gate [label="yes"];
    specify -> clarify_gate;
    clarify_gate -> clarify [label="yes"];
    clarify_gate -> plan [label="no"];
    clarify -> plan;
    plan -> tasks;
    tasks -> has_tasks;
    has_tasks -> analyze_gate [label="yes"];
    has_tasks -> stop_tasks [label="no"];
    analyze_gate -> analyze [label="recommended"];
    analyze_gate -> implement [label="skip"];
    analyze -> analyze_blocking;
    analyze_blocking -> reconcile [label="yes"];
    analyze_blocking -> implement [label="no"];
    reconcile -> implement;
    implement -> post_impl_gaps;
    post_impl_gaps -> done [label="no"];
    post_impl_gaps -> reconcile [label="yes"];
}

Sequence Rules

  1. Never run spec-kit-plan without spec.md.
  2. Never run spec-kit-implement without tasks.md.
  3. Run spec-kit-clarify before planning when ambiguity can change architecture, data model, testing, UX, operations, or compliance.
  4. Run spec-kit-reconcile whenever drift is detected at any stage before continuing.

Router Behavior

  1. Classify user intent first, then select one or more child skills from the route table.
  2. Enforce artifact gates before invoking downstream skills.
  3. Prefer the minimal next step; do not run the full pipeline unless requested.
  4. If the requested step violates a gate, route to the missing prerequisite and explain the dependency.
  5. Route developer-reported drift directly to spec-kit-reconcile, even if raised outside analyze/implement.

Shared Resource Ownership (Parent Skill)

  • skills/spec-kit/scripts/* is the source of truth for shared shell helpers.
  • Child skills may symlink these scripts; preserve script names and argument contracts unless all dependent children are updated together.
  • skills/spec-kit/references/spec-kit-workflow.dot is shared by symlink in multiple child skills and must stay router-accurate.

Unsupported in This Repo

  • spec-kit-taskstoissues is not supported.
  • If the user asks for GitHub issue export from tasks.md, state that no spec-kit-* exporter skill is available and continue with manual guidance or available skills.

References

  • references/spec-kit-workflow.dot
  • Upstream baseline: https://github.com/github/spec-kit (snapshot: 9111699cd27879e3e6301651a03e502ecb6dd65d)
Weekly Installs
8
Repository
ahgraber/skills
First Seen
Feb 8, 2026
Installed on
opencode8
gemini-cli7
github-copilot7
codex7
amp6
kimi-cli6