Agent skill

Spec-Driven Development v2

by LichAmnesia in LichAmnesia/lich-skills

Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules.

MITAuto-check passedAgent Workflows

Install Spec-Driven Development v2

skills CLI
$ npx skills add LichAmnesia/lich-skills --skill spec-driven-dev-v2 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LichAmnesia/lich-skills spec-driven-dev-v2 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LichAmnesia/lich-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/spec-driven-dev-v2 .claude/skills/spec-driven-dev-v2 && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spec-driven-dev-v2
GitHub stars
234
Token cost
~3.1k tokens
SKILL.md length
1,348 words
Files
13 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules.

  • Works in 5 steps: PROJECT (one-time per project) → SPRINT (one-time per sprint) → BUILD — per task, in isolation → …
  • Planning a multi-day build split across several vertical slices
  • SKILL.md covers When to use v2 over v1, The Hierarchy, Roles and Phase 0: PROJECT (one-time per…, plus 10 more sections
  • Runs Shell scripts from its folder; calls git

What it does

Meant for agents that run for hours or days under an orchestrator such as /loop, this version keeps all state on disk so a cold session can resume. Work splits into a project with an RFC and plan, sprints that each end in a shippable checkpoint, and tasks, with STATE.json files an orchestrator can read to advance one step. Planner, builder, reviewer and orchestrator are separate roles, and the reviewer must be a fresh subagent that never sees the builder's conversation.

Every task runs in its own worktree so it can be reverted alone. Reviews loop through feedback and modification until clean, using a context pack that briefs the reviewing subagent. scripts/task-lint.sh checks sizing, acceptance and rollback, scripts/governance-check.sh enforces boundary rules in lint rather than prose, and rules that come out of reviews are collected in an artifact registry. It recommends this version for jobs over about 4 hours or more than 8 tasks, and the simpler v1 for single-session features.

When your agent uses it

  • Planning a multi-day build split across several vertical slices
  • Running an agent under /loop or another orchestrator that reads task state
  • Setting up isolated worktree tasks with a reviewer subagent for each
  • Keeping layering and dependency-direction rules enforced mechanically

Example prompts

  • “Plan the billing rewrite as a project with sprints and tasks, each with its own STATE.json.”
  • “Draft the RFC, PLAN and first sprint for the new analytics module, with no code yet.”
  • “Resume the project from STATE.json and tell me which task is next.”

Requirements

  • Git worktrees for isolated task checkouts
  • A shell that can run scripts/task-lint.sh and scripts/governance-check.sh

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. PROJECT (one-time per project)
  2. SPRINT (one-time per sprint)
  3. BUILD — per task, in isolation
  4. REVIEW — the round loop
  5. SHIP — per sprint

What it can do on your machine

Read from SKILL.md and the folder at commit ebbc355. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spec-Driven Development v2 loads about 3.1k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 1,348 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from LichAmnesia/lich-skills at commit ebbc355, republished under its MIT licence (© LichAmnesia). 1,348 words, ~3,111 tokens.

Download SKILL.mdSave it as .claude/skills/spec-driven-dev-v2/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
spec-driven-dev-v2
description
Use when an agent will work for hours or days across many files and multiple vertical slices. Drives a three-level Project → Sprint → Task hierarchy with isolated per-task execution, a review round-loop, context packs for subagent reviewers, governance-as-code, and orchestrator-readable state. Designed for long-running drivers like /loop, autoresearch:ship, and goal-driven.

Spec-Driven Development v2

v1 assumed one agent shipping one feature in one session. v2 assumes an orchestrator (or a human) driving the agent across many sessions — possibly for days — and keeps work correct the entire time.

v2 adds:

  1. Three-layer hierarchy — Project → Sprint → Task
  2. Per-task state — JSON files an orchestrator can read to resume cold
  3. Review round-loop — review → feedback → modify → re-review until clean
  4. Worktree isolation — every task runs in a clean checkout, revertable alone
  5. Context pack — the briefing a reasoning-blind subagent reviewer needs
  6. Mechanical task gate — sizing/acceptance/rollback checks enforced by script
  7. Governance-as-code — boundary rules live in lint/CI, not markdown
  8. Artifact registry — new rules captured from reviews graduate to lint

When to use v2 over v1

Use v2 if any of:

  • Expected agent time > 4 hours
  • More than ~8 tasks, or more than one vertical slice
  • A subagent (/critic, Agent subagent_type=critic, etc.) reviews each task
  • An orchestrator (/loop, autoresearch:ship, goal-driven) drives iteration
  • Architectural boundaries (layering, dependency direction) must hold mechanically

For one-session features, use spec-driven-dev (v1) — v2 is overhead for them.

The Hierarchy

context/
  dev/
    projects-001-<slug>/                # one project = one RFC
      RFC.md                            # the contract: what & why
      PLAN.md                           # sprint list + dependency graph
      STATE.json                        # {current_sprint, status}
      sprints-001-<slug>/               # one sprint = one checkpoint
        SPRINT.md                       # goal, scope, exit criteria
        TASKS.md                        # task status tracker
        REVIEWS.md                      # review round log
        STATE.json                      # {current_task, current_round, next_action}
        tasks/
          TK-001-<slug>.md              # one task = one worktree
          TK-002-<slug>.md
        reviews/
          RV-001-round1.md              # round 1 for TK-001
          RV-001-round2.md              # after modify, round 2
          RV-001-round3.md              # …until verdict=approve
      sprints-002-<slug>/
        …
  artifact-registry/
    rules/
      RULE-001-<slug>.md                # captured pattern → lint rule
scripts/
  governance-check.sh                   # boundary + state validator
  task-lint.sh                          # mechanical task gate

All state is on disk. No in-memory plan. This is the contract with the orchestrator: it can read STATE.json, pick up where the last session left off, and advance one step.

Roles

  • Planner — writes RFC, PLAN, SPRINT, TASK specs. No code.
  • Builder — implements one task in an isolated worktree.
  • Reviewer (subagent) — reasoning-blind. Sees only the Context Pack.
  • Orchestrator — reads STATE.json, dispatches the next role.

Planner and Builder may be the same model. Reviewer must be a fresh subagent with no access to Builder's conversation — that is what makes review work.

Phase 0: PROJECT (one-time per project)

Goal. Produce the RFC and sprint plan. No code.

  1. Draft RFC.md from templates/project/RFC.md — restate request, list assumptions, define measurable success, set Always/Ask/Never boundaries.
  2. Draft PLAN.md from templates/project/PLAN.md — decompose into sprints. Each sprint must have a shippable checkpoint (even if behind a flag).
  3. Initialize STATE.json with current_sprint: "sprints-001-<slug>".
  4. Human approves RFC and PLAN before any sprint opens.

Exit criteria.

  • RFC.md committed and approved
  • PLAN.md committed with ≥ 2 sprints (or 1 if scope is truly small)
  • No sprint is XL (> ~10 tasks); split if it is
  • STATE.json present and valid

Phase 1: SPRINT (one-time per sprint)

Goal. Expand one sprint into atomic, independently-reviewable tasks.

  1. Write SPRINT.md from templates/sprint/SPRINT.md — goal, scope, exit criteria, what's deferred.
  2. Write one tasks/TK-NNN-<slug>.md per task, from templates/task/TASK.md.
  3. Write TASKS.md from templates/sprint/TASKS.md — flat status table.
  4. Run scripts/task-lint.sh <sprint-dir> — every task must pass:
    • Has acceptance criteria as a bullet list
    • Has an executable verify command
    • Files list ≤ 5 (else size must be L with justification; XL forbidden)
    • Has a rollback: line
    • Title contains no "and"
  5. Initialize sprint STATE.json with current_task: "TK-001", current_round: 0.
  6. Human approves the sprint.

Exit criteria.

  • SPRINT.md + all TK files + TASKS.md committed
  • task-lint.sh exits 0
  • No XL tasks
  • STATE.json valid

Phase 2: BUILD — per task, in isolation

Every task runs in a fresh git worktree (or branch on a clean tree). This is non-negotiable — it is what makes review and rollback possible.

Steps.

  1. Orchestrator reads sprint STATE.json, picks current_task.
  2. Create worktree: git worktree add ../wt-TK-NNN -b tk-NNN-<slug>.
  3. Builder reads only the task file + files it lists. No sprint-wide browsing.
  4. Implement. Commit in thin slices. Every commit leaves tree green.
  5. Run the task's verify: command. If red, fix. Do not claim done on red.
  6. Update TASKS.md: status built, link commit range.
  7. Update STATE.json: next_action: "review", current_round: 1.

Scope discipline. Touch only files listed in the task. If you need a file that isn't listed, stop, update the task spec, get re-approval. "While I'm here" refactors are a phase violation.

Exit criteria (per task).

  • All commits on tk-NNN-<slug> branch, tree green
  • Verify command exits 0
  • No files changed outside task's declared set
  • TASKS.md + STATE.json updated

Phase 3: REVIEW — the round loop

Review is a state machine, not a one-shot.

  built ──▶ round1 ──┬──▶ approve ──▶ merged
                     │
                     └──▶ request_changes ──▶ modify ──▶ roundN+1

A task may not advance to merged until a review with verdict: approve exists. Every round creates its own reviews/RV-NNN-roundN.md.

Each round:

  1. Builder (or orchestrator) constructs a Context Pack — see templates/review/REVIEW.md "Context Pack" section. This is the brief the reviewer subagent will see. It includes:
    • Task file (TK-NNN) and relevant RFC/SPRINT anchors
    • git diff <base>..HEAD scoped to declared files
    • git log --oneline on the branch
    • Verify command output (actual stdout, not "passed")
    • Prior rounds' unresolved findings (round N-1 marked [unresolved])
    • Relevant lint/governance script output
  2. Spawn a reasoning-blind reviewer subagent (e.g. Agent subagent_type=critic) with the Context Pack as its only input.
  3. Reviewer writes RV-NNN-roundN.md using the 5-axis template. Verdict is one of: approve / approve_with_nits / request_changes / reject.
  4. Append a one-line entry to REVIEWS.md.
  5. If approve or approve_with_nits: mark task merged in TASKS.md, merge branch, advance STATE.json.
  6. Otherwise: Builder addresses every Critical: and (required) finding in new commits on the same branch. Set current_round += 1. Go to 1.

Round budget. If current_round > 5, escalate to human — the task is either mis-specified or too large. Do not grind past round 5 silently.

Context Pack is the skill. A reasoning-blind reviewer with bad context rubber-stamps. The only leverage you have is the pack.

Show full SKILL.md (492 more words)Show less

Phase 4: SHIP — per sprint

After every task in the sprint is merged:

  1. Run sprint-level verify (integration suite, not just per-task tests).
  2. Run scripts/governance-check.sh — must exit 0 (boundary rules, unresolved findings, orphan branches, stale STATE).
  3. Update sprint STATE.json to status: closed.
  4. Advance project STATE.json to current_sprint: sprints-NNN+1.
  5. If this is the last sprint, follow spec-driven-dev v1 SHIP phase for rollout, feature flags, monitoring, and rollback.

Governance — gap #6 made real

Boundary rules (e.g. "L2 may call L1 and L0, L0 must not call L2") must be enforced by script, not prose. The skill ships two runners:

  • scripts/task-lint.sh — validates task-file frontmatter, sizing, verify command presence. Run at sprint open and in CI.
  • scripts/governance-check.sh — project-wide invariants: every merged task has an approved review, every sprint STATE is consistent, every artifact-registry/rules/RULE-*.md that is marked enforcement: lint has a matching lint rule file.

Add project-specific checks as the project grows. New rule discovered in review? It goes through the artifact-registry.

Artifact Registry — gap #7

When a reviewer finds a pattern that should apply to all future tasks (not just this one), capture it:

  1. Write context/artifact-registry/rules/RULE-NNN-<slug>.md from templates/artifact-registry/RULE.md.
  2. Decide enforcement:
    • doc — humans follow it (weakest)
    • review_checklist — added to templates/review/REVIEW.md
    • lint — automated rule (eslint, custom script, ast-grep, etc.)
  3. If lint, also land the lint rule in the same commit as the RULE file.
  4. governance-check.sh verifies that every enforcement: lint rule has a concrete implementation pointer.

Rules that stay at doc for more than 2 sprints should graduate or be deleted. Dormant rules rot.

Orchestrator contract — gap #8

Any STATE.json file is the single source of truth for "what's next". An orchestrator's turn looks like:

1. Read project STATE.json → current_sprint
2. Read sprint STATE.json → current_task, current_round, next_action
3. Dispatch:
   - next_action=build  → spawn Builder in worktree for current_task
   - next_action=review → construct Context Pack, spawn Reviewer
   - next_action=modify → Builder addresses unresolved findings
   - next_action=merge  → merge branch, advance STATE
   - next_action=close_sprint → run governance-check, advance project STATE
4. Exit. Next loop iteration re-reads STATE.

STATE.json schemas are in templates/project/STATE.json and templates/sprint/STATE.json. Keep them small. Do not put history in them — history lives in TASKS.md and REVIEWS.md.

Red flags

  • Any task with no verify command, or verify that just echoes "ok"
  • Builder touching files outside the task's declared file list
  • A review file that references round1 only — real tasks take 2–4 rounds
  • current_round > 5 with no human in the loop
  • RULE.md with enforcement: lint but no lint rule in the repo
  • Two sprints open at once
  • Merged task with no approved review file
  • STATE.json last-modified older than the most recent commit on the branch

Any of these → governance-check.sh should fail. If it doesn't, add the check.

Templates

  • templates/project/RFC.md — project contract
  • templates/project/PLAN.md — sprint decomposition
  • templates/project/STATE.json — project-level orchestrator state
  • templates/sprint/SPRINT.md — sprint goal + exit criteria
  • templates/sprint/TASKS.md — task status table
  • templates/sprint/REVIEWS.md — round log
  • templates/sprint/STATE.json — sprint-level orchestrator state
  • templates/task/TASK.md — one task spec
  • templates/review/REVIEW.md — 5-axis review with Context Pack
  • templates/artifact-registry/RULE.md — captured rule
  • scripts/task-lint.sh — mechanical task gate
  • scripts/governance-check.sh — project-wide invariant checker

Relation to v1

v1's five-axis review, rationalization tables, and scope discipline are unchanged and assumed. v2 wraps them in structure that survives multi-day, multi-session execution. If a v2 project collapses back to one session with one sprint and one task, it should read like v1 with extra files — that is acceptable; the overhead is the insurance.

© LichAmnesia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts) in skills/spec-driven-dev-v2 of LichAmnesia/lich-skills.

  • SKILL.md
  • scripts/governance-check.sh
  • scripts/task-lint.sh
  • templates/artifact-registry/RULE.md
  • templates/project/PLAN.md
  • templates/project/RFC.md
  • templates/project/STATE.json
  • templates/review/REVIEW.md
  • templates/sprint/REVIEWS.md
  • templates/sprint/SPRINT.md
  • templates/sprint/STATE.json
  • templates/sprint/TASKS.md
  • templates/task/TASK.md

