Learn-skills.dev spec-kit-reconcile
Use when specification drift is discovered at any stage and existing Spec Kit artifacts (`spec.md`, `plan.md`, `tasks.md`) must be reconciled in-place without creating a new feature branch.
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-reconcile" ~/.claude/skills/neversight-learn-skills-dev-spec-kit-reconcile && rm -rf "$T"
manifest:
data/skills-md/ahgraber/skills/spec-kit-reconcile/SKILL.mdsource content
Spec Kit Reconcile
Close specification drift by updating existing Spec Kit artifacts in-place.
When to Use
- You discover specification drift at any stage (specify, clarify, plan, tasks, analyze, or implement) and need artifacts realigned before continuing.
- Code exists, but behavior still misses expected flows (routing/navigation wiring, integration handoff, validation UX, coverage gaps).
found issues that require coordinated edits acrossspec-kit-analyze
,spec.md
, andplan.md
.tasks.md- You need targeted remediation planning without creating a new feature branch.
When Not to Use
- You need a brand-new feature spec (
first).spec-kit-specify - You need first-pass design decomposition from an approved spec (
first).spec-kit-plan - You only need a read-only audit (
).spec-kit-analyze - You are only executing already-correct tasks (
).spec-kit-implement
Router Fit
- First-class standalone remediation route when the developer identifies drift at any stage.
- Also serves as the default remediation handoff from
andspec-kit-analyze
.spec-kit-implement - Produces reconciled artifacts and next-step routing based on the updated artifact state.
Critical Constraints
- Never create a new feature branch and never run feature-creation scripts.
- Keep edits targeted; preserve artifact structure and heading order.
- Prefer append-only updates for
; do not renumber existing tasks.tasks.md - Run at most one clarification round (maximum 5 questions).
- Keep unresolved
markers to 3 or fewer.NEEDS CLARIFICATION
Preconditions
- Run from repository root (or a subdirectory inside it).
- Active feature context resolves to one
directory.specs/<feature>/ - User provides a concrete gap report (symptoms, mismatches, missing wiring, and/or scope hints like
orplan-only
).tasks-only
Workflow
-
Validate reconcile input:
- If no gap report is provided, stop with
.ERROR: No gap report provided - Parse user scope constraints (for example
,spec-only
,plan-only
) and preserve them throughout.tasks-only
- If no gap report is provided, stop with
-
Resolve artifact paths exactly once:
- Run
exactly once.scripts/check-prerequisites.sh --json --paths-only --include-tasks - Parse:
REPO_ROOTBRANCHFEATURE_DIRFEATURE_SPECIMPL_PLANTASKS
- Validate required files:
- If
is missing, route toFEATURE_SPEC
.spec-kit-specify - If
is missing, route toIMPL_PLAN
.spec-kit-plan
- If
- Run
-
Load reconcile context:
- Required:
,spec.md
.plan.md - Optional (when present):
,tasks.md
,data-model.md
,contracts/
,research.md
.quickstart.md - Load
and enforce its MUST-level constraints.memory/constitution.md - If
is missing, stop and route tomemory/constitution.md
.spec-kit-constitution
- Required:
-
Normalize the gap report into actionable items:
- For each gap, capture:
TitleCategoryEvidenceDesired OutcomeSeverity (HIGH|MEDIUM|LOW)
- Preferred categories:
Navigation/WiringIntegration/ContractsValidation & UXAuthorization/PermissionsTest CoverageNon-FunctionalDocs
- For each gap, capture:
-
Clarify once when needed:
- Ask questions only when answers change scope, UX behavior, acceptance criteria, or remediation cost.
- Ask at most 5 total questions in one round, then proceed.
- If an
-style tool exists in the current runtime, prefer it for this step to collect all multiple-choice answers in one fast interaction.askQuestions - When using
, provide 2-5 mutually exclusive options per question, put the recommended option first, and allow a short custom response path.askQuestions - If no
tool exists, fall back to the markdown prompt format below.askQuestions - Use this format for each question:
## Question [N]: [Topic] **Context**: [Relevant spec/plan/tasks excerpt or summary] **Decision Needed**: [Single-sentence decision] **Suggested Answers**: | Option | Answer | Implications | |--------|--------|--------------| | A | [Option A] | [Impact] | | B | [Option B] | [Impact] | | C | [Option C] | [Impact] | | Custom | Provide your own | [How it changes scope] | **Your choice**: _[Wait for user response]_
-
Map impact per artifact:
: user stories, acceptance criteria, user-visible scenarios, edge behaviors.spec.md
: architecture/modules, routing/navigation, integration contracts, testing strategy.plan.md
: remediation work with exact file paths and ordering.tasks.md- Respect scope constraints and explicitly mark skipped artifacts.
-
Apply targeted edits:
:spec.md- Update only impacted sections.
- Add a concise
note (timestamp + reason).Revisions
:plan.md- Update only sections needed for reconciliation.
- Keep design-level detail; do not add implementation patch instructions.
:tasks.md- If it exists, append remediation tasks using
.NextID = max(T###) + 1 - Preserve existing phases; add
phase when cross-cutting tasks are needed.Remediation: Gaps - If it does not exist, create a minimal remediation-focused
from:tasks.md{REPO_ROOT}/templates/tasks-template.md{REPO_ROOT}/.specify/templates/tasks-template.md- fallback:
{REPO_ROOT}/skills/spec-kit-tasks/assets/tasks-template.md
- If it exists, append remediation tasks using
- For wiring/flow gaps, always include integration test tasks.
-
Validate outputs:
- No branch changes or feature-creation actions occurred.
- Updated artifacts remain structurally valid and internally consistent.
- Task formatting stays strict:
.- [ ] T### [P?] [US#?] Action with exact file path
-
Report reconciliation result:
- Provide a Sync Impact Report with:
- changed files (absolute paths)
- summary of edits by artifact
- new task IDs
- skipped artifacts due to scope constraints
- outstanding
markers (maximum 3)NEEDS CLARIFICATION - confirmation that constitution constraints were respected
- Recommend next step based on gates (
,spec-kit-plan
, orspec-kit-tasks
).spec-kit-implement
- Provide a Sync Impact Report with:
Output
- Updated reconciliation artifacts (
,spec.md
, and/orplan.md
) in the active feature directory.tasks.md - New remediation tasks ready for execution.
- Sync Impact Report for traceability.
Key Rules
- Keep reconciliation incremental and focused on stated gaps.
- Prefer appending over rewriting existing artifacts.
- Never reorder existing task IDs.
- Do not silently expand feature scope beyond the gap report and answered clarifications.
Common Mistakes
- Running reconcile without a concrete gap report.
- Rewriting whole artifacts instead of targeted updates.
- Creating a new feature branch for remediation work.
- Adding vague remediation tasks without exact file paths or acceptance intent.
- Ignoring constitution MUST constraints while patching artifacts.
References
scripts/check-prerequisites.shreferences/spec-kit-workflow.dothttps://github.com/github/spec-kit/issues/1063https://github.com/user-attachments/files/23166782/reconcile.md