@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.
Files changed (113) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/GETTING-STARTED.md +20 -64
  3. package/README.md +128 -56
  4. package/agents/add.md +68 -0
  5. package/bin/cli.js +229 -29
  6. package/package.json +2 -3
  7. package/personas-teacher/VENDOR.md +6 -0
  8. package/skill/add/SKILL.md +100 -134
  9. package/skill/add/adopt.md +28 -0
  10. package/skill/add/beyond.md +36 -0
  11. package/skill/add/deltas.md +25 -2
  12. package/skill/add/design.md +56 -74
  13. package/skill/add/{report-template.md → gate-udd.md} +28 -37
  14. package/skill/add/intake.md +65 -29
  15. package/skill/add/loop.md +35 -23
  16. package/skill/add/phases/build.md +78 -0
  17. package/skill/add/phases/direction.md +280 -0
  18. package/skill/add/phases/verify.md +160 -0
  19. package/skill/add/run.md +13 -30
  20. package/skill/add/terms.md +18 -0
  21. package/tooling/add.py +2520 -2933
  22. package/tooling/add_engine/autonomy.py +2 -37
  23. package/tooling/add_engine/components.py +4 -87
  24. package/tooling/add_engine/constants.py +153 -87
  25. package/tooling/add_engine/guidelines.py +9 -11
  26. package/tooling/add_engine/io_state.py +82 -2
  27. package/tooling/add_engine/predicates.py +90 -2
  28. package/tooling/add_engine/search.py +6 -6
  29. package/tooling/add_engine/taskdoc.py +15 -10
  30. package/tooling/templates/CONVENTIONS.md.tmpl +1 -1
  31. package/tooling/templates/GLOSSARY.md.tmpl +10 -4
  32. package/tooling/templates/MILESTONE.md.tmpl +20 -16
  33. package/tooling/templates/PLAN.md.tmpl +128 -0
  34. package/tooling/templates/PROJECT.md.tmpl +6 -1
  35. package/tooling/templates/PROMPT.persona.md.tmpl +17 -21
  36. package/tooling/templates/personas/_template.md.tmpl +35 -29
  37. package/tooling/templates/personas/build-engineer.md.tmpl +45 -0
  38. package/tooling/templates/personas/data-steward.md.tmpl +45 -0
  39. package/tooling/templates/personas/evidence-verifier.md.tmpl +45 -0
  40. package/tooling/templates/personas/platform-engineer.md.tmpl +45 -0
  41. package/tooling/templates/personas/product-lead.md.tmpl +51 -0
  42. package/tooling/templates/personas/quality-auditor.md.tmpl +47 -0
  43. package/tooling/templates/personas/release-manager.md.tmpl +52 -0
  44. package/tooling/templates/personas/security-gatekeeper.md.tmpl +45 -0
  45. package/tooling/templates/personas/software-architect.md.tmpl +45 -0
  46. package/tooling/templates/personas/stream-orchestrator.md.tmpl +44 -0
  47. package/tooling/templates/personas/technical-writer.md.tmpl +49 -0
  48. package/tooling/templates/personas/ux-experience-lead.md.tmpl +48 -0
  49. package/tooling/templates/specs/SPEC.md.tmpl +18 -0
  50. package/tooling/templates/udd-wireframe.md +1 -1
  51. package/agents/add-advisor.md +0 -31
  52. package/agents/add-build.md +0 -29
  53. package/agents/add-design.md +0 -32
  54. package/agents/add-persona.md +0 -31
  55. package/agents/add-verify.md +0 -34
  56. package/docs/00-introduction.md +0 -46
  57. package/docs/01-principles.md +0 -71
  58. package/docs/02-the-flow.md +0 -113
  59. package/docs/03-step-1-specify.md +0 -123
  60. package/docs/04-step-2-scenarios.md +0 -90
  61. package/docs/05-step-3-contract.md +0 -80
  62. package/docs/06-step-4-tests.md +0 -85
  63. package/docs/07-step-5-build.md +0 -82
  64. package/docs/08-step-6-verify.md +0 -105
  65. package/docs/09-the-loop.md +0 -75
  66. package/docs/10-setup-and-stages.md +0 -118
  67. package/docs/11-governance.md +0 -91
  68. package/docs/12-roles.md +0 -99
  69. package/docs/13-adoption.md +0 -67
  70. package/docs/14-foundation.md +0 -142
  71. package/docs/15-foundations-and-lineage.md +0 -106
  72. package/docs/16-releasing.md +0 -182
  73. package/docs/17-components.md +0 -143
  74. package/docs/18-personas.md +0 -80
  75. package/docs/README.md +0 -77
  76. package/docs/add-competencies.png +0 -0
  77. package/docs/add-flow.png +0 -0
  78. package/docs/add-foundation.png +0 -0
  79. package/docs/add-hierarchy.png +0 -0
  80. package/docs/add-milestone-task-lifecycle.png +0 -0
  81. package/docs/add-task-growth-wheel.png +0 -0
  82. package/docs/appendix-a-templates.md +0 -88
  83. package/docs/appendix-b-prompts.md +0 -154
  84. package/docs/appendix-c-glossary.md +0 -176
  85. package/docs/appendix-d-worked-example.md +0 -231
  86. package/docs/appendix-e-checklists.md +0 -92
  87. package/docs/appendix-f-requirements-matrix.md +0 -171
  88. package/docs/appendix-g-references.md +0 -106
  89. package/skill/add/advisor.md +0 -80
  90. package/skill/add/compact-foundation.md +0 -40
  91. package/skill/add/components.md +0 -52
  92. package/skill/add/confidence.md +0 -32
  93. package/skill/add/fold.md +0 -63
  94. package/skill/add/graduate.md +0 -39
  95. package/skill/add/phases/0-ground.md +0 -64
  96. package/skill/add/phases/0-setup.md +0 -103
  97. package/skill/add/phases/1-specify.md +0 -61
  98. package/skill/add/phases/2-scenarios.md +0 -48
  99. package/skill/add/phases/3-contract.md +0 -60
  100. package/skill/add/phases/4-tests.md +0 -59
  101. package/skill/add/phases/5-build.md +0 -62
  102. package/skill/add/phases/6-verify.md +0 -69
  103. package/skill/add/phases/7-observe.md +0 -47
  104. package/skill/add/phases/fast-lane.md +0 -31
  105. package/skill/add/release.md +0 -61
  106. package/skill/add/scope.md +0 -72
  107. package/skill/add/sensitivity.md +0 -51
  108. package/skill/add/setup-review.md +0 -48
  109. package/skill/add/soul.md +0 -58
  110. package/skill/add/streams.md +0 -268
  111. package/tooling/add_engine/release.py +0 -86
  112. package/tooling/templates/TASK.fast.md.tmpl +0 -77
  113. 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
