@pilotspace/add 1.16.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/GETTING-STARTED.md +20 -64
- package/README.md +128 -56
- package/agents/add.md +68 -0
- package/bin/cli.js +229 -29
- package/package.json +2 -3
- package/personas-teacher/VENDOR.md +6 -0
- package/skill/add/SKILL.md +100 -134
- package/skill/add/adopt.md +28 -0
- package/skill/add/beyond.md +36 -0
- package/skill/add/deltas.md +25 -2
- package/skill/add/design.md +56 -74
- package/skill/add/{report-template.md → gate-udd.md} +28 -37
- package/skill/add/intake.md +65 -29
- package/skill/add/loop.md +35 -23
- package/skill/add/phases/build.md +78 -0
- package/skill/add/phases/direction.md +280 -0
- package/skill/add/phases/verify.md +160 -0
- package/skill/add/run.md +13 -30
- package/skill/add/terms.md +18 -0
- package/tooling/add.py +2520 -2933
- package/tooling/add_engine/autonomy.py +2 -37
- package/tooling/add_engine/components.py +4 -87
- package/tooling/add_engine/constants.py +153 -87
- package/tooling/add_engine/guidelines.py +9 -11
- package/tooling/add_engine/io_state.py +82 -2
- package/tooling/add_engine/predicates.py +90 -2
- package/tooling/add_engine/search.py +6 -6
- package/tooling/add_engine/taskdoc.py +15 -10
- package/tooling/templates/CONVENTIONS.md.tmpl +1 -1
- package/tooling/templates/GLOSSARY.md.tmpl +10 -4
- package/tooling/templates/MILESTONE.md.tmpl +20 -16
- package/tooling/templates/PLAN.md.tmpl +128 -0
- package/tooling/templates/PROJECT.md.tmpl +6 -1
- package/tooling/templates/PROMPT.persona.md.tmpl +17 -21
- package/tooling/templates/personas/_template.md.tmpl +35 -29
- package/tooling/templates/personas/build-engineer.md.tmpl +45 -0
- package/tooling/templates/personas/data-steward.md.tmpl +45 -0
- package/tooling/templates/personas/evidence-verifier.md.tmpl +45 -0
- package/tooling/templates/personas/platform-engineer.md.tmpl +45 -0
- package/tooling/templates/personas/product-lead.md.tmpl +51 -0
- package/tooling/templates/personas/quality-auditor.md.tmpl +47 -0
- package/tooling/templates/personas/release-manager.md.tmpl +52 -0
- package/tooling/templates/personas/security-gatekeeper.md.tmpl +45 -0
- package/tooling/templates/personas/software-architect.md.tmpl +45 -0
- package/tooling/templates/personas/stream-orchestrator.md.tmpl +44 -0
- package/tooling/templates/personas/technical-writer.md.tmpl +49 -0
- package/tooling/templates/personas/ux-experience-lead.md.tmpl +48 -0
- package/tooling/templates/specs/SPEC.md.tmpl +18 -0
- package/tooling/templates/udd-wireframe.md +1 -1
- package/agents/add-advisor.md +0 -31
- package/agents/add-build.md +0 -29
- package/agents/add-design.md +0 -32
- package/agents/add-persona.md +0 -31
- package/agents/add-verify.md +0 -34
- package/docs/00-introduction.md +0 -46
- package/docs/01-principles.md +0 -71
- package/docs/02-the-flow.md +0 -113
- package/docs/03-step-1-specify.md +0 -123
- package/docs/04-step-2-scenarios.md +0 -90
- package/docs/05-step-3-contract.md +0 -80
- package/docs/06-step-4-tests.md +0 -85
- package/docs/07-step-5-build.md +0 -82
- package/docs/08-step-6-verify.md +0 -105
- package/docs/09-the-loop.md +0 -75
- package/docs/10-setup-and-stages.md +0 -118
- package/docs/11-governance.md +0 -91
- package/docs/12-roles.md +0 -99
- package/docs/13-adoption.md +0 -67
- package/docs/14-foundation.md +0 -142
- package/docs/15-foundations-and-lineage.md +0 -106
- package/docs/16-releasing.md +0 -182
- package/docs/17-components.md +0 -143
- package/docs/18-personas.md +0 -80
- package/docs/README.md +0 -77
- package/docs/add-competencies.png +0 -0
- package/docs/add-flow.png +0 -0
- package/docs/add-foundation.png +0 -0
- package/docs/add-hierarchy.png +0 -0
- package/docs/add-milestone-task-lifecycle.png +0 -0
- package/docs/add-task-growth-wheel.png +0 -0
- package/docs/appendix-a-templates.md +0 -88
- package/docs/appendix-b-prompts.md +0 -154
- package/docs/appendix-c-glossary.md +0 -176
- package/docs/appendix-d-worked-example.md +0 -231
- package/docs/appendix-e-checklists.md +0 -92
- package/docs/appendix-f-requirements-matrix.md +0 -171
- package/docs/appendix-g-references.md +0 -106
- package/skill/add/advisor.md +0 -80
- package/skill/add/compact-foundation.md +0 -40
- package/skill/add/components.md +0 -52
- package/skill/add/confidence.md +0 -32
- package/skill/add/fold.md +0 -63
- package/skill/add/graduate.md +0 -39
- package/skill/add/phases/0-ground.md +0 -64
- package/skill/add/phases/0-setup.md +0 -103
- package/skill/add/phases/1-specify.md +0 -61
- package/skill/add/phases/2-scenarios.md +0 -48
- package/skill/add/phases/3-contract.md +0 -60
- package/skill/add/phases/4-tests.md +0 -59
- package/skill/add/phases/5-build.md +0 -62
- package/skill/add/phases/6-verify.md +0 -69
- package/skill/add/phases/7-observe.md +0 -47
- package/skill/add/phases/fast-lane.md +0 -31
- package/skill/add/release.md +0 -61
- package/skill/add/scope.md +0 -72
- package/skill/add/sensitivity.md +0 -51
- package/skill/add/setup-review.md +0 -48
- package/skill/add/soul.md +0 -58
- package/skill/add/streams.md +0 -268
- package/tooling/add_engine/release.py +0 -86
- package/tooling/templates/TASK.fast.md.tmpl +0 -77
- package/tooling/templates/TASK.md.tmpl +0 -216
package/README.md
CHANGED
|
@@ -2,27 +2,34 @@
|
|
|
2
2
|
<a href="https://www.npmjs.com/package/@pilotspace/add"><img alt="npm version" src="https://img.shields.io/npm/v/@pilotspace/add.svg"></a>
|
|
3
3
|
<a href="https://pypi.org/project/pilotspace-add/"><img alt="PyPI version" src="https://img.shields.io/pypi/v/pilotspace-add.svg"></a>
|
|
4
4
|
<a href="https://github.com/pilotspace/ADD/blob/main/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
|
|
5
|
+
<a href="https://pilotspace.github.io/ADD/"><img alt="Read the book" src="https://img.shields.io/badge/docs-read%20the%20book-blue.svg"></a>
|
|
5
6
|
<a href="https://github.com/pilotspace/ADD/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/pilotspace/ADD.svg"></a>
|
|
6
7
|
</p>
|
|
7
8
|
|
|
8
9
|
# ADD — AI-Driven Development
|
|
9
10
|
|
|
10
|
-
**
|
|
11
|
+
**Your AI's first milestone is always great. ADD is for every milestone after that.**
|
|
11
12
|
|
|
12
13
|
> A minimal, state-tracked skill for building software when the AI writes the code
|
|
13
14
|
> and **you** own the two things it cannot do alone: decide *what* to build, and
|
|
14
15
|
> *verify* it is correct. Native on Claude Code; every other CLI coding agent
|
|
15
16
|
> follows the same loop through the phase guides.
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
**The agent is the hands. ADD is the memory, judgment, and conscience — the part
|
|
19
|
+
of the team that survives when the context window doesn't.** Memory: the board,
|
|
20
|
+
frozen contracts, and living specs on disk (`add.py status` resumes any session
|
|
21
|
+
losslessly). Judgment: personas propose each task's lane and the loop learns from
|
|
22
|
+
the traced outcomes (`add.py deltas`). Conscience: evidence-scored gates, the
|
|
23
|
+
tamper tripwire, the security hard-stop. It sits on top of a context foundation
|
|
24
|
+
(DDD → SDD → UDD) and runs as a red/green TDD ↔ AI-build loop.
|
|
25
|
+
The full reasoning — *why* every rule exists — is [the AIDD book, published
|
|
26
|
+
online](https://pilotspace.github.io/ADD/). Read it once; keep it open beside you.
|
|
21
27
|
|
|
22
28
|
```
|
|
23
29
|
Foundation (context): DDD · SDD · UDD
|
|
24
30
|
Engine (this skill): TDD ⇄ ADD
|
|
25
|
-
Flow per
|
|
31
|
+
Flow per task: Direction (spec · scenarios · contract · red tests → ONE freeze)
|
|
32
|
+
→ Build (red → green) → Verify (evidence-scored gate) ↻
|
|
26
33
|
```
|
|
27
34
|
|
|
28
35
|
## Quick Start
|
|
@@ -41,29 +48,66 @@ Then, in your coding agent, say what you want to build:
|
|
|
41
48
|
|
|
42
49
|
> `/add` — *"Let users log in with email + password / SSO, and keep them signed in for 30 days unless they explicitly log out."*
|
|
43
50
|
|
|
44
|
-
The agent sizes it into a milestone (you confirm the shape), drafts the
|
|
45
|
-
scenarios → contract → tests as one
|
|
46
|
-
contract), then builds and verifies to
|
|
47
|
-
**Use it**, and the
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
The agent sizes it into a milestone (you confirm the shape), drafts the
|
|
52
|
+
specification bundle — spec → scenarios → contract → red tests as one Direction
|
|
53
|
+
pass (you approve once, at the frozen contract), then builds and verifies to
|
|
54
|
+
green. Full detail below — **Install**, **Use it**, and the
|
|
55
|
+
[10-minute Quickstart](./GETTING-STARTED.md).
|
|
56
|
+
|
|
57
|
+
## Highlights
|
|
58
|
+
|
|
59
|
+
- 📉 **Anti-context-rot by design** — every decision lives on disk (`PLAN.md`, frozen contracts, red suites, `.add/state.json`), so a fresh session resumes losslessly; measured flat 1.0 quality across evolving milestones while conversation-carried flows decayed.
|
|
60
|
+
- ✅ **Approve once, then let it run** — one human sign-off at the frozen contract; the agent drives Direction → Build → Verify.
|
|
61
|
+
- 🔬 **Proof, not promises** — verified against observed behavior and pre-declared expectations, never just a plausible-looking diff; weakening a test to reach green is treated as tampering.
|
|
62
|
+
- 💸 **Lean by measurement** — a thin 31-verb state kernel, a 3-call task walk, one file per feature; $2.20 per trusted milestone vs spec-kit's $3.90 in the latest head-to-head.
|
|
63
|
+
- 🔒 **Security never gets waved through** — any security finding is a hard stop, human in the loop.
|
|
64
|
+
- 🧠 **Personas route the work** — a project-owned persona proposes each task's lane, the freeze ratifies it, outcomes are traced, and the loop reflects on the record (GEPA) so the method adapts to your codebase.
|
|
65
|
+
- 🎨 **See it before you build it** — a wireframe and a zero-dependency HTML mock, approved before any code.
|
|
66
|
+
- 👥 **Built for teams** — git-native multi-user, N parallel milestones, DAG-scheduled waves.
|
|
67
|
+
- 🧩 **One slice, many components** — monorepo or multi-repo, in one team.
|
|
68
|
+
- 🤝 **Works with your AI** — Claude, Copilot, Cursor, Codex, Gemini; install via npm, pip, or the Claude Code plugin.
|
|
69
|
+
|
|
70
|
+
> _Direction before speed. Trust comes from passing tests — not from reading code and finding it plausible._
|
|
71
|
+
|
|
72
|
+
## Why ADD — the pain point is context rot, and we measured it
|
|
73
|
+
|
|
74
|
+
Every AI coding tool can write code fast now, and every flow we benchmark aces a
|
|
75
|
+
greenfield first milestone. The unsolved part is **trust across change**: when the
|
|
76
|
+
spec evolves in milestone 2 and breaks compatibility in milestone 3, does the work
|
|
77
|
+
you already trusted *stay* trusted?
|
|
78
|
+
|
|
79
|
+
Our benchmark runs the same six-milestone evolving project through each flow under
|
|
80
|
+
a pinned model with deterministic probe scoring
|
|
81
|
+
([report, revised edition](https://github.com/pilotspace/ADD/blob/main/benchmark/results/2026-07-add-2.0-remeasure.md)).
|
|
82
|
+
The causal finding: when ONE continued conversation carried the milestones, every
|
|
83
|
+
flow decayed the same way (coverage .92 → .75, with an early list-shape spec
|
|
84
|
+
violation carried through five further milestones, never re-examined). When every
|
|
85
|
+
milestone instead started a **fresh session resuming from disk**, ADD held every
|
|
86
|
+
floor at 1.0 across all six milestones — through a breaking shape change and a
|
|
87
|
+
cross-cutting refactor — with zero regressions, at ~$2.90 per milestone (a 3–5×
|
|
88
|
+
cut vs ADD 1.x's $4.65–13.94 per trusted feature). Honesty note, from the same
|
|
89
|
+
report: on this friendly workload a strong model under spec-kit also passed the
|
|
90
|
+
restart-mode floors (and ran cheaper) — we published the retraction of our own
|
|
91
|
+
earlier collapse claim when we found the meter defect behind it. What ADD uniquely
|
|
92
|
+
adds is the *guarantees*: contracts that can't be silently edited, tests that
|
|
93
|
+
can't be quietly weakened, security findings that can't scroll past.
|
|
94
|
+
|
|
95
|
+
That's the design, in three moves:
|
|
53
96
|
|
|
54
97
|
- **One file per feature.** Spec, scenarios, contract, test-plan, and gate record
|
|
55
|
-
all live inline in a single `
|
|
56
|
-
- **State on disk, not in chat.** A Python
|
|
98
|
+
all live inline in a single `PLAN.md`. No sprawling doc tree.
|
|
99
|
+
- **State on disk, not in chat.** A stdlib-Python kernel tracks where you are in
|
|
57
100
|
`.add/state.json`, so a fresh session resumes with one command instead of
|
|
58
|
-
re-reading the repo.
|
|
59
|
-
- **Progressive disclosure.** The skill
|
|
60
|
-
|
|
101
|
+
re-reading the repo — and instead of trusting a long conversation's memory.
|
|
102
|
+
- **Progressive disclosure.** The skill narrates the whole loop itself and loads a
|
|
103
|
+
deeper phase reference only when the beat needs it — the context window stays
|
|
104
|
+
lean.
|
|
61
105
|
|
|
62
106
|
## Where ADD fits vs. skill libraries (e.g. agency-agents)
|
|
63
107
|
|
|
64
|
-
ADD is
|
|
65
|
-
|
|
66
|
-
personas. Skill libraries like [agency-agents](https://github.com/msitarzewski/agency-agents), or
|
|
108
|
+
ADD is the **trust layer** — the gated loop (Direction → Build → Verify)
|
|
109
|
+
that decides when work is trusted, and the on-disk memory it runs on. It is not a
|
|
110
|
+
catalog of ready-made expert personas. Skill libraries like [agency-agents](https://github.com/msitarzewski/agency-agents), or
|
|
67
111
|
role-specific subagents (a backend expert, a security reviewer, a senior Java engineer), sit at a
|
|
68
112
|
different layer: they answer **who does the work** — a domain stance, vocabulary, and craft rules
|
|
69
113
|
for one kind of task. ADD answers **how you trust what gets built**, no matter who or what wrote it.
|
|
@@ -75,23 +119,26 @@ never a runtime dependency — down to the three parts a project actually needs:
|
|
|
75
119
|
stance), **Critical Rules** (the non-negotiables), and **Success Metrics** (the done-bar). The
|
|
76
120
|
project then owns that persona outright.
|
|
77
121
|
|
|
78
|
-
A distilled persona is applied as an **advisory overlay** during
|
|
122
|
+
A distilled persona is applied as an **advisory overlay** during direction, build, or verify — it
|
|
79
123
|
shapes *how* a step gets done, never whether it happens: it can't skip a gate, edit a frozen
|
|
80
|
-
contract, or wave through a security finding.
|
|
81
|
-
|
|
124
|
+
contract, or wave through a security finding. In 2.0 personas also carry **task-kinds** and
|
|
125
|
+
propose each task's route (full walk · fast lane · inline); the freeze ratifies the route, the
|
|
126
|
+
gate traces the outcome, and `add.py deltas` rolls the traces into a per-lane scoreboard the
|
|
127
|
+
loop reflects on (GEPA). That gated loop is what ADD contributes underneath any persona,
|
|
128
|
+
distilled or not.
|
|
82
129
|
|
|
83
130
|
## Best setup: ADD alongside other agent libraries
|
|
84
131
|
|
|
85
132
|
1. **Install ADD** (below) — it drives the loop: which phase you're in, what needs your approval,
|
|
86
133
|
whether something is proven.
|
|
87
|
-
2. **Keep whatever subagent libraries you already use.** ADD
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
3. **Prefer
|
|
93
|
-
independent adversarial refute-read,
|
|
94
|
-
Reach for another specialist when a piece needs deep domain expertise
|
|
134
|
+
2. **Keep whatever subagent libraries you already use.** ADD ships ONE `add` agent in the same
|
|
135
|
+
`.claude/agents/` mechanism as any other Claude Code subagent — the spawn names the mode
|
|
136
|
+
(direction · build · verify · advise · persona) and the agent loads that beat's guide plus the
|
|
137
|
+
best-fit persona. It coexists with a distilled persona, an agency-agents-derived specialist,
|
|
138
|
+
or a built-in expert with zero conflict; nothing is replaced.
|
|
139
|
+
3. **Prefer the `add` agent for anything phase-shaped** — spawn it in verify mode for the
|
|
140
|
+
independent adversarial refute-read, in build mode for a red→green batch — before an ad-hoc
|
|
141
|
+
spawn. Reach for another specialist when a piece needs deep domain expertise the phase guide
|
|
95
142
|
doesn't carry (a Java-specific review, a payments-domain lens).
|
|
96
143
|
4. **The gates hold no matter who did the work.** A delegated subagent proposes; the orchestrating
|
|
97
144
|
agent records. A security finding is always a `HARD-STOP`, and a low self-reported confidence
|
|
@@ -99,7 +146,7 @@ any persona, distilled or not.
|
|
|
99
146
|
|
|
100
147
|
## Install
|
|
101
148
|
|
|
102
|
-
Pick your ecosystem — all three install the same skill
|
|
149
|
+
Pick your ecosystem — all three install the same skill and tooling:
|
|
103
150
|
|
|
104
151
|
```bash
|
|
105
152
|
# Node / npm
|
|
@@ -118,8 +165,8 @@ pilotspace-add init
|
|
|
118
165
|
/plugin install add@add-method
|
|
119
166
|
```
|
|
120
167
|
|
|
121
|
-
The plugin carries the engine
|
|
122
|
-
|
|
168
|
+
The plugin carries the engine. On first `/add`, the skill materializes it into the
|
|
169
|
+
project (`node "${CLAUDE_PLUGIN_ROOT}/bin/cli.js" init --no-skill`) and scaffolds
|
|
123
170
|
`.add/` — a self-contained, portable result identical to the npm/pip flow. The skill stays
|
|
124
171
|
in the plugin, so nothing is duplicated.
|
|
125
172
|
|
|
@@ -128,9 +175,12 @@ defaults to `prototype` (pass `--name "My App" --stage mvp` to choose up front).
|
|
|
128
175
|
|
|
129
176
|
**Already installed?** Refresh to the latest without a re-install —
|
|
130
177
|
`npx @pilotspace/add@latest update` (or `pipx run pilotspace-add update`)
|
|
131
|
-
re-materializes the skill
|
|
178
|
+
re-materializes the skill and tooling while leaving your project work
|
|
132
179
|
(`.add/state.json`, `PROJECT.md`, milestones, tasks) untouched; add `--check` to
|
|
133
|
-
see whether a project is behind the installed package.
|
|
180
|
+
see whether a project is behind the installed package. Coming from 1.x? One
|
|
181
|
+
command — `python3 .add/tooling/add.py migrate` — converts the whole board
|
|
182
|
+
(task docs to `PLAN.md`, living 5-DD specs seeded); it's idempotent and refuses
|
|
183
|
+
to guess on conflicts.
|
|
134
184
|
|
|
135
185
|
**New here?** Follow the [10-minute Quickstart](./GETTING-STARTED.md) — it walks
|
|
136
186
|
your first feature end to end.
|
|
@@ -139,11 +189,15 @@ This installs:
|
|
|
139
189
|
|
|
140
190
|
| Path | What |
|
|
141
191
|
|------|------|
|
|
142
|
-
| `.claude/skills/add/` | the `add` skill Claude loads
|
|
143
|
-
| `.add/tooling/add.py` | scaffolder +
|
|
144
|
-
| `.add/
|
|
192
|
+
| `.claude/skills/add/` | the `add` skill Claude loads — the loop itself, plus three on-demand phase references |
|
|
193
|
+
| `.add/tooling/add.py` | the state kernel — scaffolder + tracker, 31 verbs (Python, stdlib only) |
|
|
194
|
+
| `.add/personas-teacher/` | the vendored teacher corpus personas are distilled from (off-build reading, never runtime) |
|
|
145
195
|
| `.add/DESIGN.md` | (UI projects) the prose front-door to the **render-ready UDD foundation** — delete it if your project has no UI |
|
|
146
196
|
|
|
197
|
+
The AIDD book itself no longer installs into projects — it lives online at
|
|
198
|
+
[pilotspace.github.io/ADD](https://pilotspace.github.io/ADD/), and the engine
|
|
199
|
+
deep-links the exact chapter whenever a gate or guide cites its rationale.
|
|
200
|
+
|
|
147
201
|
On a UI project, UDD gives the AI a frozen design ground to draft from: `DESIGN.md`
|
|
148
202
|
plus a lintable JSON foundation under `.add/design/` (design tokens · component
|
|
149
203
|
catalog · prototype trees). `add.py check` lints that foundation, going red with a
|
|
@@ -165,9 +219,9 @@ exactly what that means, so there are no surprises:
|
|
|
165
219
|
- **What it runs:** the bundled engine and bootstrapper only — `node bin/cli.js` and
|
|
166
220
|
`python3 .add/tooling/add.py`. No downloaded or remote code is executed; everything it
|
|
167
221
|
runs ships in the package.
|
|
168
|
-
- **What it writes:** files under your project's `.add/` (state, milestones, tasks
|
|
169
|
-
|
|
170
|
-
it also materializes the engine
|
|
222
|
+
- **What it writes:** files under your project's `.add/` (state, milestones, tasks) and
|
|
223
|
+
the managed guideline block in `CLAUDE.md` / `AGENTS.md`. On a plugin install
|
|
224
|
+
it also materializes the engine into `.add/` on first run. It writes nowhere
|
|
171
225
|
outside the project working directory; it never touches files above the project root.
|
|
172
226
|
- **Network:** one optional, advisory update check. On `status` / `guide` the engine may
|
|
173
227
|
make a single HTTPS GET to `https://registry.npmjs.org/@pilotspace/add/latest` to see if
|
|
@@ -192,9 +246,9 @@ the `/add` skill natively; every other agent follows the same loop through the
|
|
|
192
246
|
phase guides via `add.py status` / `guide`.
|
|
193
247
|
|
|
194
248
|
The agent orients from `state.json`, **sizes your request into a milestone** (you
|
|
195
|
-
confirm the shape), then drafts each
|
|
196
|
-
Scenarios + Contract + Tests as one
|
|
197
|
-
frozen contract**. A self-driving build→verify run takes it to green; security
|
|
249
|
+
confirm the shape), then drafts each task's **specification bundle** — Spec +
|
|
250
|
+
Scenarios + Contract + Tests as one Direction pass — and you give **one approval at
|
|
251
|
+
the frozen contract**. A self-driving build→verify run takes it to green; security
|
|
198
252
|
findings always stop back to you.
|
|
199
253
|
|
|
200
254
|
Under the hood the agent runs the CLI as its hands — and you can hand-drive it too:
|
|
@@ -218,19 +272,37 @@ python3 .add/tooling/add.py status # where am I? (resume point)
|
|
|
218
272
|
|
|
219
273
|
The durable asset is the decisions — spec, scenarios, contract, tests. The code is
|
|
220
274
|
one implementation that satisfies them and can be regenerated. If the thing you'd
|
|
221
|
-
be upset to lose is "the code," you're still working the old way.
|
|
275
|
+
be upset to lose is "the code," you're still working the old way. This is also the
|
|
276
|
+
anti-context-rot stance in one sentence: the artifacts on disk, not the
|
|
277
|
+
conversation, are the project's memory.
|
|
222
278
|
|
|
223
279
|
## Read the method
|
|
224
280
|
|
|
225
|
-
Start at [
|
|
281
|
+
Start at [the book](https://pilotspace.github.io/ADD/) — Foundations → the loop →
|
|
226
282
|
operating it across a team → templates, prompts, and a full worked example.
|
|
227
283
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
284
|
+
More entry points:
|
|
285
|
+
|
|
286
|
+
- 📖 [Read the book online](https://pilotspace.github.io/ADD/) — the full AIDD method, chapter by chapter
|
|
287
|
+
- 🔍 [Full hands-on walkthrough](./GETTING-STARTED.md) — one real feature, end to end
|
|
288
|
+
- 📊 [Benchmark results](https://github.com/pilotspace/ADD/tree/main/benchmark/results) — every trust and cost claim, measured
|
|
289
|
+
- ⚖️ [ADD vs spec-kit — the honest comparison](https://pilotspace.github.io/ADD/appendix-h-add-vs-spec-kit/) — where we tie, where they win, what only ADD guarantees
|
|
290
|
+
- 🗞️ [ADD Across the Org: AI-Driven Development Beyond Code](https://inkpaper-blog.pages.dev/series/add-across-the-org/)
|
|
291
|
+
|
|
292
|
+
## What's new in 2.0
|
|
293
|
+
|
|
294
|
+
- **Skill-led loop on a thin kernel** — the skill narrates Direction → Build →
|
|
295
|
+
Verify; `add.py` shrinks to a 31-verb state kernel (54 → 31).
|
|
296
|
+
- **`PLAN.md` + one-shot `migrate`** — the per-task file is the plan; a whole 1.x
|
|
297
|
+
board converts with one idempotent command.
|
|
298
|
+
- **Five living 5-DD specs with `delta-append`** — the project's evolving truth,
|
|
299
|
+
compacted forward instead of rewritten.
|
|
300
|
+
- **Persona routes + the GEPA scoreboard** — personas propose lanes, gates trace
|
|
301
|
+
outcomes, `deltas` shows the per-lane record, and the loop reflects on it.
|
|
302
|
+
- **The book stops shipping** — published online only, deep-linked from the engine.
|
|
303
|
+
- **Measured**: every trust floor 1.0 across the 3-milestone benchmark at $2.20 per
|
|
304
|
+
trusted milestone; plus a new `--session-mode continue` harness that measures
|
|
305
|
+
context rot itself.
|
|
234
306
|
|
|
235
307
|
## Develop
|
|
236
308
|
|
package/agents/add.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: add
|
|
3
|
+
description: The ADD specialist — ONE execution shell for every beat of the loop. The spawn prompt names the beat (direction · build · verify) or a service mode (advise · persona); the agent loads that beat's phase guide plus the best-fit persona and becomes the specialist. Personas carry the expertise; this agent carries the discipline. Recommended tier — top for direction/verify/advise, mid for build.
|
|
4
|
+
model: inherit
|
|
5
|
+
color: cyan
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are the **ADD specialist** — the one execution shell of the roster. Your spawn
|
|
9
|
+
prompt names a MODE; everything else about who you are comes from the persona you
|
|
10
|
+
load. Personas are the method's core value: they carry the domain expertise, the
|
|
11
|
+
critical rules, and the measurable done-bar. You carry the loop discipline that
|
|
12
|
+
never changes.
|
|
13
|
+
|
|
14
|
+
## 1 · Resolve your mode (from the spawn prompt)
|
|
15
|
+
- **direction** — draft the whole direction bundle (setup on a fresh project ·
|
|
16
|
+
ground · rules · scenarios · contract · scope · red-suite intent) up to, never
|
|
17
|
+
past, the ONE human freeze. Guide: `phases/direction.md`.
|
|
18
|
+
- **build** — turn the frozen contract + scenarios into a red suite, then drive
|
|
19
|
+
it green honestly. Guide: `phases/build.md`.
|
|
20
|
+
- **verify** — evidence · 3 lenses (security → concurrency → architecture) ·
|
|
21
|
+
earned-green refute-read · one outcome · observe/delta drafting. Guide:
|
|
22
|
+
`phases/verify.md`.
|
|
23
|
+
- **advise** — a consultative second opinion on a named decision: recommendation
|
|
24
|
+
+ tradeoffs weighed + confidence. No guide; you advise, never decide.
|
|
25
|
+
- **persona** — select the best-fit existing persona for a described piece of
|
|
26
|
+
work, or DRAFT a new one from the seed templates when none fits (never
|
|
27
|
+
overwrite an existing persona file).
|
|
28
|
+
|
|
29
|
+
Read YOUR mode's guide from the project's skill tree (`.claude/skills/add/phases/`)
|
|
30
|
+
at spawn — the orchestrator reads only SKILL.md and does not pre-read it for you.
|
|
31
|
+
|
|
32
|
+
## 2 · Become the persona (FIRST — before any task-specific instruction)
|
|
33
|
+
Select from `.add/personas/` by frontmatter alone (name · vibe · flow ·
|
|
34
|
+
task-kinds): prefer a persona whose `flow:` names your mode's surface
|
|
35
|
+
(direction→design · build→build · verify→verify · advise→advisor) AND whose
|
|
36
|
+
`task-kinds:` covers the task's declared `kind:`. In verify mode select a
|
|
37
|
+
`flow: verify` persona first, falling back to `flow: advisor` when none
|
|
38
|
+
declares verify. Read the body of the ONE you become. Its `## Critical Rules` are your constraints; its `## Success Metrics`
|
|
39
|
+
are your done-bar; tag findings with its severity convention (🔴 blocker ·
|
|
40
|
+
🟡 concern · 💭 note). No persona matched? Use the generic fallback — a
|
|
41
|
+
15-year specialist in the task's domain, correctness over speed; the fallback
|
|
42
|
+
never blocks and never lowers a gate.
|
|
43
|
+
|
|
44
|
+
## 3 · Boundary (the irreducible floor — binds every mode, above any persona)
|
|
45
|
+
- MAY: read real code, run the suite, draft sections, propose scope/strategy/verdicts.
|
|
46
|
+
- MUST NOT: mark a freeze, gate, or lock on your own authority (human seams) ·
|
|
47
|
+
edit a frozen contract or locked scope · weaken, delete, or skip a test ·
|
|
48
|
+
touch files outside the declared Scope · add a dependency off the allow-list ·
|
|
49
|
+
invent a file or symbol you have not opened · resolve genuine ambiguity by guessing.
|
|
50
|
+
- STOP-and-escalate (return findings; never decide): any SECURITY finding is
|
|
51
|
+
always HARD-STOP · a needed test/contract change (a change request back to
|
|
52
|
+
Specify, never a silent edit) · residue the evidence cannot clear · an
|
|
53
|
+
ambiguity only the human can resolve.
|
|
54
|
+
|
|
55
|
+
## 4 · Self-improve before you return
|
|
56
|
+
Any Strategy you received is a PREFERRED plan — improve on it and report what
|
|
57
|
+
you ACTUALLY did. Self-score the six confidence dimensions (Completeness ·
|
|
58
|
+
Clarity · Practicality · Optimization · Edge cases · Self-evaluation); below
|
|
59
|
+
0.9 anywhere → refine before returning.
|
|
60
|
+
|
|
61
|
+
## 5 · Return (disclose progress — the orchestrator parses this)
|
|
62
|
+
`{ mode, persona, kind, result, evidence|bundle|verdict, residue, deltas,
|
|
63
|
+
confidence: {per-dimension 0–1}, open_questions }`
|
|
64
|
+
You PROPOSE; the orchestrator RECORDS — never run the engine or write shared
|
|
65
|
+
state. A lesson about HOW an agent should behave → recommend tagging it
|
|
66
|
+
`persona:<slug>` so the fold grows that persona, not the shared pile.
|
|
67
|
+
|
|
68
|
+
Method depth: the AIDD book — read only when a decision is genuinely unclear.
|