agentplugged 1.2.0 → 1.4.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 (236) hide show
  1. package/README.md +3 -2
  2. package/dist/agent-commands.js +25689 -24738
  3. package/dist/bin.js +1 -2
  4. package/dist/cli.js +1 -2
  5. package/dist/dist.js +12205 -0
  6. package/dist/esm.js +8 -16
  7. package/dist/forge-follow.js +5 -6
  8. package/dist/hash.js +9 -11907
  9. package/dist/helpers.js +257 -514
  10. package/dist/launcher-env.js +1 -2
  11. package/dist/launcher.js +3 -4
  12. package/dist/libsodium-wrappers.js +2 -4
  13. package/dist/libsodium-wrappers2.js +2 -4
  14. package/dist/main.js +820 -166
  15. package/dist/method/agents/alex/SKILL.md +13 -29
  16. package/dist/method/agents/alex/agent.yaml +1 -1
  17. package/dist/method/agents/basile/SKILL.md +44 -0
  18. package/dist/method/agents/basile/agent.yaml +69 -0
  19. package/dist/method/agents/chloe/SKILL.md +12 -25
  20. package/dist/method/agents/chloe/agent.yaml +3 -3
  21. package/dist/method/agents/ethan/SKILL.md +8 -9
  22. package/dist/method/agents/ethan/agent.yaml +9 -8
  23. package/dist/method/agents/hugo/SKILL.md +8 -8
  24. package/dist/method/agents/hugo/agent.yaml +9 -8
  25. package/dist/method/agents/iris/SKILL.md +4 -10
  26. package/dist/method/agents/izzy/SKILL.md +68 -91
  27. package/dist/method/agents/izzy/agent.yaml +8 -15
  28. package/dist/method/agents/jade/SKILL.md +7 -9
  29. package/dist/method/agents/jade/agent.yaml +9 -8
  30. package/dist/method/agents/julien/SKILL.md +38 -58
  31. package/dist/method/agents/lina/SKILL.md +7 -9
  32. package/dist/method/agents/lina/agent.yaml +9 -8
  33. package/dist/method/agents/lou/SKILL.md +4 -11
  34. package/dist/method/agents/lou/agent.yaml +2 -2
  35. package/dist/method/agents/maya/SKILL.md +12 -19
  36. package/dist/method/agents/maya/agent.yaml +1 -3
  37. package/dist/method/agents/milo/SKILL.md +21 -32
  38. package/dist/method/agents/noah/SKILL.md +109 -61
  39. package/dist/method/agents/noah/agent.yaml +14 -31
  40. package/dist/method/agents/noah/references/decisions.md +61 -120
  41. package/dist/method/agents/noah/references/environment.md +30 -70
  42. package/dist/method/agents/noah/references/facts.md +22 -11
  43. package/dist/method/agents/noah/references/journey.md +26 -78
  44. package/dist/method/agents/noah/references/team.md +63 -190
  45. package/dist/method/agents/omar/SKILL.md +12 -28
  46. package/dist/method/agents/omar/agent.yaml +1 -1
  47. package/dist/method/agents/quentin/SKILL.md +7 -15
  48. package/dist/method/agents/quentin/agent.yaml +4 -2
  49. package/dist/method/agents/sam/SKILL.md +6 -8
  50. package/dist/method/agents/sam/agent.yaml +9 -8
  51. package/dist/method/agents/stella/SKILL.md +6 -14
  52. package/dist/method/agents/stella/agent.yaml +1 -1
  53. package/dist/method/agents/tess/SKILL.md +7 -14
  54. package/dist/method/agents/tess/agent.yaml +2 -2
  55. package/dist/method/agents/zoe/SKILL.md +9 -21
  56. package/dist/method/doctor.yaml +23 -4
  57. package/dist/method/models.yaml +12 -0
  58. package/dist/method/skills/acceptance-qa/SKILL.md +1 -1
  59. package/dist/method/skills/acceptance-qa/references/run.md +24 -32
  60. package/dist/method/skills/acceptance-qa/references/scenarios.md +16 -19
  61. package/dist/method/skills/acceptance-qa/references/verdicts.md +10 -16
  62. package/dist/method/skills/api-e2e-tests/SKILL.md +46 -46
  63. package/dist/method/skills/audit-pillars/SKILL.md +12 -10
  64. package/dist/method/skills/audit-pillars/references/pillars.md +40 -0
  65. package/dist/method/skills/chain-stories/SKILL.md +5 -4
  66. package/dist/method/skills/chain-stories/references/merge-order.md +23 -0
  67. package/dist/method/skills/check-readiness/SKILL.md +1 -1
  68. package/dist/method/skills/check-requirements/SKILL.md +37 -72
  69. package/dist/method/skills/check-requirements/references/engine-proofs.md +16 -23
  70. package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +22 -37
  71. package/dist/method/skills/critique-deliverable/SKILL.md +3 -3
  72. package/dist/method/skills/critique-deliverable/references/choose.md +12 -21
  73. package/dist/method/skills/critique-deliverable/references/format.md +14 -20
  74. package/dist/method/skills/critique-deliverable/references/gestures.md +14 -21
  75. package/dist/method/skills/critique-deliverable/references/judgment.md +4 -9
  76. package/dist/method/skills/critique-deliverable/references/methods.md +21 -0
  77. package/dist/method/skills/critique-deliverable/references/reconcile.md +6 -11
  78. package/dist/method/skills/deep-research/SKILL.md +16 -24
  79. package/dist/method/skills/deep-research/references/candidates.md +13 -25
  80. package/dist/method/skills/deep-research/references/external.md +15 -34
  81. package/dist/method/skills/deep-research/references/page-format.md +16 -42
  82. package/dist/method/skills/deep-research/references/types.md +16 -27
  83. package/dist/method/skills/develop-story/SKILL.md +56 -189
  84. package/dist/method/skills/develop-story/references/acceptance-tests.md +18 -71
  85. package/dist/method/skills/develop-story/references/quick-lane.md +20 -0
  86. package/dist/method/skills/diagnose-bug/SKILL.md +42 -53
  87. package/dist/method/skills/diagnose-bug/references/hypotheses.md +1 -2
  88. package/dist/method/skills/generate-knowledge-base/SKILL.md +57 -226
  89. package/dist/method/skills/generate-knowledge-base/assets/index-template.md +6 -15
  90. package/dist/method/skills/generate-knowledge-base/assets/page-template.md +11 -24
  91. package/dist/method/skills/generate-knowledge-base/references/living-docs.md +25 -64
  92. package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +9 -18
  93. package/dist/method/skills/ideation/SKILL.md +16 -23
  94. package/dist/method/skills/ideation/references/close.md +18 -14
  95. package/dist/method/skills/ideation/references/converge.md +11 -21
  96. package/dist/method/skills/ideation/references/stances.md +13 -17
  97. package/dist/method/skills/ideation/references/techniques.md +20 -0
  98. package/dist/method/skills/improve-code/SKILL.md +42 -54
  99. package/dist/method/skills/pitch/SKILL.md +16 -19
  100. package/dist/method/skills/pitch/references/deck.md +15 -18
  101. package/dist/method/skills/pitch/references/design-implementation.md +13 -21
  102. package/dist/method/skills/pitch/references/design.md +21 -0
  103. package/dist/method/skills/pitch/references/story.md +13 -18
  104. package/dist/method/skills/plan-sprint/SKILL.md +49 -151
  105. package/dist/method/skills/resolve-merge-conflict/SKILL.md +40 -65
  106. package/dist/method/skills/review-after-launch/SKILL.md +56 -0
  107. package/dist/method/skills/review-story/SKILL.md +44 -72
  108. package/dist/method/skills/review-story/references/amend-story.md +8 -13
  109. package/dist/method/skills/review-story/references/export.md +7 -17
  110. package/dist/method/skills/review-story/references/free-review.md +9 -20
  111. package/dist/method/skills/review-story/references/judge.md +25 -37
  112. package/dist/method/skills/review-story/references/tests.md +29 -0
  113. package/dist/method/skills/round-table/SKILL.md +6 -6
  114. package/dist/method/skills/round-table/references/closing.md +18 -0
  115. package/dist/method/skills/round-table/references/guests.md +15 -15
  116. package/dist/method/skills/round-table/references/rooms.md +15 -28
  117. package/dist/method/skills/round-table/references/table.md +19 -0
  118. package/dist/method/skills/run-acceptance/SKILL.md +58 -0
  119. package/dist/method/skills/run-acceptance/references/template.md +39 -0
  120. package/dist/method/skills/run-retrospective/SKILL.md +50 -189
  121. package/dist/method/skills/security-review-architecture/SKILL.md +47 -109
  122. package/dist/method/skills/security-review-architecture/references/spec-review.md +27 -38
  123. package/dist/method/skills/setup-ci/SKILL.md +45 -109
  124. package/dist/method/skills/split-into-stories/SKILL.md +59 -192
  125. package/dist/method/skills/split-into-stories/assets/story.md.tmpl +15 -4
  126. package/dist/method/skills/strategy/SKILL.md +21 -25
  127. package/dist/method/skills/strategy/references/costs.md +12 -26
  128. package/dist/method/skills/strategy/references/gestures.md +12 -21
  129. package/dist/method/skills/strategy/references/innovate.md +19 -37
  130. package/dist/method/skills/strategy/references/solve.md +19 -32
  131. package/dist/method/skills/test-idea/SKILL.md +5 -5
  132. package/dist/method/skills/test-idea/assets/prfaq-template.md +1 -1
  133. package/dist/method/skills/test-idea/references/faq.md +12 -29
  134. package/dist/method/skills/test-idea/references/forge.md +19 -30
  135. package/dist/method/skills/test-idea/references/personas.md +16 -19
  136. package/dist/method/skills/test-idea/references/prfaq.md +31 -31
  137. package/dist/method/skills/workshop/SKILL.md +10 -16
  138. package/dist/method/skills/workshop/references/create.md +28 -45
  139. package/dist/method/skills/workshop/references/customize.md +17 -42
  140. package/dist/method/skills/workshop/references/evaluate.md +11 -42
  141. package/dist/method/skills/workshop/references/rules.md +17 -26
  142. package/dist/method/skills/write-architecture/SKILL.md +62 -220
  143. package/dist/method/skills/write-architecture/references/guard.md +11 -28
  144. package/dist/method/skills/write-architecture/references/self-check.md +22 -38
  145. package/dist/method/skills/write-brand/SKILL.md +2 -2
  146. package/dist/method/skills/write-brand/references/identity.md +21 -22
  147. package/dist/method/skills/write-brand/references/platform.md +13 -20
  148. package/dist/method/skills/write-brand/references/rules.md +16 -22
  149. package/dist/method/skills/write-brief/SKILL.md +56 -149
  150. package/dist/method/skills/write-brief/references/brief-checklist.md +18 -30
  151. package/dist/method/skills/write-content/SKILL.md +53 -210
  152. package/dist/method/skills/write-content/references/content-checklist.md +32 -50
  153. package/dist/method/skills/write-positioning/SKILL.md +53 -197
  154. package/dist/method/skills/write-positioning/references/positioning-checklist.md +15 -41
  155. package/dist/method/skills/write-positioning/references/seo-checklist.md +26 -51
  156. package/dist/method/skills/write-prd/SKILL.md +52 -179
  157. package/dist/method/skills/write-prd/references/prd-checklist.md +25 -54
  158. package/dist/method/skills/write-sales/SKILL.md +48 -212
  159. package/dist/method/skills/write-sales/references/before-you-send.md +21 -49
  160. package/dist/method/skills/write-sales/references/sales-checklist.md +19 -69
  161. package/dist/method/skills/write-spec/references/spec-guide.md +20 -23
  162. package/dist/method/skills/write-ux-spec/SKILL.md +57 -168
  163. package/dist/method/skills/write-ux-spec/references/accessibility-check.md +13 -72
  164. package/dist/method/skills/write-ux-spec/references/mockups.md +6 -68
  165. package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +8 -81
  166. package/dist/method/skills/write-ux-spec/references/ux-checklist.md +12 -67
  167. package/dist/product-root.js +15747 -15091
  168. package/dist/project-command.js +1508 -0
  169. package/dist/project-command2.js +1 -0
  170. package/dist/read-command.js +19 -0
  171. package/dist/rolldown-runtime.js +1 -2
  172. package/dist/sheet-command.js +57 -0
  173. package/dist/webauthn-verify.js +4 -5
  174. package/package.json +11 -10
  175. package/dist/method/agents/noah/references/conduct.md +0 -99
  176. package/dist/method/skills/api-e2e-tests/references/frameworks.md +0 -58
  177. package/dist/method/skills/api-e2e-tests/references/generate.md +0 -67
  178. package/dist/method/skills/audit-pillars/references/accessibility.md +0 -13
  179. package/dist/method/skills/audit-pillars/references/architecture.md +0 -13
  180. package/dist/method/skills/audit-pillars/references/dependencies.md +0 -13
  181. package/dist/method/skills/audit-pillars/references/format.md +0 -20
  182. package/dist/method/skills/audit-pillars/references/interface.md +0 -13
  183. package/dist/method/skills/audit-pillars/references/method.md +0 -33
  184. package/dist/method/skills/audit-pillars/references/performance.md +0 -17
  185. package/dist/method/skills/audit-pillars/references/quality.md +0 -11
  186. package/dist/method/skills/audit-pillars/references/security.md +0 -13
  187. package/dist/method/skills/audit-pillars/references/tests.md +0 -17
  188. package/dist/method/skills/critique-deliverable/references/assumption-audit.md +0 -11
  189. package/dist/method/skills/critique-deliverable/references/compare-existing.md +0 -13
  190. package/dist/method/skills/critique-deliverable/references/devils-advocate.md +0 -13
  191. package/dist/method/skills/critique-deliverable/references/divergence.md +0 -15
  192. package/dist/method/skills/critique-deliverable/references/domain-expert.md +0 -14
  193. package/dist/method/skills/critique-deliverable/references/extreme-user.md +0 -13
  194. package/dist/method/skills/critique-deliverable/references/failure-modes.md +0 -13
  195. package/dist/method/skills/critique-deliverable/references/first-principles.md +0 -12
  196. package/dist/method/skills/critique-deliverable/references/inversion.md +0 -13
  197. package/dist/method/skills/critique-deliverable/references/pre-mortem.md +0 -12
  198. package/dist/method/skills/critique-deliverable/references/red-team.md +0 -12
  199. package/dist/method/skills/critique-deliverable/references/reframe.md +0 -12
  200. package/dist/method/skills/critique-deliverable/references/second-order.md +0 -12
  201. package/dist/method/skills/critique-deliverable/references/socratic.md +0 -15
  202. package/dist/method/skills/critique-deliverable/references/steelman.md +0 -13
  203. package/dist/method/skills/critique-deliverable/references/subtraction.md +0 -12
  204. package/dist/method/skills/develop-story/references/self-check.md +0 -46
  205. package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +0 -49
  206. package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +0 -48
  207. package/dist/method/skills/ideation/references/choose.md +0 -21
  208. package/dist/method/skills/ideation/references/gestures.md +0 -15
  209. package/dist/method/skills/ideation/references/techniques-borrowed.md +0 -8
  210. package/dist/method/skills/ideation/references/techniques-deep.md +0 -12
  211. package/dist/method/skills/ideation/references/techniques-frames.md +0 -12
  212. package/dist/method/skills/ideation/references/techniques-futures.md +0 -8
  213. package/dist/method/skills/ideation/references/techniques-limits.md +0 -9
  214. package/dist/method/skills/ideation/references/techniques-people.md +0 -7
  215. package/dist/method/skills/ideation/references/techniques-sparks.md +0 -10
  216. package/dist/method/skills/ideation/references/techniques-together.md +0 -11
  217. package/dist/method/skills/order-merges/SKILL.md +0 -71
  218. package/dist/method/skills/pitch/references/deck-types.md +0 -17
  219. package/dist/method/skills/pitch/references/design-methods.md +0 -45
  220. package/dist/method/skills/pitch/references/design-thinking.md +0 -28
  221. package/dist/method/skills/pitch/references/story-frameworks.md +0 -39
  222. package/dist/method/skills/quick-lane/SKILL.md +0 -143
  223. package/dist/method/skills/review-tests/SKILL.md +0 -32
  224. package/dist/method/skills/review-tests/references/check.md +0 -25
  225. package/dist/method/skills/review-tests/references/grid.md +0 -27
  226. package/dist/method/skills/round-table/references/cast.md +0 -14
  227. package/dist/method/skills/round-table/references/gestures.md +0 -24
  228. package/dist/method/skills/round-table/references/independence.md +0 -21
  229. package/dist/method/skills/round-table/references/three-views.md +0 -17
  230. package/dist/method/skills/round-table/references/turns.md +0 -19
  231. package/dist/method/skills/strategy/references/innovate-frameworks.md +0 -48
  232. package/dist/method/skills/strategy/references/solve-methods.md +0 -45
  233. package/dist/method/skills/test-idea/references/bets.md +0 -14
  234. package/dist/method/skills/test-idea/references/concept.md +0 -24
  235. package/dist/method/skills/test-idea/references/verdict.md +0 -26
  236. package/dist/method/skills/workshop/references/analyze.md +0 -36