Open the folder on GitHubat commit ebbc355

Compare with similar skills

Spec-Driven Development v2 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spec-Driven Development v2 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spec-Driven Development v2 this skillLichAmnesia/lich-skills234—~3.1kAutomated safety check: PassMIT
MoAI Foundation Coremodu-ai/moai-adk1.2k—~5kAutomated safety check: PassApache-2.0
Agent-Foreman Feature Runmylukin/agent-foreman250—~1.6kAutomated safety check: NotesNone
Rebuild Branchplatformplatform/PlatformPlatform440—~2.1kAutomated safety check: NotesMIT
Vspawnvlinx-io/VelaTerm259—~2.5kAutomated safety check: PassMIT
Loop FactoryJuliusBrussee/skills161—~2kAutomated safety check: PassMIT

Similar skills

  • MoAI Foundation Core

    modu-ai/moai-adk

    Reference for MoAI-ADK's core development principles: TRUST 5 quality gates, SPEC-first domain-driven workflow, agent delegation and token budgeting.

    1.2k GitHub stars~5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent-Foreman Feature Run

    mylukin/agent-foreman

    Runs the agent-foreman task loop for one task by ID or unattended across every pending task, following next, implement, check, done for each one.

    250 GitHub stars~1.6k tokensUpdated 8 mo ago
    Agent WorkflowsAuto-check: notes
  • Rebuild Branch

    platformplatform/PlatformPlatform

    Rebuild a stale branch by cherry-picking each commit onto a fresh branch off main, using a ralph-loop to validate each commit (build, test, format, lint, optional e2e) before moving on.

    440 GitHub stars~2.1k tokensUpdated 13 days ago
    Agent WorkflowsAuto-check: notes
  • Vspawn

    vlinx-io/VelaTerm

    Explicitly spawn a standalone child session under the current vlx-term session, passing the task in as its first message (mirrors spawntask).

    259 GitHub stars~2.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Loop Factory

    JuliusBrussee/skills

    Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count…

    161 GitHub stars~2k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • Saga

    warpdotdev/common-skills

    Run an autonomous, spec-driven development "saga" for medium-to-large features using an orchestrator agent and a fleet of worker subagents.

    606 GitHub stars~4.1k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed

