sdlc-kit GitHub

sdlc-kit

Anthropic’s AI-native SDLC playbook, as plain files + shell.

Six stages, one artifact each, human approval gates where they count. Your agent reads the files, runs the gates, and stops when a gate is closed. No runtime, no hooks, no lock-in.

Get started GitHub repository

pi·Claude Code·Codex CLI·Gemini CLI·Cursor
any of them can read files and run shell commands.

Six stages. One artifact each. Human gates where they count.

Every stage reads its skill file, produces one artifact, and stops at the gate. You approve intent, spec, and the release. A routine plan is approved by an adversary review; risky plans escalate to you. Stage 6 turns an incident into the next intent.

  1. Intent intent.md

    The agent explores first, then grills you until the intent is exact and evidenced.

  2. human gate · approve intent
  3. Spec spec.md

    Generated from the intent, adversarially reviewed before it reaches you.

  4. human gate · approve spec
  5. Plan plan.md

    Read-only: which files change, in what order, with what proof it worked.

  6. tiered gate · human on risk
  7. Build code + tests

    The build follows the plan, with verification at each step.

  8. checks green · no gate
  9. Ship evidence.md

    Adversarial review plus evidence; you approve the release by reading what was flagged.

  10. incident triggers · no gate
  11. Maintain intent.md + lesson

    An incident becomes a diagnosed intent and a recorded lesson, not a vague complaint.

  12. writes the next intent.md

A production issue in stage 6 writes a new intent.md. People triage and review the work; they no longer start it.

What the gates do

The kit adds only the files, scripts, and gates needed to control the next step.

Grilled intents
Stage 1 explores before it asks, then labels every claim in intent.md [verified] with evidence or [assumed] with a reason. Users can be mistaken; this is the cheapest stage to find out.
Approvals on the record
approve.sh writes a plain record — stage, artifact, time, mode — kept on disk in .sdlc/approvals/; check-gate.sh prints GATE CLOSED until it exists.
Delegation stays visible
At human gates, an agent may run the approval only on your explicit words in chat; the record then carries mode: delegated-chat. A plan approved by adversary review carries mode: agent-adversary. Either way, the keystrokes were never silent.
Fresh-context review
A verifier, adversary, and researcher run in fresh contexts. None authored the work, and they report findings without changing files.
AS-IS → TO-BE specs
Specs pair what actually happens today (file:line evidence) with what happens after the change. The delta between the columns is the change.
Memory that stays bounded
Record mistakes in the ≤50-line INDEX.md. Promote lessons into skills when doing so can prevent the same mistake.
Plain speech, by rule
Rule 8: every message to a human starts with context, keeps to short active sentences, and ends with the one decision you owe.
Every run gets an ending
close.sh records shipped, abandoned, dead-end, or handed-off, then archives the feature and its approvals to .sdlc/archive/. Failed work requires a lesson; handoffs require the external ticket or PR.

Three commands, then hand it your harness

No installer, no daemon. The kit directory stays framework-only; your project gets a .sdlc/ whose intent, plan, and memory version with your code.

  1. git clone https://github.com/cskwork/sdlc-kit ~/sdlc-kit

    Once per machine. That’s the whole install. On Windows, run this and every later kit command in Git Bash or WSL.

  2. cd /path/to/project ~/sdlc-kit/init.sh

    Seeds .sdlc/ (work, approvals, memory, config) and adds the approval and evidence paths to your .gitignore. Then fill in your real build, test, and lint commands in .sdlc/config.md.

  3. tell your harness: “read ~/sdlc-kit/AGENTS.md and follow it”

    One pointer line in your project’s agent file does it. Pick your harness below.

Point your harness at the routing contract
HarnessHow
piln -s ~/sdlc-kit/AGENTS.md .sdlc/SDLC.md, then tell pi to run the SDLC in that file, or add a pointer line to your project AGENTS.md
Claude CodeAdd to project CLAUDE.md: For SDLC work, read ~/sdlc-kit/AGENTS.md and follow it.
Codex CLISame one-liner in project AGENTS.md
Gemini CLISame one-liner in GEMINI.md
Anything elsePaste AGENTS.md into the session; the contract is files + scripts, not harness features

Honest limit: a record, not a lock

Approval records are plain markers. They do not detect later edits and do not prevent a process from forging records. They are gitignored, so the audit trail is the .sdlc/approvals/ files on disk plus the agent rules, not git history. A fresh clone carries none of them; re-cloning mid-feature means approving again.