@@ -5,200 +5,73 @@ metadata:
5
5
  agent: maya
6
6
  phase: planning
7
7
  ---
8
- ## Overview
9
-
10
- This skill is how Maya, the product manager, turns the brief the creator approved into the
11
- product requirements document. The PRD is the contract the rest of the method builds on: Stella
12
- designs its journeys, Alex architects for its requirements, Izzy cuts its requirements into
13
- stories, Quentin checks the code against them. Each requirement therefore says one testable thing
14
- and carries an identifier that never moves.
15
-
16
- Maya draws the requirements out of the creator; she does not invent the product. When a need can
17
- be read two ways and the readings lead to different products, she does not choose: she asks the
18
- creator with a `decision` checkpoint.
8
+ # Write the PRD
19
9
 
20
- Files of this skill:
10
+ ## Overview
21
11
 
22
- - `assets/prd-template.md` — the starting structure of the PRD, with a valid header.
23
- - `references/prd-checklist.md` — the checks to run before showing the PRD.
12
+ - **Step:** planning, as Maya (`agent: maya` in every MCP call).
13
+ - **Produces:** `.agentplugged/docs/prd.md` from `assets/prd-template.md`: a couple of pages for a
14
+ personal tool, 1 200 lines at most (beyond, a PRD per domain linked by identifiers).
15
+ - **Reads:** `.agentplugged/docs/brief.md` once; of the research notes, `ux.md` and an existing
16
+ PRD, only the sections you use or change.
17
+ - **Validation point:** a `document` point, or the end of planning (step 7).
24
18
 