More from LichAmnesia/lich-skills

All 11 skills in this repo
  • Google Analytics 4 Analysis

    LichAmnesia/lich-skills

    Pulls Google Analytics 4 data through the Data API with TypeScript scripts and turns it into a daily SEO report or prioritized traffic and bounce-rate recommendations.

    234 GitHub stars~2k tokensUpdated 3 mo ago
    Auto-check: notes
  • Nano Banana Image Generator

    LichAmnesia/lich-skills

    Generates or edits PNG images with Google's Nano Banana 2 model through a small script, with a choice of 512, 1K, 2K or 4K output.

    234 GitHub stars~1.1k tokensUpdated 3 mo ago
    Auto-check: notes
  • Tavily Web Search

    LichAmnesia/lich-skills

    Runs headless web searches and single-page extraction through the Tavily API from a Python script, returning cited, summarized results without a browser.

    234 GitHub stars~1k tokensUpdated 3 mo ago
    Auto-check: notes
  • Build Until Pass Loop

    LichAmnesia/lich-skills

    Drives a failing build, typecheck, lint or test command to a passing exit code through small, one-fix-at-a-time rounds, stopping at a hard attempt cap instead of looping forever.

    234 GitHub stars~2.8k tokensUpdated 3 mo ago
    Auto-check passed
  • Hypothesis-Driven Debugging

    LichAmnesia/lich-skills

    Replaces trial-and-error fixing with an observe, hypothesize, experiment and conclude loop kept in DEBUG.md, where no fix is allowed before evidence supports a cause.

    234 GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • Spec-Driven Development

    LichAmnesia/lich-skills

    Runs a gated Spec, Plan, Build, Test, Review, Ship workflow so non-trivial changes are specified, verified and reviewed before they ship, with a named artifact per phase.

    234 GitHub stars~3.5k tokensUpdated 3 mo ago
    Auto-check passed

