Learn-skills.dev spec-kit
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).
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/ahgraber/skills/spec-kit" ~/.claude/skills/neversight-learn-skills-dev-spec-kit && rm -rf "$T"
manifest:
data/skills-md/ahgraber/skills/spec-kit/SKILL.mdsource content
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
; can we implement now?"tasks.md
- 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 | | none |
| Draft or revise feature requirements | | constitution recommended |
| Resolve high-impact ambiguity before planning | | |
| Produce technical design artifacts | | + constitution |
| Generate dependency-ordered implementation tasks | | (+ ) |
| Audit cross-artifact consistency (read-only) | | + + |
| Reconcile specification drift at any stage | | gap report + existing feature artifacts |
| Generate requirements-quality checklist | | |
| Execute implementation from tasks | | |
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
withoutspec-kit-plan
.spec.md - Never run
withoutspec-kit-implement
.tasks.md - Run
before planning when ambiguity can change architecture, data model, testing, UX, operations, or compliance.spec-kit-clarify - Run
whenever drift is detected at any stage before continuing.spec-kit-reconcile
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
, even if raised outside analyze/implement.spec-kit-reconcile
Shared Resource Ownership (Parent Skill)
is the source of truth for shared shell helpers.skills/spec-kit/scripts/*- Child skills may symlink these scripts; preserve script names and argument contracts unless all dependent children are updated together.
is shared by symlink in multiple child skills and must stay router-accurate.skills/spec-kit/references/spec-kit-workflow.dot
Unsupported in This Repo
is not supported.spec-kit-taskstoissues- If the user asks for GitHub issue export from
, state that notasks.md
exporter skill is available and continue with manual guidance or available skills.spec-kit-*
References
references/spec-kit-workflow.dot- Upstream baseline:
(snapshot:https://github.com/github/spec-kit
)9111699cd27879e3e6301651a03e502ecb6dd65d