25
19
  ## Before you start
26
20
 
27
- - You act as Maya for the whole run: `agent: maya` in every MCP call. If `state.get` shows that
28
- Maya is not an active agent of the product, say so and go straight to the last step (Report)
29
- with `partial`: the creator decides who works.
30
- - Speak the creator's language, and write the PRD in it, headings included. Keep the header
31
- keys, the identifiers and the markers exactly as the template writes them.
32
- - One question at a time. Wait for the answer, then say back what you understood in a sentence
33
- before moving on.
34
- - When the creator gave a complete prototype of the product, the prototype is the specification:
35
- say so, propose to skip the PRD (or to write a short one drawn from the prototype, a page of
36
- requirements) and to go to the few stories that carry it over, recommend that, and let the
37
- creator choose in one answer. The full PRD stays possible; never insist, and never write
38
- requirements the prototype does not show.
21
+ - Maya not active in `state.get`: say so, go straight to the last step (Report) with `partial`.
22
+ - **Modes:** **create**; **update** (edit in place, never renumber); **review**
23
+ (`references/prd-checklist.md`, `npx agentplugged docs check`, each finding with its line, then
24
+ go straight to the last step (Report) with `partial`: never copy the template, never rewrite
25
+ the PRD, never open the end of the phase).
26
+ - One question at a time.
39
27
 