- **One skill. Eight steps. Five disciplines. Every feature ships through the loop.**
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
- ADD is the **orchestration engine** of the AIDD method. It sits on top of a
18
- context foundation (DDD SDD UDD) and runs as a red/green TDD ↔ AI-build loop.
19
- The full reasoning *why* every rule exists is the AIDD book bundled in
20
- [`docs/`](./docs/README.md). Read it once; keep it open beside you.
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 feature: Specify Scenarios Contract Tests BuildVerify → Observe ↻
31
+ Flow per task: Direction (spec · scenarios · contract · red testsONE 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 spec →
45
- scenarios → contract → tests as one bundle (you approve once, at the frozen
46
- contract), then builds and verifies to green. Full detail below — **Install**,
47
- **Use it**, and the [10-minute Quickstart](./GETTING-STARTED.md).
48
-
49
- ## Why ADD (and why it is minimal)
50
-
51
- Heavy doc-first methods burn your time writing documents and lose the thread
52
- across sessions (context rot). ADD fixes both:
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 `TASK.md`. No sprawling doc tree.
56
- - **State on disk, not in chat.** A Python tool tracks where you are in
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 loads only the guide for the phase you are
60
- in — the context window stays lean.
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 an **orchestration method** — the gated loop (specscenarioscontract → tests → build →
65
- verify → observe) that decides when work is trusted. It is not a catalog of ready-made expert
66
- personas. Skill libraries like [agency-agents](https://github.com/msitarzewski/agency-agents), or
108
+ ADD is the **trust layer** — the gated loop (DirectionBuildVerify)
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 design, build, or verify — it
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. That gated loop is what ADD contributes underneath
81
- any persona, distilled or not.
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's own five phase specialists
88
- (`add-design`, `add-build`, `add-verify`, `add-persona`, `add-advisor`) live in the same
89
- `.claude/agents/` mechanism as any other Claude Code subagent a distilled persona, an
90
- agency-agents-derived specialist, a built-in one (a backend expert, a security reviewer). They
91
- coexist with zero conflict; nothing is replaced.
92
- 3. **Prefer ADD's named roster first for anything phase-shaped** — spawning `add-verify` for the
93
- independent adversarial refute-read, `add-build` for a red→green batch — before an ad-hoc spawn.
94
- Reach for another specialist when a piece needs deep domain expertise a generic phase agent
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, tooling, and book:
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 and the book. On first `/add`, the skill materializes them
122
- into the project (`node "${CLAUDE_PLUGIN_ROOT}/bin/cli.js" init --no-skill`) and scaffolds
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, tooling, and book while leaving your project work
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 (thin router + per-phase guides) |
143
- | `.add/tooling/add.py` | scaffolder + state tracker (Python, stdlib only) |
144
- | `.add/docs/` | the AIDD book the method rationale |
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, the
169
- book) and the managed guideline block in `CLAUDE.md` / `AGENTS.md`. On a plugin install
170
- it also materializes the engine + book into `.add/` on first run. It writes nowhere
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 feature's **specification bundle** — Spec +
196
- Scenarios + Contract + Tests as one bundle — and you give **one approval at the
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 [`docs/README.md`](./docs/README.md) — Foundations → the six steps
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
- ## What's next
229
-
230
- **Dynamic Agent Skills** the next scope: skills that adapt at runtime to the
231
- project's current state, stage, and active phase rather than loading a static
232
- guide. The agent picks the right depth and tooling automatically as the project
233
- evolves.
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.