spec-driven
Spec-Driven Development
A lightweight entrypoint for a collaborative human-agent methodology where requirements, decisions, and work are documented in a specs/ folder that serves as the project's single source of truth.
Read this skill first. Then load deeper references only when the current task needs them.
Skill Dependencies
This skill is part of a set of five skills designed to work together:
| Skill | Purpose |
|---|---|
| spec-driven (this skill) | Core rules and high-level document map |
| specs-setup | Initialize specs/ for a new project |
| specs-tickets | Create and execute tickets through their lifecycle |
| specs-review | Audit specs health, consistency, and drift |
| specs-finish-ticket | Review implemented tickets before marking them complete |
If any of these skills are missing from the project, instruct the user to install them before proceeding:
npx skills add b12consulting/skills --skill <missing_skill>
Core Rules
- Specs are the ground truth. When code and specs disagree, the specs win. Either update the code or create an ADR to change the specs.
- Major decisions are explicit. Scope, architecture, and trade-off changes require human confirmation and, when appropriate, an ADR.
- Work stays traceable. Tickets should explain not just WHAT changed, but WHY, including durable findings discovered during implementation and review.
- Document progressively. Create and update documents as the work evolves. Do not wait until the end to capture material assumptions, frictions, or follow-up candidates.
- Surface drift immediately. If implementation or review reveals disagreement between code and specs, call it out and resolve it instead of silently diverging.
Truth Hierarchy
When documents conflict, the higher-level document takes precedence:
Vision.md > PRD.md > Architecture/ > Ticket Spec.md > Ticket Plan.md
If documents conflict, resolve it by either:
- creating an ADR and updating the higher-level document
- creating a ticket to fix the lower-level document or code
Minimal Document Map
- Project-level docs define the stable ground truth:
README.md,Vision.md,PRD.md,Architecture/,Glossary.md,Changelog.md, anddecisions/. Vision.mdcarries the long-lived purpose and direction: vision, problem statement, target audience, success metrics, and milestones.- Ticket-level docs capture the lifecycle of a work item:
Spec.md,Plan.md, and optional supporting files such asResearch.md,Decisions.md, andFindings.md. Spec.mdis the ticket anchor. It carries ticket metadata, summary, user stories, acceptance criteria, and scope.Plan.mdis required. It carries the implementation strategy, risks, and execution checklist.Findings.mdis curated. Use it for durable implementation discoveries such as assumptions, frictions, workarounds, follow-up candidates, and residual risks. Every finding needs a disposition.
Drift Detection
At the start of every conversation on a project with specs/:
- Read
specs/README.md, thenVision.md,PRD.md, andArchitecture/README.md. - If the work touches entities, payloads, signals, public structs, APIs, or persisted read models, also read the relevant architecture sub-documents such as
Architecture/data-model.mdand any other topic-specific architecture docs that define long-lived boundaries. - If the current code or task contradicts these documents, alert the user immediately.
- Resolution options:
- create an ADR to update the specs if the code is right and the specs are outdated
- create a ticket to fix the code if the specs are right and the code has drifted
Read More Only When Needed
- references/methodology.md — detailed document rules, lifecycle guidance, ADR policy, drift handling, and Findings guidance
- references/templates.md — document templates
Use a concise and to the point writing style
Be respectful of the fact that the human needs to read, understand and approve the spec files.
Don't add unnecessary detail or verbosity.
Which Skill Next?
- Setting up specs — load
specs-setup, then read the methodology reference and templates as needed. - Creating or resuming a ticket — load
specs-tickets, then read the methodology reference and templates as needed. - Auditing the overall health of specs — load
specs-review, then read the methodology reference as needed. - Closing an implemented ticket — load
specs-finish-ticket, then read the methodology reference as needed.
This skill intentionally stays lightweight. Use the methodology reference when you need operational detail.
More from b12consulting/skills
yuma-design
Yuma brand design reference covering color palette, logos and typography guidance. Use this skill when creating or reviewing Yuma-branded visual assets to stay aligned with the design system.
15pptx
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
12specs-setup
Initialize the spec-driven project methodology. Use when: no specs/ folder exists; critical files like PRD.md, Vision.md, or Architecture/ are missing; setting up a new project for structured requirements and ticket management. Triggers on: 'setup specs', 'initialize specs', 'create PRD', 'start project methodology', 'missing specs', 'init specs', 'no specs folder'.
10specs-review
Review the health of a spec-driven project. Use when: checking if specs are up to date; detecting drift between code and specs; finding stale or incomplete tickets; auditing consistency across Vision, PRD, Architecture, and tickets. Triggers on: 'specs review', 'spec health', 'check specs', 'audit specs', 'are specs up to date', 'drift check', 'stale tickets', 'spec consistency'.
10specs-tickets
Create new spec-driven tickets and resume existing ones through the full lifecycle: research, specification, planning, and implementation. Use when: the user describes new work to be done; continuing a previously started ticket; a feature, bug fix, or task needs planning and implementation; starting or resuming planned work on a project with specs/. Triggers on: 'new ticket', 'new feature', 'fix bug', 'implement', 'create ticket', 'I want to build', 'let us work on', 'add feature', 'continue ticket', 'resume work', 'pick up where we left off', 'work on ticket', 'existing ticket', 'check ticket status', 'what is the state of ticket'.
10code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
5