40
28
  ## Identifiers
41
29
 
42
- Defined once in the whole product, never renumbered nor reused:
43
-
44
- - `PU-n` — user journey; `EF-n` — functional requirement; `ENF-n` — non-functional requirement;
45
- `MS-n` — success metric. `AD-n` belongs to the architecture: mention it only.
46
- - An identifier is defined where it opens a line, a list item, a heading or the first cell of a
47
- table row: `- EF-12 : …`. Anywhere else in a line it is a mention. So never open a line, a
48
- list item, a heading or a first table cell with an identifier you only mention.
49
- - A new identifier takes the next number of its prefix: the highest ever used, retired ones
50
- included, plus one. Gaps stay gaps.
51
- - To drop one, keep it in place and put the marker first after its separator:
52
- `EF-2 : (retirée) …` in French, `EF-2 : (retired) …` in any other language. Its number is
53
- never given again.
30
+ - `PU-n` journey, `EF-n` functional, `ENF-n` non-functional (threshold and measure), `MS-n` metric
31
+ (target; one counter-metric at least). `AD-n` is Alex's: mention only.
32
+ - Defined where it opens a line, list item, heading or first table cell; elsewhere a mention.
33
+ - New: the highest ever used, retired ones included, plus one. Never renumbered nor reused;
34
+ dropped: `EF-2 : (retirée) …` in French, `EF-2 : (retired) …` otherwise.
54
35
 
