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
- Never run
spec-kit-plan without spec.md.
- Never run
spec-kit-implement without tasks.md.
- Run
spec-kit-clarify before planning when ambiguity can change architecture, data model, testing, UX, operations, or compliance.
- Run
spec-kit-reconcile whenever drift is detected at any stage before continuing.
Router Behavior
- Classify user intent first, then select one or more child skills from the route table.
- Enforce artifact gates before invoking downstream skills.
- Prefer the minimal next step; do not run the full pipeline unless requested.
- If the requested step violates a gate, route to the missing prerequisite and explain the dependency.
- 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)
1---2name: spec-kit-23description: Use when work involves Spec Kit and you need to choose the correct `spec-kit-*` sub-skill, enforce artifact-order gates, or route remediation work (for example sequence violations or specification drift at any stage).4---5
6# Spec Kit Skill Router
7
8Route requests to the smallest set of installed `spec-kit-*` skills.
9Treat routes as defaults; if repository constraints require a different sequence, state the deviation and risk.
10
11## Invocation Notice
12
13- Inform the user when this skill is invoked by name: `spec-kit`.
14
15## Trigger Tests
16
17- Should trigger:
18 - "Which spec-kit skill should I run next?"
19 - "Route this feature request through Spec Kit."
20 - "I have `tasks.md`; can we implement now?"
21- Should not trigger:
22 - "Write a Conventional Commit message."
23 - "Debug Python concurrency bugs unrelated to Spec Kit."
24
25## Route by Intent
26
27| User Intent | Route | Required artifacts |
28| ------------------------------------------------ | ----------------------- | --------------------------------------- |
29| Create or update governance/principles | `spec-kit-constitution` | none |
30| Draft or revise feature requirements | `spec-kit-specify` | constitution recommended |
31| Resolve high-impact ambiguity before planning | `spec-kit-clarify` | `spec.md` |
32| Produce technical design artifacts | `spec-kit-plan` | `spec.md` + constitution |
33| Generate dependency-ordered implementation tasks | `spec-kit-tasks` | `plan.md` (+ `spec.md`) |
34| Audit cross-artifact consistency (read-only) | `spec-kit-analyze` | `spec.md` + `plan.md` + `tasks.md` |
35| Reconcile specification drift at any stage | `spec-kit-reconcile` | gap report + existing feature artifacts |
36| Generate requirements-quality checklist | `spec-kit-checklist` | `spec.md` |
37| Execute implementation from tasks | `spec-kit-implement` | `tasks.md` |
38
39## Routing Flowchart
40
41Use this for feature-work sequencing.
42Gate checks are mandatory.
43
44```dot
45digraph feature_route {
46 rankdir=TB;
47 node [fontname="Helvetica", fontsize=10];
48 edge [fontname="Helvetica", fontsize=9];
49
50 start [label="Feature request", shape=oval];
51 reconcile_gate [label="Need reconcile now\n(drift detected)?", shape=diamond];
52 has_const [label="constitution exists?", shape=diamond];
53 constitution [label="spec-kit-constitution", shape=box];
54 has_spec [label="spec.md exists?", shape=diamond];
55 specify [label="spec-kit-specify", shape=box];
56 clarify_gate [label="Spec ambiguity blocks planning?", shape=diamond];
57 clarify [label="spec-kit-clarify", shape=box];
58 plan [label="spec-kit-plan", shape=box];
59 tasks [label="spec-kit-tasks", shape=box];
60 analyze_gate [label="Run spec-kit-analyze?", shape=diamond];
61 analyze [label="spec-kit-analyze", shape=box];
62 analyze_blocking [label="Blocking findings?", shape=diamond];
63 reconcile [label="spec-kit-reconcile", shape=box];
64 has_tasks [label="tasks.md exists?", shape=diamond];
65 stop_tasks [label="STOP:\nrun spec-kit-tasks first", shape=octagon, style=filled, fillcolor=red, fontcolor=white];
66 implement [label="spec-kit-implement", shape=box];
67 post_impl_gaps [label="Post-implementation\ngaps found?", shape=diamond];
68 done [label="Feature complete", shape=doublecircle];
69
70 start -> reconcile_gate;
71 reconcile_gate -> reconcile [label="yes"];
72 reconcile_gate -> has_const [label="no"];
73 reconcile -> has_const [label="continue"];
74 has_const -> constitution [label="no"];
75 has_const -> has_spec [label="yes"];
76 constitution -> has_spec;
77 has_spec -> specify [label="no"];
78 has_spec -> clarify_gate [label="yes"];
79 specify -> clarify_gate;
80 clarify_gate -> clarify [label="yes"];
81 clarify_gate -> plan [label="no"];
82 clarify -> plan;
83 plan -> tasks;
84 tasks -> has_tasks;
85 has_tasks -> analyze_gate [label="yes"];
86 has_tasks -> stop_tasks [label="no"];
87 analyze_gate -> analyze [label="recommended"];
88 analyze_gate -> implement [label="skip"];
89 analyze -> analyze_blocking;
90 analyze_blocking -> reconcile [label="yes"];
91 analyze_blocking -> implement [label="no"];
92 reconcile -> implement;
93 implement -> post_impl_gaps;
94 post_impl_gaps -> done [label="no"];
95 post_impl_gaps -> reconcile [label="yes"];
96}
97```
98
99## Sequence Rules
100
1011. Never run `spec-kit-plan` without `spec.md`.
1022. Never run `spec-kit-implement` without `tasks.md`.
1033. Run `spec-kit-clarify` before planning when ambiguity can change architecture, data model, testing, UX, operations, or compliance.
1044. Run `spec-kit-reconcile` whenever drift is detected at any stage before continuing.
105
106## Router Behavior
107
1081. Classify user intent first, then select one or more child skills from the route table.
1092. Enforce artifact gates before invoking downstream skills.
1103. Prefer the minimal next step; do not run the full pipeline unless requested.
1114. If the requested step violates a gate, route to the missing prerequisite and explain the dependency.
1125. Route developer-reported drift directly to `spec-kit-reconcile`, even if raised outside analyze/implement.
113
114## Shared Resource Ownership (Parent Skill)
115
116- `skills/spec-kit/scripts/*` is the source of truth for shared shell helpers.
117- Child skills may symlink these scripts; preserve script names and argument contracts unless all dependent children are updated together.
118- `skills/spec-kit/references/spec-kit-workflow.dot` is shared by symlink in multiple child skills and must stay router-accurate.
119
120## Unsupported in This Repo
121
122- `spec-kit-taskstoissues` is not supported.
123- 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.
124
125## References
126
127- `references/spec-kit-workflow.dot`
128- Upstream baseline: `https://github.com/github/spec-kit` (snapshot: `9111699cd27879e3e6301651a03e502ecb6dd65d`)