ADD (AI-Driven Development) — install the ADD skill, tooling, and AIDD book into any project
Project description
ADD — AI-Driven Development
A minimal, state-tracked Claude Code skill for building software when the AI writes the code and you own the two things it cannot do alone: decide what to build, and verify it is correct.
ADD is the orchestration engine of the AIDD method. It sits on top of a
context foundation (DDD → SDD → UDD) and runs as a red/green TDD ↔ AI-build loop.
The full reasoning — why every rule exists — is the AIDD book bundled in
docs/. Read it once; keep it open beside you.
Foundation (context): DDD · SDD · UDD
Engine (this skill): TDD ⇄ ADD
Flow per feature: Specify → Scenarios → Contract → Tests → Build → Verify → Observe ↻
Why ADD (and why it is minimal)
Heavy doc-first methods burn your time writing documents and lose the thread across sessions (context rot). ADD fixes both:
- One file per feature. Spec, scenarios, contract, test-plan, and gate record
all live inline in a single
TASK.md. No sprawling doc tree. - State on disk, not in chat. A Python tool tracks where you are in
.add/state.json, so a fresh session resumes with one command instead of re-reading the repo. - Progressive disclosure. The skill loads only the guide for the phase you are in — the context window stays lean.
Install
Pick your ecosystem — both install the same skill, tooling, and book:
# Node / npm
npx @pilotspace/add init --name "My App" --stage prototype
# Python / pip
pip install pilotspace-add
pilotspace-add init --name "My App" --stage prototype
New here? Follow the 10-minute Quickstart — it walks your first feature end to end.
This installs:
| Path | What |
|---|---|
.claude/skills/add/ |
the add skill Claude loads (thin router + per-phase guides) |
.add/tooling/add.py |
scaffolder + state tracker (Python, stdlib only) |
.add/docs/ |
the AIDD book — the trust layer |
.add/state.json |
where the project is |
.add/CONVENTIONS.md, GLOSSARY.md, MODEL_REGISTRY.md, dependencies.allowlist |
survivor-layer files |
Use it
ADD is AI-first: you talk to the agent; it drives the method. In Claude Code, run
/add and say what you want to build:
/add— "I want to let users transfer money between their own accounts."
The agent orients from state.json, sizes your request into a milestone (you
confirm the shape), then drafts each feature's one-approval front — Spec +
Scenarios + Contract + Tests as one bundle — and you give one approval at the
frozen contract. A self-driving build→verify run takes it to green; security
findings always stop back to you.
Under the hood the agent runs the CLI as its hands — and you can hand-drive it too:
python3 .add/tooling/add.py status # where am I? (resume point)
The non-negotiables
- Direction before speed — no Build until spec, scenarios, contract, and red tests exist.
- Trust evidence, not inspection — a feature is trusted because its tests pass and the blind spots (concurrency, security, architecture) were checked.
- Never weaken a test or edit a frozen contract to make the build pass.
- No silent skips — every Verify records
PASS,RISK-ACCEPTED, orHARD-STOP. Security findings are alwaysHARD-STOP. - Ask, don't guess.
The artifacts survive; the code is disposable
The durable asset is the decisions — spec, scenarios, contract, tests. The code is one implementation that satisfies them and can be regenerated. If the thing you'd be upset to lose is "the code," you're still working the old way.
Read the method
Start at docs/README.md — Foundations → the six steps →
operating it across a team → templates, prompts, and a full worked example.
Develop
npm test # runs the Python tests for the tooling (red/green)
License: MIT.
Project details
Release history Release notifications | RSS feed
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 pilotspace_add-1.0.0.tar.gz.
File metadata
- Download URL: pilotspace_add-1.0.0.tar.gz
- Upload date:
- Size: 944.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d9e4f70849357f566fcd8755a73c58385236c8546be26b895142f02c4dbf6cf
|
|
| MD5 |
840ae2195b7c3205a9658cb4f47677d7
|
|
| BLAKE2b-256 |
23decf9a641bea7c3c6715d256fddb3ab70d73e88bf17075a1fdc4d9565a8135
|
Provenance
The following attestation bundles were made for pilotspace_add-1.0.0.tar.gz:
Publisher:
publish.yml on pilotspace/ADD
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pilotspace_add-1.0.0.tar.gz -
Subject digest:
8d9e4f70849357f566fcd8755a73c58385236c8546be26b895142f02c4dbf6cf - Sigstore transparency entry: 1707156950
- Sigstore integration time:
-
Permalink:
pilotspace/ADD@a24ba9c40067bc95a68c3940c0b94c4e27bf9d09 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/pilotspace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a24ba9c40067bc95a68c3940c0b94c4e27bf9d09 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pilotspace_add-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pilotspace_add-1.0.0-py3-none-any.whl
- Upload date:
- Size: 960.9 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 |
2f374baa1f5e2462472139b94a44d04dd01fc1a202dfdc4109c6031e8d9abbbc
|
|
| MD5 |
f4c28f7b143e96413ff45a20b5152ad7
|
|
| BLAKE2b-256 |
2e050e3853037b9bacc7ddea1e95a5397d8cf82c5bffae28a9cbd89fce5957e8
|
Provenance
The following attestation bundles were made for pilotspace_add-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on pilotspace/ADD
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pilotspace_add-1.0.0-py3-none-any.whl -
Subject digest:
2f374baa1f5e2462472139b94a44d04dd01fc1a202dfdc4109c6031e8d9abbbc - Sigstore transparency entry: 1707156977
- Sigstore integration time:
-
Permalink:
pilotspace/ADD@a24ba9c40067bc95a68c3940c0b94c4e27bf9d09 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/pilotspace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a24ba9c40067bc95a68c3940c0b94c4e27bf9d09 -
Trigger Event:
push
-
Statement type: