agentplugged 0.0.1 → 1.0.1

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 (284) hide show
  1. package/LICENSE-METHOD +21 -0
  2. package/README.md +240 -16
  3. package/dist/agent-commands.js +46540 -0
  4. package/dist/bin.js +13 -0
  5. package/dist/cli.js +44 -0
  6. package/dist/esm.js +920 -0
  7. package/dist/forge-follow.js +231 -0
  8. package/dist/helpers.js +18526 -0
  9. package/dist/helpers2.js +1 -0
  10. package/dist/launcher-env.js +13 -0
  11. package/dist/launcher.js +308 -0
  12. package/dist/libsodium-wrappers.js +4384 -0
  13. package/dist/libsodium-wrappers2.js +4384 -0
  14. package/dist/main.js +17776 -0
  15. package/dist/method/LICENSE +21 -0
  16. package/dist/method/agents/alex/SKILL.md +87 -0
  17. package/dist/method/agents/alex/agent.yaml +94 -0
  18. package/dist/method/agents/chloe/SKILL.md +97 -0
  19. package/dist/method/agents/chloe/agent.yaml +87 -0
  20. package/dist/method/agents/ethan/SKILL.md +55 -0
  21. package/dist/method/agents/ethan/agent.yaml +94 -0
  22. package/dist/method/agents/hugo/SKILL.md +52 -0
  23. package/dist/method/agents/hugo/agent.yaml +93 -0
  24. package/dist/method/agents/iris/SKILL.md +69 -0
  25. package/dist/method/agents/iris/agent.yaml +86 -0
  26. package/dist/method/agents/izzy/SKILL.md +137 -0
  27. package/dist/method/agents/izzy/agent.yaml +104 -0
  28. package/dist/method/agents/jade/SKILL.md +54 -0
  29. package/dist/method/agents/jade/agent.yaml +94 -0
  30. package/dist/method/agents/julien/SKILL.md +96 -0
  31. package/dist/method/agents/julien/agent.yaml +95 -0
  32. package/dist/method/agents/lina/SKILL.md +54 -0
  33. package/dist/method/agents/lina/agent.yaml +94 -0
  34. package/dist/method/agents/lou/SKILL.md +67 -0
  35. package/dist/method/agents/lou/agent.yaml +84 -0
  36. package/dist/method/agents/maya/SKILL.md +82 -0
  37. package/dist/method/agents/maya/agent.yaml +98 -0
  38. package/dist/method/agents/milo/SKILL.md +79 -0
  39. package/dist/method/agents/milo/agent.yaml +80 -0
  40. package/dist/method/agents/noah/SKILL.md +80 -0
  41. package/dist/method/agents/noah/agent.yaml +73 -0
  42. package/dist/method/agents/noah/references/conduct.md +98 -0
  43. package/dist/method/agents/noah/references/decisions.md +122 -0
  44. package/dist/method/agents/noah/references/environment.md +72 -0
  45. package/dist/method/agents/noah/references/facts.md +13 -0
  46. package/dist/method/agents/noah/references/journey.md +80 -0
  47. package/dist/method/agents/noah/references/team.md +195 -0
  48. package/dist/method/agents/omar/SKILL.md +92 -0
  49. package/dist/method/agents/omar/agent.yaml +86 -0
  50. package/dist/method/agents/quentin/SKILL.md +78 -0
  51. package/dist/method/agents/quentin/agent.yaml +82 -0
  52. package/dist/method/agents/sam/SKILL.md +54 -0
  53. package/dist/method/agents/sam/agent.yaml +94 -0
  54. package/dist/method/agents/stella/SKILL.md +80 -0
  55. package/dist/method/agents/stella/agent.yaml +89 -0
  56. package/dist/method/agents/tess/SKILL.md +64 -0
  57. package/dist/method/agents/tess/agent.yaml +94 -0
  58. package/dist/method/agents/zoe/SKILL.md +85 -0
  59. package/dist/method/agents/zoe/agent.yaml +91 -0
  60. package/dist/method/doctor.yaml +1029 -0
  61. package/dist/method/models.yaml +73 -0
  62. package/dist/method/skills/.gitkeep +0 -0
  63. package/dist/method/skills/acceptance-qa/SKILL.md +40 -0
  64. package/dist/method/skills/acceptance-qa/references/run.md +54 -0
  65. package/dist/method/skills/acceptance-qa/references/scenarios.md +32 -0
  66. package/dist/method/skills/acceptance-qa/references/verdicts.md +43 -0
  67. package/dist/method/skills/api-e2e-tests/SKILL.md +61 -0
  68. package/dist/method/skills/api-e2e-tests/references/ci.md +33 -0
  69. package/dist/method/skills/api-e2e-tests/references/frameworks.md +58 -0
  70. package/dist/method/skills/api-e2e-tests/references/generate.md +67 -0
  71. package/dist/method/skills/audit-pillars/SKILL.md +28 -0
  72. package/dist/method/skills/audit-pillars/references/accessibility.md +13 -0
  73. package/dist/method/skills/audit-pillars/references/architecture.md +13 -0
  74. package/dist/method/skills/audit-pillars/references/dependencies.md +13 -0
  75. package/dist/method/skills/audit-pillars/references/format.md +20 -0
  76. package/dist/method/skills/audit-pillars/references/interface.md +13 -0
  77. package/dist/method/skills/audit-pillars/references/method.md +33 -0
  78. package/dist/method/skills/audit-pillars/references/performance.md +17 -0
  79. package/dist/method/skills/audit-pillars/references/quality.md +11 -0
  80. package/dist/method/skills/audit-pillars/references/security.md +13 -0
  81. package/dist/method/skills/audit-pillars/references/tests.md +17 -0
  82. package/dist/method/skills/chain-stories/SKILL.md +30 -0
  83. package/dist/method/skills/chain-stories/references/attempts.md +19 -0
  84. package/dist/method/skills/chain-stories/references/stops.md +27 -0
  85. package/dist/method/skills/check-readiness/SKILL.md +34 -0
  86. package/dist/method/skills/check-readiness/references/judge.md +21 -0
  87. package/dist/method/skills/check-readiness/references/settle.md +17 -0
  88. package/dist/method/skills/check-requirements/SKILL.md +97 -0
  89. package/dist/method/skills/check-requirements/references/engine-proofs.md +43 -0
  90. package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +45 -0
  91. package/dist/method/skills/correct-course/SKILL.md +15 -0
  92. package/dist/method/skills/correct-course/references/gestures.md +20 -0
  93. package/dist/method/skills/correct-course/references/starts.md +18 -0
  94. package/dist/method/skills/correct-course/references/steps.md +14 -0
  95. package/dist/method/skills/critique-deliverable/SKILL.md +25 -0
  96. package/dist/method/skills/critique-deliverable/references/assumption-audit.md +11 -0
  97. package/dist/method/skills/critique-deliverable/references/choose.md +27 -0
  98. package/dist/method/skills/critique-deliverable/references/compare-existing.md +13 -0
  99. package/dist/method/skills/critique-deliverable/references/devils-advocate.md +13 -0
  100. package/dist/method/skills/critique-deliverable/references/divergence.md +15 -0
  101. package/dist/method/skills/critique-deliverable/references/domain-expert.md +14 -0
  102. package/dist/method/skills/critique-deliverable/references/extreme-user.md +13 -0
  103. package/dist/method/skills/critique-deliverable/references/failure-modes.md +13 -0
  104. package/dist/method/skills/critique-deliverable/references/first-principles.md +12 -0
  105. package/dist/method/skills/critique-deliverable/references/format.md +25 -0
  106. package/dist/method/skills/critique-deliverable/references/gestures.md +24 -0
  107. package/dist/method/skills/critique-deliverable/references/inversion.md +13 -0
  108. package/dist/method/skills/critique-deliverable/references/judgment.md +14 -0
  109. package/dist/method/skills/critique-deliverable/references/pre-mortem.md +12 -0
  110. package/dist/method/skills/critique-deliverable/references/reconcile.md +15 -0
  111. package/dist/method/skills/critique-deliverable/references/red-team.md +12 -0
  112. package/dist/method/skills/critique-deliverable/references/reframe.md +12 -0
  113. package/dist/method/skills/critique-deliverable/references/second-order.md +12 -0
  114. package/dist/method/skills/critique-deliverable/references/socratic.md +15 -0
  115. package/dist/method/skills/critique-deliverable/references/steelman.md +13 -0
  116. package/dist/method/skills/critique-deliverable/references/subtraction.md +12 -0
  117. package/dist/method/skills/deep-research/SKILL.md +43 -0
  118. package/dist/method/skills/deep-research/assets/page-template.md +37 -0
  119. package/dist/method/skills/deep-research/references/candidates.md +29 -0
  120. package/dist/method/skills/deep-research/references/external.md +37 -0
  121. package/dist/method/skills/deep-research/references/page-format.md +51 -0
  122. package/dist/method/skills/deep-research/references/types.md +31 -0
  123. package/dist/method/skills/develop-story/SKILL.md +211 -0
  124. package/dist/method/skills/develop-story/evals/cases.yaml +45 -0
  125. package/dist/method/skills/develop-story/references/acceptance-tests.md +73 -0
  126. package/dist/method/skills/develop-story/references/self-check.md +46 -0
  127. package/dist/method/skills/diagnose-bug/SKILL.md +73 -0
  128. package/dist/method/skills/diagnose-bug/references/hypotheses.md +45 -0
  129. package/dist/method/skills/diagnose-bug/references/probes.md +40 -0
  130. package/dist/method/skills/generate-knowledge-base/SKILL.md +251 -0
  131. package/dist/method/skills/generate-knowledge-base/assets/guide-template.md +49 -0
  132. package/dist/method/skills/generate-knowledge-base/assets/index-template.md +58 -0
  133. package/dist/method/skills/generate-knowledge-base/assets/page-template.md +61 -0
  134. package/dist/method/skills/generate-knowledge-base/assets/release-notes-template.md +38 -0
  135. package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +49 -0
  136. package/dist/method/skills/generate-knowledge-base/references/living-docs.md +81 -0
  137. package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +48 -0
  138. package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +21 -0
  139. package/dist/method/skills/ideation/SKILL.md +44 -0
  140. package/dist/method/skills/ideation/assets/session-template.md +46 -0
  141. package/dist/method/skills/ideation/references/choose.md +21 -0
  142. package/dist/method/skills/ideation/references/close.md +17 -0
  143. package/dist/method/skills/ideation/references/converge.md +24 -0
  144. package/dist/method/skills/ideation/references/gestures.md +15 -0
  145. package/dist/method/skills/ideation/references/stances.md +21 -0
  146. package/dist/method/skills/ideation/references/techniques-borrowed.md +8 -0
  147. package/dist/method/skills/ideation/references/techniques-deep.md +12 -0
  148. package/dist/method/skills/ideation/references/techniques-frames.md +12 -0
  149. package/dist/method/skills/ideation/references/techniques-futures.md +8 -0
  150. package/dist/method/skills/ideation/references/techniques-limits.md +9 -0
  151. package/dist/method/skills/ideation/references/techniques-people.md +7 -0
  152. package/dist/method/skills/ideation/references/techniques-sparks.md +10 -0
  153. package/dist/method/skills/ideation/references/techniques-together.md +11 -0
  154. package/dist/method/skills/improve-code/SKILL.md +74 -0
  155. package/dist/method/skills/improve-code/references/axes.md +45 -0
  156. package/dist/method/skills/improve-session/SKILL.md +47 -0
  157. package/dist/method/skills/order-merges/SKILL.md +71 -0
  158. package/dist/method/skills/pitch/SKILL.md +40 -0
  159. package/dist/method/skills/pitch/assets/deck-template.md +31 -0
  160. package/dist/method/skills/pitch/assets/design-template.md +45 -0
  161. package/dist/method/skills/pitch/assets/narrative-template.md +40 -0
  162. package/dist/method/skills/pitch/references/deck-types.md +17 -0
  163. package/dist/method/skills/pitch/references/deck.md +24 -0
  164. package/dist/method/skills/pitch/references/design-implementation.md +25 -0
  165. package/dist/method/skills/pitch/references/design-methods.md +45 -0
  166. package/dist/method/skills/pitch/references/design-thinking.md +28 -0
  167. package/dist/method/skills/pitch/references/story-frameworks.md +39 -0
  168. package/dist/method/skills/pitch/references/story.md +22 -0
  169. package/dist/method/skills/plan-sprint/SKILL.md +162 -0
  170. package/dist/method/skills/quick-lane/SKILL.md +143 -0
  171. package/dist/method/skills/resolve-merge-conflict/SKILL.md +83 -0
  172. package/dist/method/skills/review-story/SKILL.md +96 -0
  173. package/dist/method/skills/review-story/evals/cases.yaml +59 -0
  174. package/dist/method/skills/review-story/references/amend-story.md +16 -0
  175. package/dist/method/skills/review-story/references/export.md +20 -0
  176. package/dist/method/skills/review-story/references/format.md +33 -0
  177. package/dist/method/skills/review-story/references/free-review.md +22 -0
  178. package/dist/method/skills/review-story/references/judge.md +44 -0
  179. package/dist/method/skills/review-story/references/lens-adversarial.md +15 -0
  180. package/dist/method/skills/review-story/references/lens-edge-cases.md +24 -0
  181. package/dist/method/skills/review-story/references/lens-prose.md +11 -0
  182. package/dist/method/skills/review-story/references/lens-relevance.md +13 -0
  183. package/dist/method/skills/review-story/references/lens-security.md +10 -0
  184. package/dist/method/skills/review-story/references/lens-structure.md +16 -0
  185. package/dist/method/skills/review-story/references/lens-verification-gaps.md +13 -0
  186. package/dist/method/skills/review-story/references/pass-assertions.md +17 -0
  187. package/dist/method/skills/review-story/references/pass-removals.md +13 -0
  188. package/dist/method/skills/review-tests/SKILL.md +32 -0
  189. package/dist/method/skills/review-tests/references/check.md +25 -0
  190. package/dist/method/skills/review-tests/references/grid.md +27 -0
  191. package/dist/method/skills/round-table/SKILL.md +31 -0
  192. package/dist/method/skills/round-table/evals/cases.yaml +27 -0
  193. package/dist/method/skills/round-table/references/cast.md +14 -0
  194. package/dist/method/skills/round-table/references/gestures.md +24 -0
  195. package/dist/method/skills/round-table/references/guests.md +17 -0
  196. package/dist/method/skills/round-table/references/independence.md +21 -0
  197. package/dist/method/skills/round-table/references/rooms.md +29 -0
  198. package/dist/method/skills/round-table/references/three-views.md +17 -0
  199. package/dist/method/skills/round-table/references/turns.md +19 -0
  200. package/dist/method/skills/run-retrospective/SKILL.md +201 -0
  201. package/dist/method/skills/security-review-architecture/SKILL.md +129 -0
  202. package/dist/method/skills/security-review-architecture/assets/architecture-review-template.md +47 -0
  203. package/dist/method/skills/security-review-architecture/references/spec-review.md +48 -0
  204. package/dist/method/skills/setup-ci/SKILL.md +121 -0
  205. package/dist/method/skills/setup-ci/assets/github-actions.yml +52 -0
  206. package/dist/method/skills/setup-ci/assets/gitlab-ci.yml +34 -0
  207. package/dist/method/skills/split-into-stories/SKILL.md +205 -0
  208. package/dist/method/skills/split-into-stories/assets/epic.md.tmpl +31 -0
  209. package/dist/method/skills/split-into-stories/assets/story.md.tmpl +36 -0
  210. package/dist/method/skills/strategy/SKILL.md +44 -0
  211. package/dist/method/skills/strategy/assets/innovation-template.md +60 -0
  212. package/dist/method/skills/strategy/assets/problem-template.md +54 -0
  213. package/dist/method/skills/strategy/references/costs.md +28 -0
  214. package/dist/method/skills/strategy/references/gestures.md +24 -0
  215. package/dist/method/skills/strategy/references/innovate-frameworks.md +48 -0
  216. package/dist/method/skills/strategy/references/innovate.md +40 -0
  217. package/dist/method/skills/strategy/references/solve-methods.md +45 -0
  218. package/dist/method/skills/strategy/references/solve.md +35 -0
  219. package/dist/method/skills/test-idea/SKILL.md +29 -0
  220. package/dist/method/skills/test-idea/assets/forge-template.md +27 -0
  221. package/dist/method/skills/test-idea/assets/prfaq-template.md +33 -0
  222. package/dist/method/skills/test-idea/references/bets.md +14 -0
  223. package/dist/method/skills/test-idea/references/concept.md +24 -0
  224. package/dist/method/skills/test-idea/references/faq.md +34 -0
  225. package/dist/method/skills/test-idea/references/forge.md +36 -0
  226. package/dist/method/skills/test-idea/references/personas.md +23 -0
  227. package/dist/method/skills/test-idea/references/prfaq.md +33 -0
  228. package/dist/method/skills/test-idea/references/verdict.md +26 -0
  229. package/dist/method/skills/workshop/SKILL.md +40 -0
  230. package/dist/method/skills/workshop/references/analyze.md +36 -0
  231. package/dist/method/skills/workshop/references/create.md +45 -0
  232. package/dist/method/skills/workshop/references/customize.md +45 -0
  233. package/dist/method/skills/workshop/references/evaluate.md +44 -0
  234. package/dist/method/skills/workshop/references/rules.md +35 -0
  235. package/dist/method/skills/write-architecture/SKILL.md +233 -0
  236. package/dist/method/skills/write-architecture/assets/architecture-template.md +110 -0
  237. package/dist/method/skills/write-architecture/references/guard.md +40 -0
  238. package/dist/method/skills/write-architecture/references/self-check.md +47 -0
  239. package/dist/method/skills/write-brand/SKILL.md +36 -0
  240. package/dist/method/skills/write-brand/assets/brand-template.md +59 -0
  241. package/dist/method/skills/write-brand/assets/identity-page.html +141 -0
  242. package/dist/method/skills/write-brand/assets/identity-template.md +132 -0
  243. package/dist/method/skills/write-brand/references/identity.md +38 -0
  244. package/dist/method/skills/write-brand/references/platform.md +29 -0
  245. package/dist/method/skills/write-brand/references/rules.md +43 -0
  246. package/dist/method/skills/write-brief/SKILL.md +171 -0
  247. package/dist/method/skills/write-brief/assets/brief-template.md +87 -0
  248. package/dist/method/skills/write-brief/assets/research-note-template.md +43 -0
  249. package/dist/method/skills/write-brief/references/brief-checklist.md +37 -0
  250. package/dist/method/skills/write-content/SKILL.md +233 -0
  251. package/dist/method/skills/write-content/assets/campaign-template.md +94 -0
  252. package/dist/method/skills/write-content/assets/content-template.md +76 -0
  253. package/dist/method/skills/write-content/references/content-checklist.md +67 -0
  254. package/dist/method/skills/write-positioning/SKILL.md +218 -0
  255. package/dist/method/skills/write-positioning/assets/page-template.md +85 -0
  256. package/dist/method/skills/write-positioning/assets/positioning-template.md +79 -0
  257. package/dist/method/skills/write-positioning/references/positioning-checklist.md +44 -0
  258. package/dist/method/skills/write-positioning/references/seo-checklist.md +62 -0
  259. package/dist/method/skills/write-prd/SKILL.md +204 -0
  260. package/dist/method/skills/write-prd/assets/prd-template.md +121 -0
  261. package/dist/method/skills/write-prd/evals/cases.yaml +46 -0
  262. package/dist/method/skills/write-prd/references/prd-checklist.md +68 -0
  263. package/dist/method/skills/write-sales/SKILL.md +236 -0
  264. package/dist/method/skills/write-sales/assets/offer-template.md +93 -0
  265. package/dist/method/skills/write-sales/assets/sequence-template.md +110 -0
  266. package/dist/method/skills/write-sales/references/before-you-send.md +54 -0
  267. package/dist/method/skills/write-sales/references/sales-checklist.md +71 -0
  268. package/dist/method/skills/write-spec/SKILL.md +25 -0
  269. package/dist/method/skills/write-spec/assets/spec-template.md +59 -0
  270. package/dist/method/skills/write-spec/references/spec-guide.md +47 -0
  271. package/dist/method/skills/write-ux-spec/SKILL.md +191 -0
  272. package/dist/method/skills/write-ux-spec/assets/mockup-page.html +36 -0
  273. package/dist/method/skills/write-ux-spec/assets/ux-template.md +206 -0
  274. package/dist/method/skills/write-ux-spec/references/accessibility-check.md +74 -0
  275. package/dist/method/skills/write-ux-spec/references/mockups.md +71 -0
  276. package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +83 -0
  277. package/dist/method/skills/write-ux-spec/references/ux-checklist.md +74 -0
  278. package/dist/product-root.js +21527 -0
  279. package/dist/rolldown-runtime.js +38 -0
  280. package/dist/webauthn-verify.js +1 -0
  281. package/dist/webauthn-verify2.js +107 -0
  282. package/dist/webauthn.js +9798 -0
  283. package/package.json +56 -14
  284. package/bin.mjs +0 -228
@@ -0,0 +1,204 @@
1
+ ---
2
+ name: write-prd
3
+ description: Maya's workflow for the planning phase. Write, update or review the PRD in .agentplugged/docs/prd.md from the approved brief, with stable requirement identifiers.
4
+ metadata:
5
+ agent: maya
6
+ phase: planning
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.
19
+
20
+ Files of this skill:
21
+
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.
24
+
25
+ ## Before you start
26
+
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.
39
+
40
+ ## Identifiers
41
+
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.
54
+
55
+ ## Decisions
56
+
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.
70
+
71
+ ## Steps
72
+
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`.
194
+
195
+ ## Rules
196
+
197
+ - 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).
@@ -0,0 +1,121 @@
1
+ ---
2
+ id: prd
3
+ kind: prd
4
+ owner: maya
5
+ links:
6
+ - brief
7
+ ---
8
+ <!-- Product requirements template (skill write-prd). Copy it to .agentplugged/docs/prd.md,
9
+ write it in the creator's language, and remove these guidance comments as each section is
10
+ written, along with the "Generated by agentplugged" line and every <…> placeholder. Keep the
11
+ header keys as they are; `links` names the brief and the research notes the PRD relies on.
12
+ Never add a status, a cost or a progress to the header.
13
+
14
+ Identifiers: an identifier is defined where it opens a line, a list item, a heading or the first
15
+ cell of a table row; anywhere else it is a mention. Number each prefix in order, never renumber,
16
+ never reuse. To drop a definition, keep it in place with the marker first after the separator,
17
+ for example `EF-2 : (retirée) …`. The sample definitions below (PU-1, EF-1, ENF-1, MS-1) are
18
+ placeholders: replace them, or remove those you do not use.
19
+
20
+ A spot waiting for a decision checkpoint carries [open: G-…] at the end of its sentence (after
21
+ the separator of a definition), never at the start of a line and never before an
22
+ identifier. -->
23
+
24
+ # Product requirements: <product name>
25
+
26
+ ## Purpose of this document
27
+
28
+ <!-- One paragraph: who reads this PRD, what it builds on (the brief, research notes), and what
29
+ comes after it (UX specification, architecture, stories). -->
30
+
31
+ ## Vision and goals
32
+
33
+ <!-- What the product does for its users and why it matters, in a few sentences. Then the goals
34
+ of the first release, each one tied to a success metric below. -->
35
+
36
+ ## Users
37
+
38
+ ### Who it is for
39
+
40
+ <!-- The groups of users and what each one is trying to get done. -->
41
+
42
+ ### Not for, in the first release
43
+
44
+ <!-- Who is explicitly not served yet, when the boundary is not obvious. -->
45
+
46
+ ## Glossary
47
+
48
+ <!-- Each domain term once, with its definition. Use exactly these words everywhere else. -->
49
+
50
+ - **<term>** — <definition>.
51
+
52
+ ## User journeys
53
+
54
+ <!-- One journey per real session, told by the creator with a named (made-up) person. Below the
55
+ definition: where it starts, the steps, the moment of value, what can go wrong. -->
56
+
57
+ - PU-1 : <person> <does what>, <in which situation>.
58
+ - Starting point: <where they are, what they already have>.
59
+ - Steps: <three to five concrete steps>.
60
+ - Moment of value: <when and how they get what they came for>.
61
+ - What can go wrong: <one real failure and what they do next>.
62
+
63
+ ## Functional requirements
64
+
65
+ ### <feature name>
66
+
67
+ <!-- A short description of the feature and the journeys it serves, then one requirement per
68
+ capability: who can do what, under which condition. Below each, the consequences a test can
69
+ check. Capabilities only, never a technical solution. -->
70
+
71
+ - EF-1 : <actor> can <capability> <condition>. Serves PU-1.
72
+ - <a consequence a test can check>
73
+
74
+ ## Non-functional requirements
75
+
76
+ <!-- Qualities of the whole product, each with a threshold and how it is measured: response
77
+ time, availability, security, privacy, accessibility, cost. -->
78
+
79
+ - ENF-1 : <quality> <threshold>, measured by <method>.
80
+
81
+ ## Success metrics
82
+
83
+ <!-- Each metric: its target, how and when it is observed, the requirements it validates. At
84
+ least one counter-metric: what must not get worse while the others improve. -->
85
+
86
+ - MS-1 : <metric> reaches <target>, observed by <method> <when>. Validates EF-1.
87
+
88
+ ## First release
89
+
90
+ ### In
91
+
92
+ - <what the first release covers>
93
+
94
+ ### Later
95
+
96
+ - <what waits, and why>
97
+
98
+ ## Out of scope
99
+
100
+ - <what the product will not do>
101
+
102
+ ## Decisions
103
+
104
+ <!-- One row per decision checkpoint, once the creator has answered it. -->
105
+
106
+ | Checkpoint | Question | Decision | Identifiers concerned |
107
+ | --- | --- | --- | --- |
108
+ | G-<id> | <the ambiguity> | <the option chosen, and why> | <identifiers> |
109
+
110
+ ## Open questions
111
+
112
+ <!-- What is still unknown, who answers it (the creator, Stella, Alex) and when it must be
113
+ settled. Spots still waiting for a decision carry [open: G-…] in the text. -->
114
+
115
+ - <question>
116
+
117
+ ## Assumptions
118
+
119
+ <!-- Every [assumption] mark of the document, gathered for the creator to confirm. -->
120
+
121
+ - <assumption>
@@ -0,0 +1,46 @@
1
+ # How write-prd behaves. Run: agentplugged eval run write-prd --method
2
+ # The engine's tools are not in the run: the state says what they answered, and the files are written in the folder.
3
+ cases:
4
+ - id: prd-from-brief
5
+ state: "state.get answered: Maya is an active agent, the creator approved the brief in .agentplugged/docs/brief.md and answered every question. The engine's tools are not available in this run: make no call to them, write the document in the folder."
6
+ input: "Write the PRD from my approved brief."
7
+ files:
8
+ - path: .agentplugged/docs/brief.md
9
+ text: |
10
+ # Brief: Invoicely
11
+ For freelancers who invoice a few clients a month.
12
+ What it does: create an invoice from a client and lines of work; send it to the client by email;
13
+ show which invoices are paid and which are late.
14
+ What it does not do: accounting, taxes, payroll.
15
+ Success: a freelancer sends a first invoice in under five minutes.
16
+ checks:
17
+ - { kind: file_has, path: .agentplugged/docs/prd.md, text: "EF-1" }
18
+ - { kind: file_has, path: .agentplugged/docs/prd.md, text: "Invoicely" }
19
+ - { kind: file_lacks, path: .agentplugged/docs/prd.md, text: "TODO" }
20
+ rubric:
21
+ - "prd.md has a requirement for creating an invoice, one for sending it by email and one for showing paid and late invoices, each under its own EF-n identifier that opens its line"
22
+ - "prd.md has no requirement about accounting, taxes or payroll, which the brief leaves out"
23
+ - "Each EF requirement says one thing that a test could check, with no 'and' joining two behaviours"
24
+ - "prd.md carries the five-minute first invoice as a measurable success metric (an MS-n identifier)"
25
+ - id: prd-ambiguous-need
26
+ state: "state.get answered: Maya is an active agent. The engine's tools are not available in this run: make no call to them, write in the folder. The creator is away: do not wait for an answer."
27
+ input: "Update the PRD: add that invoices should be 'sent automatically'."
28
+ files:
29
+ - path: .agentplugged/docs/prd.md
30
+ text: |
31
+ # PRD: Invoicely
32
+ - EF-1: The freelancer creates an invoice from a client and lines of work.
33
+ - EF-2: The freelancer sends an invoice to the client by email.
34
+ checks:
35
+ # The requirements already written keep their number and their text, whatever else happens.
36
+ - { kind: file_has, path: .agentplugged/docs/prd.md, text: "EF-1: The freelancer creates an invoice from a client and lines of work." }
37
+ - { kind: file_has, path: .agentplugged/docs/prd.md, text: "EF-2: The freelancer sends an invoice to the client by email." }
38
+ rubric:
39
+ - "The answer or the PRD says that 'sent automatically' can be read two ways (for example on creation, or on a due date) and does not pick one as if the creator had said it"
40
+ - "If a new requirement was written, its identifier is EF-3 and EF-1 and EF-2 keep their number and their text"
41
+ triggers:
42
+ - { query: "write the PRD from the approved brief, with stable requirement identifiers", should_trigger: true }
43
+ - { query: "update the PRD: add a requirement for exporting invoices", should_trigger: true }
44
+ - { query: "review the PRD and its requirement identifiers", should_trigger: true }
45
+ - { query: "write the product brief from my idea", should_trigger: false }
46
+ - { query: "turn the approved requirement list into stories", should_trigger: false }
@@ -0,0 +1,68 @@
1
+ # PRD checklist
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.
5
+
6
+ ## Header and identifiers
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.
18
+
19
+ ## Traceability
20
+
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.
44
+
45
+ ## Judgment of the whole
46
+
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.
52
+
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.
61
+
62
+ ## Scope and form
63
+
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.