ai-sdlc-kit
Spec-driven SDLC skills that make AI coding agents work like real engineers.
What is it?
ai-sdlc-kit installs a set of skills for Claude Code, Cursor, Windsurf, and Gemini CLI that take an agent through a real engineering workflow instead of one-shot code generation:
understand → decide → plan in verifiable steps → build with checks after every step → gate → ship
| Skill | Does |
|---|---|
sdlc-init |
One-time setup: project facts + the code-craft rulebook (.sdlc/CRAFT.md) |
roadmap |
Splits a PRD into ordered, shippable features |
spec |
Plans one feature: decisions, tasks with contracts + verify commands |
build |
Executes the spec task-by-task, verifying after every step |
qa |
Re-runs verifies + acceptance checks; failures become fix-tasks |
ship |
Branch guard, staged commit built from the spec — never pushes |
automate |
Hands-free spec → build → qa for one feature; decisions auto-picked and logged |
architecture-diagram |
Renders a self-contained HTML/SVG architecture diagram |
Install
pip install ai-sdlc-kit
# or: uv tool install ai-sdlc-kit
Use
ai-sdlc install --agent claude # or cursor / windsurf / gemini / all
This copies the skills into your agent's skills directory. They then appear as slash commands: /sdlc-init, /roadmap, /spec, /build, /qa, /ship, /automate.
| Flag | Effect |
|---|---|
--agent all |
install for every supported agent at once |
--target PATH |
install into a specific project directory (default: .) |
--global |
install into your home directory instead of a project |
--force |
overwrite existing skill folders |
ai-sdlc list # see bundled skills
ai-sdlc --version # print the installed version
Monorepo, or no Python project at the root? Not a problem —
ai-sdlc installonly copies skill files into.claude/skills/(or your agent's folder); it never readspyproject.tomlor anything else at the target. Install the CLI once withpipx install ai-sdlc-kitoruv tool install ai-sdlc-kitso it works from any directory, then run it at your repo root — or run it from anywhere with--target /path/to/root.
Getting started
Every project starts with /sdlc-init — run it once, in your agent, inside your project folder. It writes .sdlc/PROJECT.md (project facts + commands), .sdlc/CRAFT.md (the code rulebook: pinned stack versions with modern-idiom rules, folder structure, coding style, config & security rules — every build follows it), and .sdlc/STATE.md (feature tracker). It works two ways:
- New project —
/sdlc-init <path-to-your-PRD-or-description>. It reads the doc and asks a few multiple-choice questions to fill any gaps (framework, DB, test runner, etc.). - Existing codebase —
/sdlc-initwith no argument. It detects your stack and rules from lockfiles, manifests, and a handful of source files instead of asking you to describe it.
Either way you choose how the rules are set — provide your own, answer questions, or let the agent propose best practices — and it always shows you the stack and rules for approval before writing anything.
From there, pick the path that matches what you're doing:
| Situation | Commands |
|---|---|
| Building a whole project from a PRD | /sdlc-init <PRD> → /roadmap <PRD> → then /spec <feature> → /build <feature> → /qa <feature> → /ship <feature> for each feature in order |
| Adding one feature to an existing codebase | /sdlc-init (skip if already run) → /spec <feature description> → /build <feature> → /qa <feature> → /ship <feature> |
| Something else — bugfix, refactor, exploration | Skills are for planned feature work; for anything smaller just talk to your agent directly |
/roadmap only makes sense for a whole project — it turns a PRD into an ordered feature list. For a single feature, skip straight to /spec.
The /build → /qa → /build loop is self-healing: QA never edits code, it appends fix-tasks to the spec, and /build executes them like any other task. /ship commits once QA passes — it never pushes.
Three workflow controls on top of that:
- Skip a stage —
/sdlc-init --skip-ship(or--skip-qa) drops a stage from the flow; toggle any time mid-project with--unskip-<stage>. Handoffs and/automatebypass skipped stages; invoking one directly still runs it. - Hands-free mode —
/automate <feature>runs spec → build → qa back-to-back with zero questions: every design choice takes the recommended production-standard option and is recorded in the spec marked(auto), so you can audit each one afterwards. It stops only for real blockers (a verify failing after 3 attempts, an unfixable regression). Add--shipto include the commit stage. - Bug memory —
/qakeeps.sdlc/BUGS.md, a plain-English log anyone can read: what went wrong, why it happened, how to avoid it./specand/buildread it on every run so the same bug never ships twice.
Changelog
-
0.1.5—/automatehands-free flow, stage skipping (--skip-qa/--skip-ship), plain-English bug log (.sdlc/BUGS.md) that feeds future specs, and specs now open with a mental-model section (what / why / how) presented in chat -
0.1.4— code-craft rulebook:.sdlc/CRAFT.mdpins stack versions + modern idioms, enforces folder structure (one concern per file), env-based config with.env.example, and a security baseline across/spec,/build,/qa -
0.1.3— added a Getting started section: how to actually invoke the skills for a new project, an existing codebase, or a single feature -
0.1.2— automated PyPI releases via GitHub Actions trusted publishing -
0.1.1— cleaner README, professional package presentation -
0.1.0— initial release: 6 core skills + architecture-diagram, pip-installable CLI
Related prior art: github/spec-kit.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_sdlc_kit-0.1.5.tar.gz.
File metadata
- Download URL: ai_sdlc_kit-0.1.5.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3e325f97ad1903eb2ca0256e49dc599fadd6d8b7ac69a55641f119ff7339cfc
|
|
| MD5 |
b1f08c7a00a9ce71708b3664050b1a5a
|
|
| BLAKE2b-256 |
20b61faa83594562f9ac5ff68c21baa91d87c7c5cad5ba6509f964061ce47962
|
Provenance
The following attestation bundles were made for ai_sdlc_kit-0.1.5.tar.gz:
Publisher:
publish.yml on xajeel/AI-SDLC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_sdlc_kit-0.1.5.tar.gz -
Subject digest:
b3e325f97ad1903eb2ca0256e49dc599fadd6d8b7ac69a55641f119ff7339cfc - Sigstore transparency entry: 2198250457
- Sigstore integration time:
-
Permalink:
xajeel/AI-SDLC@3d4c0784942ea33e441a5378bc80f1e900ead0a0 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/xajeel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3d4c0784942ea33e441a5378bc80f1e900ead0a0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ai_sdlc_kit-0.1.5-py3-none-any.whl.
File metadata
- Download URL: ai_sdlc_kit-0.1.5-py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
211ceafcec034bbf62d1830d35f40c423b165e92db0f19d110ef862e5cf37691
|
|
| MD5 |
5e957b85ef9e662022b8e189962d2738
|
|
| BLAKE2b-256 |
10d86338ab3bc33c91df5329dc5f38413d5fe7a4825c98f91499ebf27622adc0
|
Provenance
The following attestation bundles were made for ai_sdlc_kit-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on xajeel/AI-SDLC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_sdlc_kit-0.1.5-py3-none-any.whl -
Subject digest:
211ceafcec034bbf62d1830d35f40c423b165e92db0f19d110ef862e5cf37691 - Sigstore transparency entry: 2198250562
- Sigstore integration time:
-
Permalink:
xajeel/AI-SDLC@3d4c0784942ea33e441a5378bc80f1e900ead0a0 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/xajeel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3d4c0784942ea33e441a5378bc80f1e900ead0a0 -
Trigger Event:
release
-
Statement type: