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.
- package/LICENSE-METHOD +21 -0
- package/README.md +240 -16
- package/dist/agent-commands.js +46540 -0
- package/dist/bin.js +13 -0
- package/dist/cli.js +44 -0
- package/dist/esm.js +920 -0
- package/dist/forge-follow.js +231 -0
- package/dist/helpers.js +18526 -0
- package/dist/helpers2.js +1 -0
- package/dist/launcher-env.js +13 -0
- package/dist/launcher.js +308 -0
- package/dist/libsodium-wrappers.js +4384 -0
- package/dist/libsodium-wrappers2.js +4384 -0
- package/dist/main.js +17776 -0
- package/dist/method/LICENSE +21 -0
- package/dist/method/agents/alex/SKILL.md +87 -0
- package/dist/method/agents/alex/agent.yaml +94 -0
- package/dist/method/agents/chloe/SKILL.md +97 -0
- package/dist/method/agents/chloe/agent.yaml +87 -0
- package/dist/method/agents/ethan/SKILL.md +55 -0
- package/dist/method/agents/ethan/agent.yaml +94 -0
- package/dist/method/agents/hugo/SKILL.md +52 -0
- package/dist/method/agents/hugo/agent.yaml +93 -0
- package/dist/method/agents/iris/SKILL.md +69 -0
- package/dist/method/agents/iris/agent.yaml +86 -0
- package/dist/method/agents/izzy/SKILL.md +137 -0
- package/dist/method/agents/izzy/agent.yaml +104 -0
- package/dist/method/agents/jade/SKILL.md +54 -0
- package/dist/method/agents/jade/agent.yaml +94 -0
- package/dist/method/agents/julien/SKILL.md +96 -0
- package/dist/method/agents/julien/agent.yaml +95 -0
- package/dist/method/agents/lina/SKILL.md +54 -0
- package/dist/method/agents/lina/agent.yaml +94 -0
- package/dist/method/agents/lou/SKILL.md +67 -0
- package/dist/method/agents/lou/agent.yaml +84 -0
- package/dist/method/agents/maya/SKILL.md +82 -0
- package/dist/method/agents/maya/agent.yaml +98 -0
- package/dist/method/agents/milo/SKILL.md +79 -0
- package/dist/method/agents/milo/agent.yaml +80 -0
- package/dist/method/agents/noah/SKILL.md +80 -0
- package/dist/method/agents/noah/agent.yaml +73 -0
- package/dist/method/agents/noah/references/conduct.md +98 -0
- package/dist/method/agents/noah/references/decisions.md +122 -0
- package/dist/method/agents/noah/references/environment.md +72 -0
- package/dist/method/agents/noah/references/facts.md +13 -0
- package/dist/method/agents/noah/references/journey.md +80 -0
- package/dist/method/agents/noah/references/team.md +195 -0
- package/dist/method/agents/omar/SKILL.md +92 -0
- package/dist/method/agents/omar/agent.yaml +86 -0
- package/dist/method/agents/quentin/SKILL.md +78 -0
- package/dist/method/agents/quentin/agent.yaml +82 -0
- package/dist/method/agents/sam/SKILL.md +54 -0
- package/dist/method/agents/sam/agent.yaml +94 -0
- package/dist/method/agents/stella/SKILL.md +80 -0
- package/dist/method/agents/stella/agent.yaml +89 -0
- package/dist/method/agents/tess/SKILL.md +64 -0
- package/dist/method/agents/tess/agent.yaml +94 -0
- package/dist/method/agents/zoe/SKILL.md +85 -0
- package/dist/method/agents/zoe/agent.yaml +91 -0
- package/dist/method/doctor.yaml +1029 -0
- package/dist/method/models.yaml +73 -0
- package/dist/method/skills/.gitkeep +0 -0
- package/dist/method/skills/acceptance-qa/SKILL.md +40 -0
- package/dist/method/skills/acceptance-qa/references/run.md +54 -0
- package/dist/method/skills/acceptance-qa/references/scenarios.md +32 -0
- package/dist/method/skills/acceptance-qa/references/verdicts.md +43 -0
- package/dist/method/skills/api-e2e-tests/SKILL.md +61 -0
- package/dist/method/skills/api-e2e-tests/references/ci.md +33 -0
- package/dist/method/skills/api-e2e-tests/references/frameworks.md +58 -0
- package/dist/method/skills/api-e2e-tests/references/generate.md +67 -0
- package/dist/method/skills/audit-pillars/SKILL.md +28 -0
- package/dist/method/skills/audit-pillars/references/accessibility.md +13 -0
- package/dist/method/skills/audit-pillars/references/architecture.md +13 -0
- package/dist/method/skills/audit-pillars/references/dependencies.md +13 -0
- package/dist/method/skills/audit-pillars/references/format.md +20 -0
- package/dist/method/skills/audit-pillars/references/interface.md +13 -0
- package/dist/method/skills/audit-pillars/references/method.md +33 -0
- package/dist/method/skills/audit-pillars/references/performance.md +17 -0
- package/dist/method/skills/audit-pillars/references/quality.md +11 -0
- package/dist/method/skills/audit-pillars/references/security.md +13 -0
- package/dist/method/skills/audit-pillars/references/tests.md +17 -0
- package/dist/method/skills/chain-stories/SKILL.md +30 -0
- package/dist/method/skills/chain-stories/references/attempts.md +19 -0
- package/dist/method/skills/chain-stories/references/stops.md +27 -0
- package/dist/method/skills/check-readiness/SKILL.md +34 -0
- package/dist/method/skills/check-readiness/references/judge.md +21 -0
- package/dist/method/skills/check-readiness/references/settle.md +17 -0
- package/dist/method/skills/check-requirements/SKILL.md +97 -0
- package/dist/method/skills/check-requirements/references/engine-proofs.md +43 -0
- package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +45 -0
- package/dist/method/skills/correct-course/SKILL.md +15 -0
- package/dist/method/skills/correct-course/references/gestures.md +20 -0
- package/dist/method/skills/correct-course/references/starts.md +18 -0
- package/dist/method/skills/correct-course/references/steps.md +14 -0
- package/dist/method/skills/critique-deliverable/SKILL.md +25 -0
- package/dist/method/skills/critique-deliverable/references/assumption-audit.md +11 -0
- package/dist/method/skills/critique-deliverable/references/choose.md +27 -0
- package/dist/method/skills/critique-deliverable/references/compare-existing.md +13 -0
- package/dist/method/skills/critique-deliverable/references/devils-advocate.md +13 -0
- package/dist/method/skills/critique-deliverable/references/divergence.md +15 -0
- package/dist/method/skills/critique-deliverable/references/domain-expert.md +14 -0
- package/dist/method/skills/critique-deliverable/references/extreme-user.md +13 -0
- package/dist/method/skills/critique-deliverable/references/failure-modes.md +13 -0
- package/dist/method/skills/critique-deliverable/references/first-principles.md +12 -0
- package/dist/method/skills/critique-deliverable/references/format.md +25 -0
- package/dist/method/skills/critique-deliverable/references/gestures.md +24 -0
- package/dist/method/skills/critique-deliverable/references/inversion.md +13 -0
- package/dist/method/skills/critique-deliverable/references/judgment.md +14 -0
- package/dist/method/skills/critique-deliverable/references/pre-mortem.md +12 -0
- package/dist/method/skills/critique-deliverable/references/reconcile.md +15 -0
- package/dist/method/skills/critique-deliverable/references/red-team.md +12 -0
- package/dist/method/skills/critique-deliverable/references/reframe.md +12 -0
- package/dist/method/skills/critique-deliverable/references/second-order.md +12 -0
- package/dist/method/skills/critique-deliverable/references/socratic.md +15 -0
- package/dist/method/skills/critique-deliverable/references/steelman.md +13 -0
- package/dist/method/skills/critique-deliverable/references/subtraction.md +12 -0
- package/dist/method/skills/deep-research/SKILL.md +43 -0
- package/dist/method/skills/deep-research/assets/page-template.md +37 -0
- package/dist/method/skills/deep-research/references/candidates.md +29 -0
- package/dist/method/skills/deep-research/references/external.md +37 -0
- package/dist/method/skills/deep-research/references/page-format.md +51 -0
- package/dist/method/skills/deep-research/references/types.md +31 -0
- package/dist/method/skills/develop-story/SKILL.md +211 -0
- package/dist/method/skills/develop-story/evals/cases.yaml +45 -0
- package/dist/method/skills/develop-story/references/acceptance-tests.md +73 -0
- package/dist/method/skills/develop-story/references/self-check.md +46 -0
- package/dist/method/skills/diagnose-bug/SKILL.md +73 -0
- package/dist/method/skills/diagnose-bug/references/hypotheses.md +45 -0
- package/dist/method/skills/diagnose-bug/references/probes.md +40 -0
- package/dist/method/skills/generate-knowledge-base/SKILL.md +251 -0
- package/dist/method/skills/generate-knowledge-base/assets/guide-template.md +49 -0
- package/dist/method/skills/generate-knowledge-base/assets/index-template.md +58 -0
- package/dist/method/skills/generate-knowledge-base/assets/page-template.md +61 -0
- package/dist/method/skills/generate-knowledge-base/assets/release-notes-template.md +38 -0
- package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +49 -0
- package/dist/method/skills/generate-knowledge-base/references/living-docs.md +81 -0
- package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +48 -0
- package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +21 -0
- package/dist/method/skills/ideation/SKILL.md +44 -0
- package/dist/method/skills/ideation/assets/session-template.md +46 -0
- package/dist/method/skills/ideation/references/choose.md +21 -0
- package/dist/method/skills/ideation/references/close.md +17 -0
- package/dist/method/skills/ideation/references/converge.md +24 -0
- package/dist/method/skills/ideation/references/gestures.md +15 -0
- package/dist/method/skills/ideation/references/stances.md +21 -0
- package/dist/method/skills/ideation/references/techniques-borrowed.md +8 -0
- package/dist/method/skills/ideation/references/techniques-deep.md +12 -0
- package/dist/method/skills/ideation/references/techniques-frames.md +12 -0
- package/dist/method/skills/ideation/references/techniques-futures.md +8 -0
- package/dist/method/skills/ideation/references/techniques-limits.md +9 -0
- package/dist/method/skills/ideation/references/techniques-people.md +7 -0
- package/dist/method/skills/ideation/references/techniques-sparks.md +10 -0
- package/dist/method/skills/ideation/references/techniques-together.md +11 -0
- package/dist/method/skills/improve-code/SKILL.md +74 -0
- package/dist/method/skills/improve-code/references/axes.md +45 -0
- package/dist/method/skills/improve-session/SKILL.md +47 -0
- package/dist/method/skills/order-merges/SKILL.md +71 -0
- package/dist/method/skills/pitch/SKILL.md +40 -0
- package/dist/method/skills/pitch/assets/deck-template.md +31 -0
- package/dist/method/skills/pitch/assets/design-template.md +45 -0
- package/dist/method/skills/pitch/assets/narrative-template.md +40 -0
- package/dist/method/skills/pitch/references/deck-types.md +17 -0
- package/dist/method/skills/pitch/references/deck.md +24 -0
- package/dist/method/skills/pitch/references/design-implementation.md +25 -0
- package/dist/method/skills/pitch/references/design-methods.md +45 -0
- package/dist/method/skills/pitch/references/design-thinking.md +28 -0
- package/dist/method/skills/pitch/references/story-frameworks.md +39 -0
- package/dist/method/skills/pitch/references/story.md +22 -0
- package/dist/method/skills/plan-sprint/SKILL.md +162 -0
- package/dist/method/skills/quick-lane/SKILL.md +143 -0
- package/dist/method/skills/resolve-merge-conflict/SKILL.md +83 -0
- package/dist/method/skills/review-story/SKILL.md +96 -0
- package/dist/method/skills/review-story/evals/cases.yaml +59 -0
- package/dist/method/skills/review-story/references/amend-story.md +16 -0
- package/dist/method/skills/review-story/references/export.md +20 -0
- package/dist/method/skills/review-story/references/format.md +33 -0
- package/dist/method/skills/review-story/references/free-review.md +22 -0
- package/dist/method/skills/review-story/references/judge.md +44 -0
- package/dist/method/skills/review-story/references/lens-adversarial.md +15 -0
- package/dist/method/skills/review-story/references/lens-edge-cases.md +24 -0
- package/dist/method/skills/review-story/references/lens-prose.md +11 -0
- package/dist/method/skills/review-story/references/lens-relevance.md +13 -0
- package/dist/method/skills/review-story/references/lens-security.md +10 -0
- package/dist/method/skills/review-story/references/lens-structure.md +16 -0
- package/dist/method/skills/review-story/references/lens-verification-gaps.md +13 -0
- package/dist/method/skills/review-story/references/pass-assertions.md +17 -0
- package/dist/method/skills/review-story/references/pass-removals.md +13 -0
- package/dist/method/skills/review-tests/SKILL.md +32 -0
- package/dist/method/skills/review-tests/references/check.md +25 -0
- package/dist/method/skills/review-tests/references/grid.md +27 -0
- package/dist/method/skills/round-table/SKILL.md +31 -0
- package/dist/method/skills/round-table/evals/cases.yaml +27 -0
- package/dist/method/skills/round-table/references/cast.md +14 -0
- package/dist/method/skills/round-table/references/gestures.md +24 -0
- package/dist/method/skills/round-table/references/guests.md +17 -0
- package/dist/method/skills/round-table/references/independence.md +21 -0
- package/dist/method/skills/round-table/references/rooms.md +29 -0
- package/dist/method/skills/round-table/references/three-views.md +17 -0
- package/dist/method/skills/round-table/references/turns.md +19 -0
- package/dist/method/skills/run-retrospective/SKILL.md +201 -0
- package/dist/method/skills/security-review-architecture/SKILL.md +129 -0
- package/dist/method/skills/security-review-architecture/assets/architecture-review-template.md +47 -0
- package/dist/method/skills/security-review-architecture/references/spec-review.md +48 -0
- package/dist/method/skills/setup-ci/SKILL.md +121 -0
- package/dist/method/skills/setup-ci/assets/github-actions.yml +52 -0
- package/dist/method/skills/setup-ci/assets/gitlab-ci.yml +34 -0
- package/dist/method/skills/split-into-stories/SKILL.md +205 -0
- package/dist/method/skills/split-into-stories/assets/epic.md.tmpl +31 -0
- package/dist/method/skills/split-into-stories/assets/story.md.tmpl +36 -0
- package/dist/method/skills/strategy/SKILL.md +44 -0
- package/dist/method/skills/strategy/assets/innovation-template.md +60 -0
- package/dist/method/skills/strategy/assets/problem-template.md +54 -0
- package/dist/method/skills/strategy/references/costs.md +28 -0
- package/dist/method/skills/strategy/references/gestures.md +24 -0
- package/dist/method/skills/strategy/references/innovate-frameworks.md +48 -0
- package/dist/method/skills/strategy/references/innovate.md +40 -0
- package/dist/method/skills/strategy/references/solve-methods.md +45 -0
- package/dist/method/skills/strategy/references/solve.md +35 -0
- package/dist/method/skills/test-idea/SKILL.md +29 -0
- package/dist/method/skills/test-idea/assets/forge-template.md +27 -0
- package/dist/method/skills/test-idea/assets/prfaq-template.md +33 -0
- package/dist/method/skills/test-idea/references/bets.md +14 -0
- package/dist/method/skills/test-idea/references/concept.md +24 -0
- package/dist/method/skills/test-idea/references/faq.md +34 -0
- package/dist/method/skills/test-idea/references/forge.md +36 -0
- package/dist/method/skills/test-idea/references/personas.md +23 -0
- package/dist/method/skills/test-idea/references/prfaq.md +33 -0
- package/dist/method/skills/test-idea/references/verdict.md +26 -0
- package/dist/method/skills/workshop/SKILL.md +40 -0
- package/dist/method/skills/workshop/references/analyze.md +36 -0
- package/dist/method/skills/workshop/references/create.md +45 -0
- package/dist/method/skills/workshop/references/customize.md +45 -0
- package/dist/method/skills/workshop/references/evaluate.md +44 -0
- package/dist/method/skills/workshop/references/rules.md +35 -0
- package/dist/method/skills/write-architecture/SKILL.md +233 -0
- package/dist/method/skills/write-architecture/assets/architecture-template.md +110 -0
- package/dist/method/skills/write-architecture/references/guard.md +40 -0
- package/dist/method/skills/write-architecture/references/self-check.md +47 -0
- package/dist/method/skills/write-brand/SKILL.md +36 -0
- package/dist/method/skills/write-brand/assets/brand-template.md +59 -0
- package/dist/method/skills/write-brand/assets/identity-page.html +141 -0
- package/dist/method/skills/write-brand/assets/identity-template.md +132 -0
- package/dist/method/skills/write-brand/references/identity.md +38 -0
- package/dist/method/skills/write-brand/references/platform.md +29 -0
- package/dist/method/skills/write-brand/references/rules.md +43 -0
- package/dist/method/skills/write-brief/SKILL.md +171 -0
- package/dist/method/skills/write-brief/assets/brief-template.md +87 -0
- package/dist/method/skills/write-brief/assets/research-note-template.md +43 -0
- package/dist/method/skills/write-brief/references/brief-checklist.md +37 -0
- package/dist/method/skills/write-content/SKILL.md +233 -0
- package/dist/method/skills/write-content/assets/campaign-template.md +94 -0
- package/dist/method/skills/write-content/assets/content-template.md +76 -0
- package/dist/method/skills/write-content/references/content-checklist.md +67 -0
- package/dist/method/skills/write-positioning/SKILL.md +218 -0
- package/dist/method/skills/write-positioning/assets/page-template.md +85 -0
- package/dist/method/skills/write-positioning/assets/positioning-template.md +79 -0
- package/dist/method/skills/write-positioning/references/positioning-checklist.md +44 -0
- package/dist/method/skills/write-positioning/references/seo-checklist.md +62 -0
- package/dist/method/skills/write-prd/SKILL.md +204 -0
- package/dist/method/skills/write-prd/assets/prd-template.md +121 -0
- package/dist/method/skills/write-prd/evals/cases.yaml +46 -0
- package/dist/method/skills/write-prd/references/prd-checklist.md +68 -0
- package/dist/method/skills/write-sales/SKILL.md +236 -0
- package/dist/method/skills/write-sales/assets/offer-template.md +93 -0
- package/dist/method/skills/write-sales/assets/sequence-template.md +110 -0
- package/dist/method/skills/write-sales/references/before-you-send.md +54 -0
- package/dist/method/skills/write-sales/references/sales-checklist.md +71 -0
- package/dist/method/skills/write-spec/SKILL.md +25 -0
- package/dist/method/skills/write-spec/assets/spec-template.md +59 -0
- package/dist/method/skills/write-spec/references/spec-guide.md +47 -0
- package/dist/method/skills/write-ux-spec/SKILL.md +191 -0
- package/dist/method/skills/write-ux-spec/assets/mockup-page.html +36 -0
- package/dist/method/skills/write-ux-spec/assets/ux-template.md +206 -0
- package/dist/method/skills/write-ux-spec/references/accessibility-check.md +74 -0
- package/dist/method/skills/write-ux-spec/references/mockups.md +71 -0
- package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +83 -0
- package/dist/method/skills/write-ux-spec/references/ux-checklist.md +74 -0
- package/dist/product-root.js +21527 -0
- package/dist/rolldown-runtime.js +38 -0
- package/dist/webauthn-verify.js +1 -0
- package/dist/webauthn-verify2.js +107 -0
- package/dist/webauthn.js +9798 -0
- package/package.json +56 -14
- 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.
|