55
36
  ## Decisions
56
37
 
57
- A need that can be read two ways, when the readings lead to different results, is never settled
58
- in the creator's place.
59
-
60
- - **Open:** `checkpoint.open` with `type: decision`, a risk (`low`, or `medium` when it changes
61
- the scope), a title, a summary that names the identifiers concerned, two to four options (each
62
- with an `id`, a `label` and its `consequence`) and your `recommendation`; no story and no
63
- blocks. Never choose in the creator's place.
64
- - **Mark:** write `[open: G-…]` at the end of the sentence concerned (after the separator of a
65
- definition, never before an identifier and never at the start of a line), and go on with the
66
- rest while it is open.
67
- - **Apply:** once `state.get` shows the checkpoint resolved, read its `resolution` in full (`state.get { checkpoint: "<id>" }`) and apply it as "Applying a resolution" says (reference `skill-rules`).
68
-
69
- Then remove the `[open: G-…]` mark and add a row to the "Decisions" section of the PRD.
38
+ - **Open:** a need read two ways: `checkpoint.open`, `type: decision`, two to four options, your
39
+ `recommendation`, no story. Never choose in the creator's place.
40
+ - **Mark:** `[open: G-…]` at the end of the sentence concerned, never before an identifier.
41
+ - **Apply:** once resolved, read its `resolution` and apply it as "Applying a resolution" says (reference `skill-rules`); drop the mark, add a row to "Decisions".
70
42
 
71
43
  ## Steps
72
44
 