Questions about Spec-Driven Development v2

What does Spec-Driven Development v2 do?

Organizes long-running agent work into a Project, Sprint and Task hierarchy with per-task state files, isolated worktrees, review loops and script-checked rules. Meant for agents that run for hours or days under an orchestrator such as /loop, this version keeps all state on disk so a cold session can resume.json files an orchestrator can read to advance one step.

When should I use Spec-Driven Development v2?

Spec-Driven Development v2 fits situations like: planning a multi-day build split across several vertical slices; running an agent under /loop or another orchestrator that reads task state; setting up isolated worktree tasks with a reviewer subagent for each; keeping layering and dependency-direction rules enforced mechanically.

How do I install Spec-Driven Development v2 in Claude Code?

Run `npx skills add LichAmnesia/lich-skills --skill spec-driven-dev-v2 -a claude-code`. Or copy the skill folder (skills/spec-driven-dev-v2 in LichAmnesia/lich-skills) into .claude/skills/spec-driven-dev-v2 in your project. Claude Code loads it when a task matches its description.

How do I install Spec-Driven Development v2 in Codex?

Run `npx skills add LichAmnesia/lich-skills --skill spec-driven-dev-v2 -a codex`. Or copy the skill folder (skills/spec-driven-dev-v2 in LichAmnesia/lich-skills) into .agents/skills/spec-driven-dev-v2 in your project. Codex loads it when a task matches its description.

