spec-driven-development

A feature-planning workflow that records requirements, design, and implementation tasks before coding begins. It is intended for substantial or unclear changes rather than tiny fixes.

In plain words
What is it for?
Use it for new features, changes spanning several files, cross-cutting work such as authentication or data models, and tasks where the acceptance test is not yet clear.
Why use it?
It reduces misunderstandings by making the expected behaviour and technical approach explicit before implementation. Approval gates keep later work aligned with the agreed plan.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/phuonghx/aim-cli/spec-driven-development
Any agent
npx skills add phuonghx/aim-cli --skill spec-driven-development
Clone the repo
git clone --depth 1 https://github.com/phuonghx/aim-cli

Made for: Claude Code, Codex.

Per session 98 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,289 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00098 $0.01289
Opus 5 $0.00049 $0.00645
Sonnet 5 $0.00020 $0.00258
Haiku 4.5 $0.00010 $0.00129

Measured yesterday against content hash abcd98b6a646, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

spec-driven-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

aim/templates/aim-agents/skills/spec-driven-development/SKILL.md · 119 lines

How it starts

The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Spec-Driven Development

Agree on what and how before writing a single line of code.

Inspired by GitHub spec-kit and AWS Kiro: capture intent in three living documents, gate each on approval, and let the spec — not memory — be the source of truth the agent codes against.

When to write a spec (vs. skip it)

Write a spec Skip it
New feature or capability One-line / typo fix
Touches 3+ files or modules Single obvious change
Requirements are fuzzy or contested Behavior is fully clear
Cross-cutting (auth, data model, API) Local refactor with tests already green
You'd struggle to write a test for it You can already name the assertion

Rule of thumb: if you can't state the acceptance test in one sentence, you need a spec.

The three artifacts

Each is one file. Keep them short and current; stale specs are worse than none.

  1. requirements.md — WHAT & WHY. Problem statement, user stories (As a <role>, I want <capability>, so that <benefit>), and numbered requirements R1, R2… Each requirement carries EARS acceptance criteria (see the ears-acceptance-criteria skill). No solution detail here.
  2. design.md — HOW. Architecture, components, data model, and the trade-offs / alternatives considered. Reference requirements by id (R1, R2) so coverage is traceable. Name the risks and open questions.
  3. tasks.md — STEPS. Dependency-ordered, checkable task list derived from the design. Mark independent items [P] (parallel). Every task should map back to a requirement and be independently verifiable.

The left-to-right approval gate

requirements.md ──approve──▶ design.md ──approve──▶ tasks.md ──approve──▶ CODE
      WHAT                       HOW                    STEPS         implement
  • Do not move right until the current artifact is approved. No design before requirements are agreed; no code before design is approved.
  • New information flows left: a discovery while coding updates tasks.md, and if it changes intent, bump design.md / requirements.md and re-confirm.
  • The gate is a checkpoint, not a contract — keep each pass lightweight.

Read the full file on GitHub · 119 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 119 lines · 98 tokens per session scan A abcd98b6a646

Subscribe to this mod's changes

spec-driven-development is a skill published in the GitHub repository phuonghx/aim-cli (1 stars, last pushed 2mo ago), licensed MIT. It adds 98 tokens to every session and 1,289 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

hs-release

Cut a core Hindsight release (vX.Y.Z) and open the changelog + blog PR. Use when asked to cut/start a release, bump the version, or publish a new Hindsight version.

vectorize-io/hindsight · 45 tokens

hindsight-local

Store user preferences, learnings from tasks, and procedure outcomes. Use to remember what works and recall context before new tasks. (user).

vectorize-io/hindsight · 32 tokens

research-repository

Build a repository that makes findings findable, reusable, and cumulative across teams. Use when the same research keeps getting redone. For synthesising one study, use affinity-diagram.

Owl-Listener/designer-skills · 43 tokens

design-negotiation

Advocate for design quality, scope, and timeline with partners and leadership using evidence and shared goals. Use in the conversation itself. For the commercial vocabulary behind it, use business-design (ux-strategy).

Owl-Listener/designer-skills · 48 tokens

user-persona

Build research-grounded personas with goals, frustrations, and behavioural patterns. Use when decisions need a consistent user reference. For one session's emotional snapshot use empathy-map; for motivation framing use jobs-to-be-done.

Owl-Listener/designer-skills · 50 tokens

version-control-strategy

Define version control for design files, components, and libraries — branching, naming, and release. Use when file history is chaotic. For design system contribution rules, use design-system-governance (design-systems).

Owl-Listener/designer-skills · 50 tokens