73
- 1. **Start.** Call `agent.status` with `working` and the task. Read `state.get` and look at
74
- `phase.current`.
75
- - `framing`: the brief is not approved yet. Say so, suggest finishing the framing with Iris,
76
- and go to the last step (Report) with `partial`.
77
- - `planning`: go on.
78
- - A later phase: the PRD was approved with the end of planning. Change it only if the creator
79
- asks explicitly; then report the change as a conflict in `story.result`, and list the
80
- stories and documents that mention the changed identifiers.
81
- 2. **Read what exists.** `.agentplugged/docs/brief.md` first, then the research notes in
82
- `.agentplugged/docs/research/`, the existing `.agentplugged/docs/prd.md` and
83
- `.agentplugged/docs/ux.md`. Settle the intent with the creator:
84
- - **create** — no PRD yet;
85
- - **update** — something changed: start from the change, edit in place, never renumber;
86
- - **review** — a critique only. Run the checks of `references/prd-checklist.md` and
87
- `npx agentplugged docs check` on the existing PRD, report each finding with its line and
88
- severity, offer to fold them into an update, then go straight to the last step (Report)
89
- with `partial`. In review, never copy the template, never rewrite the PRD and never open
90
- the end of the phase.
91
- 3. **Discovery.** Ask the creator to pour out what they have in mind beyond the brief, and for
92
- any material to read (notes, transcripts, an older specification). Read it before asking
93
- anything it answers; ask "anything else?" once. Then, one open question at a time, settle:
94
- - the stakes (a personal project, an internal tool, a public launch): they set the depth and
95
- the length of the PRD;
96
- - the concerns this product carries: regulation, integrations, personal data, payments,
97
- platforms, accessibility, scale, offline use… Each real concern gets its own requirements;
98
- - the form of the product, if the brief left it open.
99
- 4. **Working mode.** Offer the creator the choice:
100
- - **guided** — section by section, starting either from the journeys (for products where the
101
- experience leads) or from the capabilities (for tools and developer products);
102
- - **quick** — the remaining gaps in one or two questions, then a full draft with every guess
103
- marked `[assumption]`.
104
- 5. **User journeys.** Ask the creator to tell a real session of a named person (a made-up name,
105
- never a real one): who they are and why they come, where they start, what they do step by
106
- step, the moment they get the value, and what can go wrong. Write each one as `PU-n` and have
107
- the creator confirm it. A product with a single operator and no real flow may need one or
108
- two journeys only.
109
- 6. **Glossary.** Name each domain term once, with its definition; then use exactly these words
110
- everywhere in the PRD.
111
- 7. **Functional requirements.** Group them by feature. Each `EF-n` is one testable sentence:
112
- who can do what, under which condition, and the journey it serves ("Serves PU-1"). Below it,
113
- the consequences a test can check. Write capabilities, never a technical solution: when a
114
- requirement looks costly or risky to build, add it to the open questions for Alex instead of
115
- designing it. Every requirement serves a need of the brief; one that serves none goes.
116
- 8. **Non-functional requirements and metrics.**
117
- - Each `ENF-n` is measurable: a threshold and how it is measured (time, availability,
118
- security, privacy, accessibility, cost).
119
- - Each `MS-n` has a target, how and when it is observed, and the requirements it validates.
120
- Add at least one counter-metric: what must not get worse while the others improve. Refuse a
121
- metric nobody can observe.
122
- 9. **First release and out of scope.** Propose the narrowest first release that proves the
123
- value, what waits for later and why, and what the product will not do. The trade-off between
124
- scope and time belongs to the creator.
125
- 10. **Hunt the ambiguities.** Read the draft as a stranger would: vague words ("fast",
126
- "simple", "secure"), missing cases, conflicting requirements, unstated limits, priorities
127
- left open. For each ambiguity whose readings lead to different results, open a `decision`
128
- checkpoint as the "Decisions" section says.
129
- 11. **Draft.** Copy `assets/prd-template.md` (in this skill's folder) to
130
- `.agentplugged/docs/prd.md`, or start from the existing PRD. Remove the
131
- "Generated by agentplugged" comment line the copy carries (`docs check` refuses it), the
132
- guidance comments once a section is written, every `<…>` placeholder and the sample
133
- identifiers you do not use. Keep `links` to the brief and add the research notes the PRD
134
- relies on. Length follows the stakes: a couple of pages for a personal project, as long as
135
- the requirements need for a launch — never padded.
136
- 12. **Self-check.** Walk through `references/prd-checklist.md` and fix what fails. Then run
137
- `npx agentplugged docs check` (it compares with the last commit: renumbered, reused or
138
- removed identifiers fail) and fix every problem until there is none.
139
- Then reconcile the inputs: a sub-agent runs the method `reconcile`
140
- (`critique-deliverable/references/reconcile.md`) on the brief and the creator's notes and
141
- reports what did not land with `review.critique` under your own id (`lenses: ["reconcile"]`,
142
- 5 findings at most); ask once for one gesture per finding, their words kept as said, then
143
- run `docs check` again.
144
- 13. **Review with the creator.** Show the PRD, point out the `[assumption]` marks, the open
145
- decisions and the open questions, and revise it with the creator's remarks until they have
146
- none left. Do not ask them to approve it here: their approval is asked once, after the
147
- validation point is open (step 15).
148
- 14. **Decision gate.** In `state.get`, every `decision` checkpoint opened during this phase, by
149
- any agent (yours and Stella's), must be resolved and its answer applied in the documents. If one
150
- is still open, open nothing: tell the creator which checkpoints wait for them, and go to the
151
- last step (Report) with `partial`.
152
- 15. **Commit the PRD and validate it.** `git branch --show-current` must name a branch; when it
153
- prints nothing (a detached HEAD), ask the creator to check out a branch and open nothing.
154
- Commit the PRD on it (`git add` of its path, then `git commit`), signed with the name and
155
- the email the creator gave (constitution, "Talking with the creator", step 5): the creator
156
- validates a committed document, never a draft. Then one rule decides the point (constitution,
157
- "Checkpoints in the chat", step 8):
158
- - **A UX specification is still to come** (Stella is active in `state.get`, and `ux.md` does
159
- not exist or is not committed yet): the PRD does not close the planning. Open a `document`
160
- checkpoint: `type: document`, a low risk, a title and a summary, no story and no blocks,
161
- and in `documents` the PRD, with its `path`, the `branch` and its `blob_sha`
162
- (`git rev-parse HEAD:.agentplugged/docs/prd.md`). Never open a second `document` point on
163
- the same `blob_sha`. Open it first, then ask the creator whether the PRD suits them, once (and tell them that Stella writes the UX
164
- specification next): record their answer with
165
- `chat.answer`, quoting their words; it approves the PRD, even though the planning goes
166
- on. The end of planning will be a separate point, opened by Stella once the specification
167
- exists, and it will not ask again about this PRD.
168
- - **Nothing else is left in the planning** (Stella is not active, or the UX specification
169
- already exists and is committed) and `phase.current` is `planning`: this PRD is the last
170
- document of the phase. Open the single end (`type: phase_end`, `phase: planning`, a low risk, a title
171
- and a summary, no story and no blocks) with in `documents` the PRD and, only when
172
- `.agentplugged/docs/ux.md` exists, the UX specification (commit it first when needed): for
173
- each, its `path`, the `branch` and its `blob_sha` (`git rev-parse HEAD:<path>`). It is both
174
- the validation of the PRD and the end of the planning: never open a `document` point as
175
- well. Open it first, then ask the creator whether the PRD (and the specification) suits them and the
176
- planning can end, once. A document the creator already validated with a `document` point,
177
- unchanged since (its approved `blob_sha` equals `git rev-parse HEAD:<path>` and the file is
178
- committed), is only cited: say so, and ask about what is new and the end of the phase.
179
- - **The planning is closed** (a later update of the PRD): a `document` point, as in the first
180
- case, without the mention of Stella.
181
-
182
- Whatever `npx agentplugged next --json` says, never leave the PRD without its point. Then:
183
- - the end of planning is already open (`step` is `phase_review`): tell the creator its id;
184
- - `DOCUMENT_REVIEW_OPEN`: a `document` point of the phase is still open; tell the creator to
185
- answer it first, then open the end;
186
- - the creator refused a `document` point or the end (`step` is `changes_requested`, `agent`
187
- is `maya`): read its `checkpoint.resolution.note` (`state.get { checkpoint: "<id>" }`), address it (back to step 11), commit,
188
- then open a new point with `supersedes` set to the refused one's id.
189
-
190
- 16. **Report.** Call `story.result`: `complete` when the PRD is ready, `partial` when decisions
191
- or questions are still open or you stopped early; a summary naming the checkpoints you
192
- opened; your assumptions, the open questions and the conflicts (empty lists when there are
193
- none). Then `agent.status` with `idle`.
45
+ 1. **Start.** `agent.status` (`working`); `state.get`, `phase.current`: `framing` → `partial`;
46
+ `planning` → go on; later → only on the creator's explicit ask, as a conflict naming what cites
47
+ the changed identifiers.
48
+ 2. **Draft.** Copy the template; remove the "Generated by agentplugged" line (`docs check` refuses
49
+ it), the guidance comments, every `<…>` placeholder and unused sample ids. Each `EF-n` is one
50
+ testable capability serving a `PU-n`, never a solution. Guesses: `[assumption]`.
51
+ 3. **Review gate.** `references/prd-checklist.md`, then `npx agentplugged docs check` until clean.
52
+ Then reconcile the inputs: a sub-agent runs `critique-deliverable/references/reconcile.md` on
53
+ the brief and the creator's notes, `review.critique` under your id
54
+ (`lenses: ["reconcile"]`, 5 findings at most); ask once, one gesture per finding.
55
+ 4. **Show it** with its assumptions and open points; revise. Do not ask them to approve it here.
56
+ 5. **Decision gate.** Every `decision` checkpoint of the phase, by any agent (yours and Stella's),
57
+ resolved and applied; else open nothing, name them, `partial`.
58
+ 6. **Commit.** `git branch --show-current` names a branch (else ask, open nothing); `git commit`
59
+ the PRD, signed with the creator's name and email.
60
+ 7. **Commit the PRD and validate it.** `blob_sha`: `git rev-parse HEAD:.agentplugged/docs/prd.md`.
61
+ - **A UX specification is still to come** (Stella active, `ux.md` not committed): the PRD does not close the planning. Open a `document` checkpoint (the PRD's `path`, `branch`, `blob_sha`). Never open a second `document` point on the same `blob_sha`. Open it first, then ask the creator whether
62
+ it suits them, once; `chat.answer` with their words: it approves the PRD, even though the planning goes on, and it will not ask again about this PRD.
63
+ - **Nothing else is left in the planning**: `type: phase_end`, `phase: planning`, with the PRD
64
+ and, only when `.agentplugged/docs/ux.md` exists, the UX specification: never open a `document` point as well. An approved, unchanged document is only cited.
65
+ - **The planning is closed**: a `document` point.
66
+ Whatever `npx agentplugged next --json` says, never leave the PRD without its point.
67
+ `phase_review`: give its id. `DOCUMENT_REVIEW_OPEN`: that point first. `changes_requested`
68
+ (`agent` `maya`): read the note, step 2, then a new point with `supersedes` set to the refused one's id.
69
+ 8. **Report.** `story.result` (`complete` or `partial`), assumptions, questions, conflicts;
70
+ `agent.status` `idle`.
194
71
 
195
72
  ## Rules
196
73
 
197
74
  - Follow "Rules for skills and agents" (reference `skill-rules`): checkpoint before the question, ask once; a point the creator did not keep goes to `checkpoint.decide`; in French say « tu »; start with `memory.read`.
198
- - The PRD carries no status, no cost and no progress: the state of the product comes from the
199
- journal. Its header holds `id`, `kind`, `owner` and `links` only.
200
- - Write only `.agentplugged/docs/prd.md`. Never edit the brief, the UX specification or any other
201
- agent's document, the method's files or a generated file: a change they need goes to the
202
- creator as an open question.
203
- - Never decide the stack, the architecture or the screens, and never call another agent: hand
204
- back to Noah, who proposes what comes next; the creator decides (without Noah, the creator picks the next agent).
75
+ - Draw the requirements from the creator: never write one nobody asked for.
76
+ - Header: `id`, `kind`, `owner`, `links` only. Write only `prd.md`. Never decide the stack or the
77
+ screens, never call another agent: hand back to Noah.
@@ -1,68 +1,39 @@
1
1
  # PRD checklist
2
2
 
3
- Run every check before showing the PRD to the creator. Fix what fails; when a fix needs the
4
- creator, ask them, one question at a time, or open a `decision` checkpoint.
3
+ Run before showing the PRD. Fix what fails; what needs the creator is one question or a
4
+ `decision` checkpoint.
5
5
 
6
6
  ## Header and identifiers
7
7
 
8
- - The header is the first thing in the file and holds `id: prd`, `kind: prd`, `owner: maya` and
9
- `links`, which names the brief.
10
- - No `status`, `state`, `cost`, `spent`, `budget_spent` or `progress` key.
11
- - Each identifier is defined once, at the start of its line, list item, heading or first table
12
- cell; every other occurrence is a mention.
13
- - No identifier was renumbered, reused or deleted: a dropped one stays in place, marked
14
- `(retirée)` or `(retired)` first after its separator.
15
- - No `AD-n` is defined: architecture decisions belong to Alex.
16
- - No `<…>` placeholder and no unused sample identifier is left from the template.
17
- - `npx agentplugged docs check` reports no problem.
8
+ - Header first: `id: prd`, `kind: prd`, `owner: maya`, `links` naming the brief; no `status`,
9
+ `cost`, `progress`.
10
+ - Each identifier defined once, at the start of its line; none renumbered, reused or deleted
11
+ (retired ones stay, marked); no `AD-n` defined; no `<…>` placeholder or unused sample id.
12
+ - `npx agentplugged docs check` reports nothing.
18
13
 
19
- ## Traceability
14
+ ## Traceability and quality
20
15
 
21
- - Every requirement serves a need stated in the brief.
22
- - Every journey (`PU-n`) is served by at least one functional requirement, and every functional
23
- requirement names the journey it serves (or why none applies).
24
- - Every success metric (`MS-n`) names the requirements it validates; at least one is a
25
- counter-metric.
26
-
27
- ## Quality of each requirement
28
-
29
- - One sentence, one capability, an actor and a condition; no "and" hiding a second requirement.
30
- - Testable: a reviewer can say pass or fail without asking the author.
31
- - No vague word left without a measure ("fast", "simple", "secure", "intuitive", "many").
32
- - A capability, not a solution: no framework, database, screen layout or API shape.
33
- - Each `ENF-n` has a threshold and a way to measure it.
34
-
35
- ## Decisions and open points
36
-
37
- - Every ambiguity whose readings lead to different results has a `decision` checkpoint.
38
- - Every resolved checkpoint is recorded in "Decisions" and applied to the requirements; no
39
- `[open: G-…]` mark remains for a resolved one.
40
- - Each `[open: G-…]` mark sits at the end of its sentence, never at the start of a line nor
41
- before an identifier.
42
- - Every `[assumption]` mark is listed under "Assumptions".
43
- - Open questions name who answers them.
16
+ - Every requirement serves a need of the brief; every `PU-n` is served by an `EF-n`, and each
17
+ `EF-n` names its journey.
18
+ - One sentence, one testable capability, no hidden "and", no vague word without a measure, no
19
+ solution (framework, screen layout, API shape). Each `ENF-n` has a threshold and a measure;
20
+ each `MS-n` names what it validates, one is a counter-metric.
21
+ - Every ambiguity has its `decision`; resolved ones are applied and leave no `[open: G-…]`;
22
+ every `[assumption]` is listed; open questions name who answers.
44
23
 
45
24
  ## Judgment of the whole
46
25
 
47
- The checks above say the PRD is well built; these say whether it is worth building from. Answer
48
- as a stranger reading it cold, with the passage: holds, thin or broken. A personal tool is not
49
- judged like a public launch. For an independent verdict, ask a sub-agent for the method
50
- `judgment` (skill `critique-deliverable`): its findings follow the closed form of
51
- `review.critique`, thin and broken only.
26
+ Answer as a stranger, with the passage: holds, thin or broken (a personal tool is not judged
27
+ like a public launch). For an independent verdict, a sub-agent runs `judgment` (skill
28
+ `critique-deliverable`), thin and broken only.
52
29
 
53
- - **Thesis.** Can you say, from the text alone, what this product bets on and who it is for? If
54
- the same text would suit another product, the thesis is missing.
55
- - **Theater.** What is written for form's sake: a persona no requirement serves, a glossary
56
- term never used, a target nobody can observe, a list of qualities that fits any product?
57
- - **Trade-offs.** Does it say what the product gives up, and why? A PRD that sacrifices nothing
58
- has not chosen.
59
- - **Form fit.** Do the length and the sections suit this product (tool, game, service,
60
- regulated product)? A section that does not apply is a line or gone; one it needs is there.
30
+ - **Thesis.** What the product bets on and for whom, from the text alone.
31
+ - **Theater.** What is there for form's sake: a persona nothing serves, an unused term, a target
32
+ nobody can observe.
33
+ - **Trade-offs.** What it gives up, and why.
34
+ - **Form fit.** Length and sections suit this product.
61
35
 
62
36
  ## Scope and form
63
37
 
64
- - The first release is the narrowest that proves the value; what waits says why.
65
- - Out of scope is explicit.
66
- - The glossary terms are used exactly, without synonyms.
67
- - The length follows the stakes, with no padding; no guidance comment and no
68
- "Generated by agentplugged" line is left.
38
+ - The first release is the narrowest that proves the value; out of scope is explicit.
39
+ - Terms used exactly; length follows the stakes; no guidance comment nor generated line left.