Can I use Spec-Driven Development v2 in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LichAmnesia/lich-skills --skill spec-driven-dev-v2 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spec-driven-dev-v2, .gemini/skills/spec-driven-dev-v2, .github/skills/spec-driven-dev-v2 and .opencode/skills/spec-driven-dev-v2 in your project.

What does Spec-Driven Development v2 need to run?

Going by SKILL.md and its folder, Spec-Driven Development v2 needs a shell for the scripts in its folder and the command-line tools its instructions call (git). Our summary lists: Git worktrees for isolated task checkouts; A shell that can run scripts/task-lint.sh and scripts/governance-check.sh.

Does Spec-Driven Development v2 access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Spec-Driven Development v2 safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Spec-Driven Development v2 use?

Spec-Driven Development v2 is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spec-Driven Development v2 use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spec-Driven Development v2?

Skills that share tags, products or a category with Spec-Driven Development v2: MoAI Foundation Core (modu-ai/moai-adk, 1.2k stars), Agent-Foreman Feature Run (mylukin/agent-foreman, 250 stars), Rebuild Branch (platformplatform/PlatformPlatform, 440 stars) and Vspawn (vlinx-io/VelaTerm, 259 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spec-Driven Development v2?

LichAmnesia (a GitHub user) maintains it in LichAmnesia/lich-skills, which has 234 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on June 9, 2026.

Source: LichAmnesia/lich-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.