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,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: design-topic
|
|
3
|
+
kind: note
|
|
4
|
+
owner: stella
|
|
5
|
+
links: [prd]
|
|
6
|
+
language: en
|
|
7
|
+
---
|
|
8
|
+
<!-- Design thinking synthesis (skill pitch). Copy it to .agentplugged/docs/launch/design/<topic>.md,
|
|
9
|
+
replace `topic` in the `id` by the topic's slug. A step not run keeps its section with one line
|
|
10
|
+
saying why. Remove these comments, the "Generated by agentplugged" line and every <…> placeholder.
|
|
11
|
+
`links`: the documents it is drawn from, at least one. Never add a status or a cost. -->
|
|
12
|
+
|
|
13
|
+
# Design thinking: <topic>
|
|
14
|
+
|
|
15
|
+
## Empathy
|
|
16
|
+
|
|
17
|
+
<what the user does, says, feels, and what blocks them; the source of each>
|
|
18
|
+
|
|
19
|
+
## Definition
|
|
20
|
+
|
|
21
|
+
<the user needs a need because an insight; the "How might we" questions>
|
|
22
|
+
|
|
23
|
+
## Ideas
|
|
24
|
+
|
|
25
|
+
- <idea kept, and why>
|
|
26
|
+
|
|
27
|
+
## Prototype
|
|
28
|
+
|
|
29
|
+
<the cheapest testable form, and what it leaves out>
|
|
30
|
+
|
|
31
|
+
## Test
|
|
32
|
+
|
|
33
|
+
<who, which task, what would prove it wrong; results with their date>
|
|
34
|
+
|
|
35
|
+
## Next round
|
|
36
|
+
|
|
37
|
+
<!-- Optional: refine, reframe, pilot; the priority action; the metric and its date. -->
|
|
38
|
+
|
|
39
|
+
<the next step>
|
|
40
|
+
|
|
41
|
+
## Implementation
|
|
42
|
+
|
|
43
|
+
<!-- Optional, last step: test plan, feedback to collect, one line per learning. -->
|
|
44
|
+
|
|
45
|
+
<the lines, each a hypothesis or a story>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: narrative
|
|
3
|
+
kind: note
|
|
4
|
+
owner: julien
|
|
5
|
+
links: [brief]
|
|
6
|
+
language: en
|
|
7
|
+
---
|
|
8
|
+
<!-- Story of the product (skill pitch). Copy it to .agentplugged/docs/launch/narrative.md and write
|
|
9
|
+
it in the language of its audience (`language`: fr, en...). Remove these comments, the "Generated by
|
|
10
|
+
agentplugged" line and every <…> placeholder. `links`: the ids of the documents it is drawn from
|
|
11
|
+
(brief, prd, positioning, prfaq...), at least one. Never add a status or a cost. -->
|
|
12
|
+
|
|
13
|
+
# Story: <audience>
|
|
14
|
+
|
|
15
|
+
## Audience
|
|
16
|
+
|
|
17
|
+
<who they are, and what they care about>
|
|
18
|
+
|
|
19
|
+
## Story
|
|
20
|
+
|
|
21
|
+
<one hero, one tension, one turn>
|
|
22
|
+
|
|
23
|
+
## Proof
|
|
24
|
+
|
|
25
|
+
| Claim | Status | Source |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| <claim> | <verified, stated or untrusted> | <document, date or link> |
|
|
28
|
+
|
|
29
|
+
## Ask
|
|
30
|
+
|
|
31
|
+
<the one thing the audience is asked to do>
|
|
32
|
+
|
|
33
|
+
## Versions
|
|
34
|
+
|
|
35
|
+
<!-- Optional: short (one to three sentences), medium (a paragraph), and where each is used. -->
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
<!-- Optional: channels, adaptations per audience, tone, how to test it. -->
|
|
40
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Kinds of talk
|
|
2
|
+
|
|
3
|
+
Ask which, then shape the same `deck.md`.
|
|
4
|
+
|
|
5
|
+
- **Product deck** (users, partners): 6 to 8 slides. Situation, pain, the product at work, the proof, how
|
|
6
|
+
to start.
|
|
7
|
+
- **Investor deck**: 10 to 12. Problem, who has it, why now, product, proof so far (every figure sourced),
|
|
8
|
+
market, model, team, the ask and what it buys. A number is the creator's or `[to verify]`.
|
|
9
|
+
- **Conference talk or workshop**: large type, few words; the speaker notes carry the talk, with timing
|
|
10
|
+
cues the creator sets; hook, build, payoff; for a workshop, a slide per exercise with its instruction.
|
|
11
|
+
- **Video explainer**: slides are scenes. Name the hook at the opening, then a change of picture or a
|
|
12
|
+
new question every 15 to 30 seconds; each scene has `Visual:` and the spoken text in `Notes:`.
|
|
13
|
+
- **Single visual** (infographic, one image that explains the idea): one slide whose `Visual:` line
|
|
14
|
+
states the metaphor and the one thing to grasp; the notes say why it works.
|
|
15
|
+
- **Concept diagram** (journey, process, a metaphor): one slide per stage, `Visual:` describing the drawing.
|
|
16
|
+
|
|
17
|
+
For all: story shape (hook, tension, payoff), clarity before cleverness, white space, a consistent look.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# The deck, as a plan
|
|
2
|
+
|
|
3
|
+
Build from the narrative: its story becomes the slides, its Proof the evidence slides, its Ask the
|
|
4
|
+
last slide. Length and shape by kind of talk: `deck-types.md`.
|
|
5
|
+
|
|
6
|
+
- With a brand identity (`launch/identity.md`), the deck takes its tokens and its voice (`launch/brand.md`).
|
|
7
|
+
- One idea per slide. The title is the claim, in a sentence ("Makers lose a week to rework"), not a
|
|
8
|
+
topic. Content: at most 6 filled lines (a table counts as one, the `Visual:` line as one), or one figure with its source.
|
|
9
|
+
- The 3-second test: can a viewer take the idea in three seconds? Else cut. Every slide has a job:
|
|
10
|
+
inform, persuade, or move on; otherwise it goes.
|
|
11
|
+
- Each slide has a line `Notes:` with what the speaker says: the story, the context of a figure, the
|
|
12
|
+
likely question and its answer. Notes carry the detail, the slide stays light.
|
|
13
|
+
- Slides are sections `## Slide 1 — <claim>`, numbered in order. Markdown is the export: a section is
|
|
14
|
+
a slide, the `Notes:` line its notes; the creator pastes them into the tool they use.
|
|
15
|
+
- A visual is one line, `Visual: <kind> — why`. Never fetch an image. The page draws three kinds from the slide's own
|
|
16
|
+
words: `figures` (a list "42 % — what it says"), `diagram` (a list of steps, joined by arrows), `quote` (a
|
|
17
|
+
quote, last line "— who"). Any other visual stays a line for a designer (Julien's `VI`).
|
|
18
|
+
- One visual language for the whole deck: the identity of `ux.md` when it exists.
|
|
19
|
+
|
|
20
|
+
Drawn: `npx agentplugged docs slides` writes `launch/deck.html` from the file, same text: one slide per screen, arrows or
|
|
21
|
+
space to move, N notes, T light or dark, F full screen, print for a PDF. Nothing to install, nothing sent.
|
|
22
|
+
|
|
23
|
+
Check: a slide with two ideas is split; a figure has its source or `[to verify]`; the last slide says
|
|
24
|
+
what to do; `docs check` reports nothing.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Design thinking, the last step: implementation
|
|
2
|
+
|
|
3
|
+
Read when the prototype exists. Write it in `## Implementation` of the synthesis, from the creator's words
|
|
4
|
+
and the test results, never invented. A step with nothing to say keeps one line saying why.
|
|
5
|
+
|
|
6
|
+
1. **Test plan** (if the test has not run). Who: five to seven people and how to reach them. What: one task
|
|
7
|
+
each, one thing measured per assumption. The success criterion, fixed before the test ("4 of 5 finish
|
|
8
|
+
alone"). When, and who watches. Offer a script: the task, the questions, what to observe.
|
|
9
|
+
2. **Feedback to collect.** What exactly (blocked, confused, liked, asked for), by which channel (call, notes,
|
|
10
|
+
form, usage), and where it comes back in this file, dated.
|
|
11
|
+
3. **From learning to product.** One line per learning, "what we learned → what to do", with its source (test,
|
|
12
|
+
date). The creator picks one gesture per line, you never choose:
|
|
13
|
+
- **hypothesis**: the product follows it until its proof. Report them in one `review.critique`
|
|
14
|
+
(`agent: stella`, `kind: idea`, `lenses: ["socratic"]`, `summary` the test in one line; one finding each:
|
|
15
|
+
`severity: should_fix`, `claim` the learning as a checkable statement, `passage` `design-<slug>`,
|
|
16
|
+
`argument` the observation, `proposal`, `proof` the measure and criterion of the plan). Then the gestures
|
|
17
|
+
as in `.agentplugged/skills/test-idea/references/bets.md`. Refused `critique_unsorted`: sort the earlier
|
|
18
|
+
stack first.
|
|
19
|
+
- **story**: a proposal in one line ("<who> can <do what> so that <why>"), kept with `plan.defer`
|
|
20
|
+
(`origin: deliberate`, `owner: creator`, `title` the line, `detail` the learning and its source). It is
|
|
21
|
+
cut up at the next planning.
|
|
22
|
+
- **drop**, with their reason in the file.
|
|
23
|
+
4. **Pilot** (a service, or a first real run): who, how long, who must be aligned (team, partners), the one
|
|
24
|
+
metric and its date, what makes you stop.
|
|
25
|
+
5. Show the section, then the usual menu. When all is written, remove the `resume` comment, `docs check`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Exercises by step
|
|
2
|
+
|
|
3
|
+
Offer three to five that fit the need, the access to users and the product (digital, service,
|
|
4
|
+
physical); say when each works best. One line each: what it is, what to ask.
|
|
5
|
+
|
|
6
|
+
**Empathy**
|
|
7
|
+
- Interviews: a recent real episode, "walk me through it", what frustrates, what would ease it.
|
|
8
|
+
- Empathy map: says, thinks, does, feels; the contradictions are the finding.
|
|
9
|
+
- Shadowing: watch without helping; note the workarounds and what is never said.
|
|
10
|
+
- Journey map: start, steps, struggles, delights, the emotional curve; mark the worst moment.
|
|
11
|
+
- Diary: users note moments over days; authentic and slow, for a long cycle.
|
|
12
|
+
- Five whys: on the worst moment, until the cause is not a symptom.
|
|
13
|
+
|
|
14
|
+
**Definition**
|
|
15
|
+
- Problem framing: who, what really, why it matters, what success is.
|
|
16
|
+
- Point of view: user, need, insight in one sentence.
|
|
17
|
+
- How might we: open questions, neither too wide nor already a solution.
|
|
18
|
+
- Clustering: group the notes, name each group, read the story they tell.
|
|
19
|
+
- Jobs to be done: the functional, emotional and social job the user hires a solution for, and the alternatives.
|
|
20
|
+
|
|
21
|
+
**Ideas**
|
|
22
|
+
- Open brainstorm: quantity, no judging, be visual.
|
|
23
|
+
- Eight sketches in eight minutes: forces past the obvious.
|
|
24
|
+
- Seven lenses (substitute, combine, adapt, modify, other use, remove, reverse) on what exists.
|
|
25
|
+
- Provocation: the most extreme version, to find what matters.
|
|
26
|
+
- Analogy: another field or nature already solved this; what to borrow.
|
|
27
|
+
- Worst idea turned around.
|
|
28
|
+
|
|
29
|
+
**Prototype**
|
|
30
|
+
- Paper or text flow: rough on purpose, core concept only.
|
|
31
|
+
- Role play: act the scenario, where is it awkward.
|
|
32
|
+
- Fake backend: a person does by hand what the product will do.
|
|
33
|
+
- Storyboard: scenes in sequence, with the emotional curve.
|
|
34
|
+
- Physical mock-up: for touch, size, ergonomics.
|
|
35
|
+
|
|
36
|
+
**Test**
|
|
37
|
+
- Task test: "try to do X", think aloud, do not help.
|
|
38
|
+
- Feedback grid: liked, questions, ideas, changes.
|
|
39
|
+
- Two versions side by side: which serves better, and why.
|
|
40
|
+
- Assumption test: list assumptions, test the riskiest, say what would prove it wrong.
|
|
41
|
+
- Quick loop: fix, retest.
|
|
42
|
+
|
|
43
|
+
**Next round**
|
|
44
|
+
- Small real pilot. Service blueprint: what the user sees, what happens behind, the handoffs. Stakeholder
|
|
45
|
+
walk-through of the research and prototype. A measurement plan: metrics and when to revisit.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Design thinking, the course
|
|
2
|
+
|
|
3
|
+
Keep the user at the centre; judge late; make things tangible fast; a failed test is information.
|
|
4
|
+
Start from what the documents say of the user (PRD `PU-n`, personas of `ux.md`, research pages). When
|
|
5
|
+
no research exists the creator speaks for the users: say so and mark it `[to verify]`.
|
|
6
|
+
|
|
7
|
+
0. **Challenge.** Ask: the problem or opportunity, who is concerned, the constraints (budget,
|
|
8
|
+
technology), what success looks like, what research exists. Write one challenge sentence: it opens the
|
|
9
|
+
**Definition** section.
|
|
10
|
+
1. **Empathy.** Pick exercises (`design-methods.md`). Gather what users say, think, do, feel; the pains,
|
|
11
|
+
the surprises, the patterns. Ask who the creator can really watch or interview.
|
|
12
|
+
2. **Definition.** "<user> needs <need> because <insight>", then 3 to 5 "How might we" questions;
|
|
13
|
+
name the assumptions behind them and cluster the insights.
|
|
14
|
+
3. **Ideas.** Diverge first: 15 to 30 ideas, no judging, build on each other, wild and practical. Then
|
|
15
|
+
cluster, and the creator keeps two or three against the need and the constraints.
|
|
16
|
+
4. **Prototype.** The least that tests the riskiest assumption: what to learn, what the user must be able
|
|
17
|
+
to do, what can be faked. Say what it leaves out.
|
|
18
|
+
5. **Test.** Five to seven people, one task each; watch what they do more than what they say. Capture:
|
|
19
|
+
worked, struggled, surprised, questions, changes. Say which assumptions held or fell. Results are the
|
|
20
|
+
creator's words, dated, never invented.
|
|
21
|
+
6. **Next round.** Refine, reframe, return to empathy, or pilot with real users. Name the priority action,
|
|
22
|
+
who is involved, and how success will be measured (one metric, one date).
|
|
23
|
+
|
|
24
|
+
7. **Implementation.** `design-implementation.md`: test plan, feedback to collect, then each learning becomes a
|
|
25
|
+
hypothesis followed or a proposed story, one gesture each.
|
|
26
|
+
|
|
27
|
+
Choose by need: unclear problem, steps 0 to 2; known problem, 3 to 5; a built idea, 5 to 7. A step not run
|
|
28
|
+
stays in the file with one line saying why.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Structures, by purpose
|
|
2
|
+
|
|
3
|
+
Each: the beats, as questions. Recommend by purpose and audience; for a product, users: customer journey,
|
|
4
|
+
partners: positioning or vision, investors: pitch or fundraising.
|
|
5
|
+
|
|
6
|
+
**Transformation**
|
|
7
|
+
- Hero's path: who, their ordinary world, what disrupts it, the trials, the change, what they bring back.
|
|
8
|
+
- Spine: once there was, every day, until one day, because of that, until finally.
|
|
9
|
+
- Customer journey: the struggle before, the discovery, the use, the change, the new normal.
|
|
10
|
+
- Obstacle overcome: what blocked, how stakes rose, the darkest moment, the breakthrough, the lesson.
|
|
11
|
+
- Personal arc: who at the start, what forces change, what they resist, what shifts them, who now.
|
|
12
|
+
|
|
13
|
+
**Strategic**
|
|
14
|
+
- Brand: the spark, the values, the effect on people, the difference, where it goes.
|
|
15
|
+
- Vision: today's reality, the opening, the bold picture, the path, the changed future.
|
|
16
|
+
- Origin: the spark moment, early struggles, the breakthrough, how it grew, today's mission.
|
|
17
|
+
- Positioning: the gap in the market, why us, what is different, why care, the future enabled.
|
|
18
|
+
- Culture: principles, behaviours that show them, stories that prove them, how it feels inside.
|
|
19
|
+
|
|
20
|
+
**Persuasive**
|
|
21
|
+
- Pitch: the problem landscape, the solution, the proof, the size of the opportunity, the ask.
|
|
22
|
+
- Sales: the pain they feel, that you understand it, the transforming solution, the expected results, the way.
|
|
23
|
+
- Change: why we cannot stay, what better is, the stake of not acting, how, what is in it for them.
|
|
24
|
+
- Fundraising: the problem that moves, the hope, the impact of the gift, why now, how to help.
|
|
25
|
+
- Cause: the wrong, who bears it, the change needed, what happens if we act, how to join.
|
|
26
|
+
|
|
27
|
+
**Analytical**
|
|
28
|
+
- Data: the context, the revelation, the patterns, so what, the action.
|
|
29
|
+
- Case: the situation, the approach, the difficulties, the results, what transfers.
|
|
30
|
+
- Research: the question, the method, the finding, the meaning, the implications.
|
|
31
|
+
- Insight: what everyone assumed, what you noticed, the deeper pattern, why it matters, what changes.
|
|
32
|
+
- Making-of: what was built, the choice, the obstacles, how they were solved, what was learned.
|
|
33
|
+
|
|
34
|
+
**Emotional**
|
|
35
|
+
- Hook: the surprising opening, the urgent question, the peaks, the common ground, the payoff.
|
|
36
|
+
- Conflict: who wants what, what stands in the way, the escalation, the resolution.
|
|
37
|
+
- Empathy: whose view, what they live, what they feel, why the audience should care, the common ground.
|
|
38
|
+
- Human interest: the person, their stakes, the universal theme, the journey, what makes it relatable.
|
|
39
|
+
- Candid: the hard truth, the struggle, the lesson, why now, the hope.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# The story of the product
|
|
2
|
+
|
|
3
|
+
1. **Context.** Purpose (users, partners, investors, press, team), one audience per story, what they
|
|
4
|
+
should remember, constraints (length, tone, medium). The documents answer most of it.
|
|
5
|
+
2. **Structure.** From `story-frameworks.md`, recommend one: "for <purpose> and <audience>, <structure>,
|
|
6
|
+
because <reason>". The creator may take another.
|
|
7
|
+
3. **Elements.** Questions, not writing: the hero, the tension (without a struggle there is no story), the
|
|
8
|
+
concrete detail, what changes, the true core. Start from the positioning when validated, never copy it:
|
|
9
|
+
a claim here needs its own source.
|
|
10
|
+
4. **Emotional arc.** The feeling at the start, at the turn, at the end; the peaks and the low points; the
|
|
11
|
+
stake that makes it matter.
|
|
12
|
+
5. **Opening.** A surprising fact, an urgent question, a recognisable moment, a promised payoff; offer two.
|
|
13
|
+
6. **Draft**, in the mode the creator chose (150 to 300 words).
|
|
14
|
+
7. **Versions.** Short (one to three sentences: a post, a subject line), medium (a paragraph or two), full.
|
|
15
|
+
Only the channels they name.
|
|
16
|
+
8. **Use.** Best channels, adaptations for each audience, tone, a visual if useful, how to test it on a
|
|
17
|
+
few people.
|
|
18
|
+
9. **Polish.** What is strongest, what is weak, the one action asked, other audiences to write for.
|
|
19
|
+
|
|
20
|
+
Then **Proof** (claim, status `verified`, `stated` or `untrusted`, source) and **Ask** (one thing).
|
|
21
|
+
Check: a figure without source is `[to verify]`; a customer quote that is not real is `[imagined]`; a promise
|
|
22
|
+
the product cannot keep is cut; `docs check` reports nothing.
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-sprint
|
|
3
|
+
description: Propose the next sprint from the validated stories (goal, order, budget, capacity), check it with the creator, then record it. Run by Izzy in the build phase.
|
|
4
|
+
metadata:
|
|
5
|
+
agent: izzy
|
|
6
|
+
phase: build
|
|
7
|
+
---
|
|
8
|
+
# Plan a sprint
|
|
9
|
+
|
|
10
|
+
A sprint is a promise the creator can hold the team to: what will be delivered, in what order,
|
|
11
|
+
for how much, and by whom. This skill builds that promise from what already exists — validated
|
|
12
|
+
stories, their budgets and their dependencies, and the people and agents available — and records
|
|
13
|
+
it in the journal, where `state.next` and every agent read it. The engine checks the proposal and adds
|
|
14
|
+
up the budgets; it estimates nothing itself, and it refuses (`budget_out_of_range`) a story budgeted
|
|
15
|
+
more than three times off the product's measured range or the method's reference. The judgement
|
|
16
|
+
is yours, and the decision is the creator's.
|
|
17
|
+
|
|
18
|
+
This skill belongs to Izzy. Run it as Izzy, with `agent: izzy` in every MCP call. Work in the
|
|
19
|
+
creator's language; keep identifiers (`1-2`, `S-…`, `G-…`) as they are.
|
|
20
|
+
|
|
21
|
+
- **Inputs:** the stories of `.agentplugged/stories/` and their epics, `state.get` (statuses,
|
|
22
|
+
done stories, the sprint in force), `.agentplugged/method.yaml` (`profile.specialties` and
|
|
23
|
+
`profile.max_parallel_stories`).
|
|
24
|
+
- **Output:** one sprint, recorded with `plan.sprint`. No file: the journal holds the sprint.
|
|
25
|
+
- The creator may ask for the next sprint at any time, even while the current one runs. A story
|
|
26
|
+
started and not finished may move on to the next sprint.
|
|
27
|
+
|
|
28
|
+
Follow the steps in order. Each one ends with what it must have produced.
|
|
29
|
+
|
|
30
|
+
## Step 1 — Check where the product stands
|
|
31
|
+
|
|
32
|
+
1. Call `agent.status` (`working`, task "sprint planning").
|
|
33
|
+
2. Call `state.get`:
|
|
34
|
+
- `phase.current` must be `build` (or null when the profile has no phases). Otherwise, say
|
|
35
|
+
which phase is current and what closes it, and stop.
|
|
36
|
+
- `sprint.latest` with `status: proposed`: a proposal already waits for the creator. Tell
|
|
37
|
+
them its checkpoint (`checkpoint`) and stop: `plan.sprint` refuses a new one meanwhile.
|
|
38
|
+
- `sprint.latest` with `status: refused`: read the creator's note on its checkpoint
|
|
39
|
+
(`state.get { checkpoint: "<id>" }`, then `checkpoint.resolution.note`). This run answers that note.
|
|
40
|
+
- `sprint.current`: the sprint in force. List its stories still `todo`, `in_progress`,
|
|
41
|
+
`in_review` or `blocked`: they are the first candidates for the next sprint.
|
|
42
|
+
3. Run `npx agentplugged docs check`. A story that fails it cannot enter a sprint: name it and
|
|
43
|
+
its problem, and leave it out (its owner, or you for the breakdown, fixes it first).
|
|
44
|
+
|
|
45
|
+
**Produces:** the phase confirmed, the state of the last sprint, and the list of stories that hold.
|
|
46
|
+
|
|
47
|
+
## Step 2 — List the candidates
|
|
48
|
+
|
|
49
|
+
A story is a candidate when all of these hold:
|
|
50
|
+
|
|
51
|
+
- it is **validated**: an approved `document` checkpoint lists its file (the end of the
|
|
52
|
+
breakdown) at its current content: a story edited since, even its header, must be validated
|
|
53
|
+
again. `plan.sprint` refuses any other with `not_validated`;
|
|
54
|
+
- it is **not done**: no `story` checkpoint of it was approved after its last status;
|
|
55
|
+
- its header is complete: `owner`, `budget_usd`, `depends_on`.
|
|
56
|
+
|
|
57
|
+
For each candidate, note its owner, its budget and its dependencies, and whether each dependency
|
|
58
|
+
is done. Build the order from the dependency graph: a story comes after every dependency that is
|
|
59
|
+
not done yet. When several orders are possible, prefer, in this order: what unblocks the most
|
|
60
|
+
other stories, what carries the most user value for the epic in progress, what reduces a risk the
|
|
61
|
+
architecture or the creator named.
|
|
62
|
+
|
|
63
|
+
**Produces:** the candidates, in a valid order, each with its owner, budget and dependencies.
|
|
64
|
+
|
|
65
|
+
## Step 3 — Ask for the capacity and the budget
|
|
66
|
+
|
|
67
|
+
Ask the creator, in one message:
|
|
68
|
+
|
|
69
|
+
- **the developer agents** who will work in this sprint. Propose the active ones:
|
|
70
|
+
`profile.specialties` in `method.yaml` lists the active specialties (`sam` and `ethan` for
|
|
71
|
+
backend, `hugo` and `lina` for frontend, `jade` for mobile, and any developer the creator added
|
|
72
|
+
with a specialty of their own). One developer may build several stories at once, each one an
|
|
73
|
+
instance of its own (the pair developer and story), up to `profile.max_parallel_stories` stories
|
|
74
|
+
in progress when it is set; small changes go to the developer of their story, in the quick lane.
|
|
75
|
+
Name only agents that are active;
|
|
76
|
+
- **the humans** who will build stories themselves (stories whose `owner` is `creator`), as a
|
|
77
|
+
number;
|
|
78
|
+
- **the budget ceiling** for the sprint, in US dollars, if they want one.
|
|
79
|
+
|
|
80
|
+
Never assume a capacity the creator did not confirm. When the answer is "same as last time",
|
|
81
|
+
reuse `sprint.current.capacity`.
|
|
82
|
+
|
|
83
|
+
**Produces:** `capacity.agents`, `capacity.humans`, and the ceiling or none.
|
|
84
|
+
|
|
85
|
+
## Step 4 — Propose the sprint
|
|
86
|
+
|
|
87
|
+
1. Write a **goal**: one line of at most 112 characters, what a user will be able to do at the
|
|
88
|
+
end of the sprint. Not a list of stories.
|
|
89
|
+
2. Pick the stories, in order, from the candidates:
|
|
90
|
+
- every dependency of a story is done or comes earlier in the sprint;
|
|
91
|
+
- every story's owner is in the capacity (`creator` needs at least one human). Otherwise,
|
|
92
|
+
propose to change the story's owner with the creator, or leave it out;
|
|
93
|
+
- the total of the budgets stays under the ceiling. Cut from the end of the order, never by
|
|
94
|
+
breaking the order;
|
|
95
|
+
- the load is plausible for the capacity: a developer agent finishes a story at a time, and a
|
|
96
|
+
sprint gives each one a few stories, not dozens. Say plainly when the wish does not fit.
|
|
97
|
+
3. Present the proposal: the goal; the stories in order, each with its owner, budget and what it
|
|
98
|
+
waits on; the total against the ceiling; the capacity; the risks (a long dependency chain, a
|
|
99
|
+
story with open questions, an owner with too many stories); and what was left out and why.
|
|
100
|
+
4. Revise with the creator until they agree. A change of story owner is a change to the story:
|
|
101
|
+
make it in the story's header (never in its intent), run `docs check`, and commit it.
|
|
102
|
+
|
|
103
|
+
**Produces:** a goal, an ordered list of stories, a capacity and a ceiling the creator agreed to.
|
|
104
|
+
|
|
105
|
+
## Step 5 — Record it
|
|
106
|
+
|
|
107
|
+
1. Call `plan.sprint` with `agent: izzy`, the `goal`, the `stories` in order, the `capacity`
|
|
108
|
+
(`agents`, `humans`), the `budget_limit_usd` when there is a ceiling, and a `summary`: the
|
|
109
|
+
reasons for the order, the risks, and what was left out. The engine composes the checkpoint
|
|
110
|
+
the creator reads from the sprint it checked: the stories, owners, budgets, total and capacity.
|
|
111
|
+
2. On `SPRINT_INVALID`, nothing was written. Read every problem in `details.problems` and fix
|
|
112
|
+
the proposal, never the rules:
|
|
113
|
+
- `unknown_story`, `unreadable`, `invalid_story`: a wrong id, a file that cannot be read,
|
|
114
|
+
or a story that fails `docs check` (`why` lists its problems);
|
|
115
|
+
- `not_validated`: the story's breakdown was never approved (`why: never`), or the story
|
|
116
|
+
changed since (`why: changed`); leave it out, or have the creator validate it again;
|
|
117
|
+
- `done`: the story is already done; leave it out;
|
|
118
|
+
- `dependency_missing`, `dependency_later`: add the dependency earlier, or move the story
|
|
119
|
+
later;
|
|
120
|
+
- `agent_inactive`, `no_capacity`, `owner_unavailable`: fix the capacity with the creator;
|
|
121
|
+
- `over_budget`: cut stories from the end, or ask the creator to raise the ceiling;
|
|
122
|
+
- `proposal_open`: a proposal already waits for the creator;
|
|
123
|
+
- `too_long`: the checkpoint shows your summary and one line per story, never cut. Shorten
|
|
124
|
+
the summary to `max` characters, or plan fewer stories (`field: stories`).
|
|
125
|
+
If the creator must decide anything to fix it, go back to step 4 with them.
|
|
126
|
+
3. On success, `plan.sprint` returns the sprint (`sprint`: `S-…`) and its checkpoint
|
|
127
|
+
(`checkpoint`: `G-…`). Ask whether the sprint suits them only now, once, since the
|
|
128
|
+
checkpoint is open: present it in the chat and record the creator's answer with
|
|
129
|
+
`chat.answer`, quoting their words (constitution, "Checkpoints in the chat"): they
|
|
130
|
+
approve it, or ask for changes.
|
|
131
|
+
|
|
132
|
+
When other checkpoints are open at the same time as the sprint's, present those that are
|
|
133
|
+
plain approvals as one stack (constitution, "Stacks to validate"); the sprint's own checkpoint
|
|
134
|
+
keeps its own answer, which sets the stories' ceilings.
|
|
135
|
+
|
|
136
|
+
**Produces:** a sprint recorded in the journal, and its checkpoint open.
|
|
137
|
+
|
|
138
|
+
## Step 6 — Hand over
|
|
139
|
+
|
|
140
|
+
1. Call `story.result`: `complete`, a summary naming the sprint and its checkpoint, your
|
|
141
|
+
assumptions (a capacity you inferred, a budget you found low), the open questions, and the
|
|
142
|
+
conflicts (a story that cannot fit any order).
|
|
143
|
+
2. Call `agent.status` (`idle`).
|
|
144
|
+
3. Run `npx agentplugged next --json` and tell the creator what it says. While the checkpoint is
|
|
145
|
+
open, it is in `waiting`; its `step` is `validation` once the sprint in force, if any, has no
|
|
146
|
+
story left to start. Once the creator approves it, the sprint is in force: `state.next` proposes its
|
|
147
|
+
stories one by one, in order, each to the owner the sprint recorded (else the first active
|
|
148
|
+
agent of its capacity, else the creator); when none is left to start and the started ones are
|
|
149
|
+
done, it calls you again for the next sprint, or for the breakdown when no story left can be
|
|
150
|
+
planned. You never call a developer yourself: hand back to Noah, who proposes what comes next; the creator decides (without Noah, the creator picks the next agent).
|
|
151
|
+
|
|
152
|
+
## Never
|
|
153
|
+
|
|
154
|
+
- 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`.
|
|
155
|
+
- Never invent an amount: the budgets are the ones the stories carry (each read from `state.get`
|
|
156
|
+
`usage.estimates`), a sprint's total is their sum, and when you tell it to the creator you say
|
|
157
|
+
what it rests on (`history` or `reference`) and its range. The capacity is the one the creator
|
|
158
|
+
confirmed.
|
|
159
|
+
- Never put a story that is not validated, or already done, in a sprint, and never break the
|
|
160
|
+
dependency order.
|
|
161
|
+
- Never write a sprint file, nor edit a story's intent: the sprint lives in the journal.
|
|
162
|
+
- Never start, call or direct a developer agent: the sprint is a plan, not a launch.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quick-lane
|
|
3
|
+
description: Carry a small change (one story, no public interface, no migration, fewer than 5 files) through the quick lane, with its story, review and validation. A mode of the developer.
|
|
4
|
+
metadata:
|
|
5
|
+
agent: sam ethan hugo lina jade
|
|
6
|
+
phase: build
|
|
7
|
+
---
|
|
8
|
+
# The quick lane
|
|
9
|
+
|
|
10
|
+
Some changes are too small to go through framing, planning and design: a fix, a wording, a
|
|
11
|
+
forgotten case. The quick lane carries them straight to a tested pull request. What it skips is
|
|
12
|
+
the paperwork upstream, never the story, the tests, the independent review nor the creator's
|
|
13
|
+
validation before the merge, and it hands a change back the moment it stops being small.
|
|
14
|
+
|
|
15
|
+
The quick lane is a mode of the developer the story goes to, carried by the story (the fast track
|
|
16
|
+
of the engine, `fast_track` in `state.get`): there is no dedicated agent. The developer of the
|
|
17
|
+
story's specialty (backend, frontend, mobile, or a specialty the creator added) runs this skill
|
|
18
|
+
under their own id: `agent: <your id>` in every MCP call. Work in the creator's language; keep
|
|
19
|
+
identifiers (`1-2`, `EF-n`, `AD-n`, `G-…`) as they are.
|
|
20
|
+
|
|
21
|
+
- **Input:** one story of `.agentplugged/stories/`, if only one line long, whose `owner` is you.
|
|
22
|
+
- **The creator's Git workflow:** the story lands where `git` in `state.next` says (the integration branch, or the main branch), with or without a branch of its own, a pull request, a CI or a review, as the creator chose; the quick lane never changes that.
|
|
23
|
+
- **Output:** the change and its test, committed on the story's branch (`feat/<story>-<slug>`, the
|
|
24
|
+
one its header names) in its own working copy, then its pull request; or, when the change is not
|
|
25
|
+
small, the way back to the full lane with a checkpoint that explains it to the creator.
|
|
26
|
+
|
|
27
|
+
## Triage a reported bug
|
|
28
|
+
|
|
29
|
+
When the creator reports a bug, ask for the symptom, where it shows and how often. Reproduce it,
|
|
30
|
+
find the cause and size the fix against the limits of the quick lane below. Report the cause, the
|
|
31
|
+
files involved, the test that would prove the fix and whether it fits the quick lane or needs the
|
|
32
|
+
full lane, before changing anything. When one reading of the code and one run of the
|
|
33
|
+
reproduction do not give the cause, the bug is not trivial: do not start the quick lane, do not
|
|
34
|
+
guess; say so and follow `diagnose-bug` (hypotheses kept by the engine), in the full lane.
|
|
35
|
+
|
|
36
|
+
## The limits
|
|
37
|
+
|
|
38
|
+
A change fits the quick lane only when all of these hold. The engine reads what it can in the
|
|
39
|
+
repository; you declare what only you can know.
|
|
40
|
+
|
|
41
|
+
| Limit | Who checks it |
|
|
42
|
+
|---|---|
|
|
43
|
+
| it fits in one story | the engine: the story has its file, is validated and is yours |
|
|
44
|
+
| it touches fewer than 5 files, tests included (a renamed file counts twice) | the engine, on the diff of your branch |
|
|
45
|
+
| it adds no dependency | the engine: no dependency manifest nor lockfile is touched; you declare a dependency a manifest does not show |
|
|
46
|
+
| it needs no data migration | the engine: no migration nor schema file is touched; you declare the rest |
|
|
47
|
+
| it changes no public interface | the engine reads the files of an interface's contract (API descriptions, schemas, type declarations); you declare the rest |
|
|
48
|
+
| its goal has a single reading | you declare it |
|
|
49
|
+
| no step of it is irreversible | you declare it |
|
|
50
|
+
|
|
51
|
+
A quick change always has a story, if only one line long: when none exists, ask the creator to
|
|
52
|
+
have Izzy write it (or to write it themselves) before you start. Check the limits before starting;
|
|
53
|
+
the engine checks them again at every pull request and every CI read.
|
|
54
|
+
|
|
55
|
+
The review before merging always happens: by Quentin, and Chloé for security, or by the creator
|
|
56
|
+
when the product's profile has no quality agent. The creator validates the merge, the engine
|
|
57
|
+
merges: the quick lane changes nothing there.
|
|
58
|
+
|
|
59
|
+
## Leaving the quick lane
|
|
60
|
+
|
|
61
|
+
The way back to the full lane is final, and there are two ways to it:
|
|
62
|
+
|
|
63
|
+
- **The engine** sends the story back when it reads a commit of your branch that no longer fits
|
|
64
|
+
(5 files or more, a dependency manifest, a migration, an interface's contract): the result of
|
|
65
|
+
`story.pr` or `story.ci` says `fast_track` with `left: true`, and the story is
|
|
66
|
+
`blocked`.
|
|
67
|
+
- **You** leave the moment the goal can be read two ways (`ambiguous_intent`), a step could not be
|
|
68
|
+
undone (`irreversible_action`), the change keeps growing (`growing_scope`), or it needs a public
|
|
69
|
+
interface change (`public_interface`), a data migration (`data_migration`) or a new dependency
|
|
70
|
+
(`new_dependency`). Stop at once, never bend a limit to keep a change, and:
|
|
71
|
+
|
|
72
|
+
1. Call `story.leave_fast_track` with the `reasons` (each once) and a `detail` that says what you found.
|
|
73
|
+
The engine records the exit, blocks the story and opens, in the same write, the `decision`
|
|
74
|
+
checkpoint that explains it to the creator (continue in the full lane, or stop). Do not open a
|
|
75
|
+
checkpoint of your own, do not call `story.status`.
|
|
76
|
+
2. Call `story.result` with status `partial`: what is done, what you found, what is left.
|
|
77
|
+
3. Recommend the full lane: framing or design when needed, then the story built with the
|
|
78
|
+
`develop-story` skill. The creator decides; the story stays blocked until they answer.
|
|
79
|
+
4. Leave the branch as it is, with a note of what it holds.
|
|
80
|
+
|
|
81
|
+
Whether a change may take the quick lane when in doubt, and any step out of it, belong to the
|
|
82
|
+
creator: you recommend, the creator decides.
|
|
83
|
+
|
|
84
|
+
## Steps
|
|
85
|
+
|
|
86
|
+
1. **Start.** Call `agent.status` (`working`, the story as `story`). Read `state.get`:
|
|
87
|
+
`phase.current` must be `build` (or null when the profile has no phases); otherwise say which
|
|
88
|
+
phase is current and what closes it, build nothing, and go to step 8 with `partial`. When
|
|
89
|
+
`state.get` shows that you are not an active agent of the product, say so and go to step 8
|
|
90
|
+
with `partial`.
|
|
91
|
+
2. **Read the story.** Read the change's story entirely, the requirements and decisions it cites,
|
|
92
|
+
the parts of the architecture (`.agentplugged/docs/architecture.md`) the change touches —
|
|
93
|
+
the product's stack and conventions are there, whatever they are — and the knowledge base
|
|
94
|
+
pages about it (`.agentplugged/docs/index.md` first; a page with an `agentplugged:late` notice is
|
|
95
|
+
behind the code: read the code, assert nothing from that page). When there is no story, stop and ask the
|
|
96
|
+
creator to have Izzy write a one-line story (or to write it themselves): no quick change
|
|
97
|
+
without a story. A story already started in the full lane stays there (`already_started`, whoever started it). Run
|
|
98
|
+
`npx agentplugged docs check` and report what it finds instead of working around it.
|
|
99
|
+
3. **Check the limits.** Restate the change in one sentence, then check it against each limit
|
|
100
|
+
out loud: which hold, which do not. When one fails, the change belongs to the full lane: say so
|
|
101
|
+
to the creator and build nothing.
|
|
102
|
+
4. **Take the working copy.** Call `story.start` with `fast_track`: `summary` (the sentence of
|
|
103
|
+
step 3) and `declared` (`single_reading`, `reversible`, `no_public_interface`, each `true`).
|
|
104
|
+
The engine creates the story's branch from the main branch in a working copy of its own and
|
|
105
|
+
records that the story is in the quick lane; it refuses (`FAST_TRACK_NOT_POSSIBLE`,
|
|
106
|
+
`declaration`) when you cannot declare one of the three, and never enters the quick lane for a
|
|
107
|
+
story already started. Work only in the `workdir` it returns; never on the main branch nor in
|
|
108
|
+
another story's working copy.
|
|
109
|
+
5. **Build.** Write a test that reproduces the problem or proves the change, watch it fail, then
|
|
110
|
+
make it pass, fixing the cause, not only its symptom (`story.criterion`).
|
|
111
|
+
A criterion a test already covers needs no red: a passing test is enough. Commit with a message that cites the
|
|
112
|
+
story and the requirement it touches, for example `fix(2-3): empty name refused (EF-12)`.
|
|
113
|
+
Call `story.progress` as you go.
|
|
114
|
+
6. **Verify.** Run the project's whole verification, as its CI does, even for a one-line change:
|
|
115
|
+
type checks, linter, every test suite and the build. Then check the limits again on what you
|
|
116
|
+
actually changed; when one gave way, go to "Leaving the quick lane".
|
|
117
|
+
7. **Open the pull request.** Call `story.pr`: the engine pushes the branch (never the
|
|
118
|
+
main branch, never a force-push), opens the pull request with the fixed template — the story,
|
|
119
|
+
the linked requirements, the acceptance criteria checked, the test results —
|
|
120
|
+
and reads the changes of your branch against the limits (`fast_track` in its result). If it
|
|
121
|
+
says `left: true`, go to "Leaving the quick lane" step 2 onwards: the exit is already recorded.
|
|
122
|
+
Call `story.status` (`in_review`). Read the CI with `story.ci` as the full lane does. Never
|
|
123
|
+
merge: the review before merging always applies, and the creator validates and the engine
|
|
124
|
+
merges.
|
|
125
|
+
8. **Report.** Announce no cost (the engine measures it in the tool's traces), then `story.result` with the story:
|
|
126
|
+
`complete`, `partial` or `blocked`, a summary, your assumptions, open questions and conflicts
|
|
127
|
+
(empty lists when there are none). Call `agent.status` (`idle`), run
|
|
128
|
+
`npx agentplugged next --json` and tell the creator what it says.
|
|
129
|
+
|
|
130
|
+
## Budget
|
|
131
|
+
|
|
132
|
+
The story carries a budget (`budget_usd`): an estimate, never a ceiling. You write no cost: the
|
|
133
|
+
engine measures what your session consumed and keeps it in the journal.
|
|
134
|
+
|
|
135
|
+
## Never
|
|
136
|
+
|
|
137
|
+
- 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`.
|
|
138
|
+
- Never take a change without its story, nor bend a limit to keep a change in the quick lane.
|
|
139
|
+
- Never enter the quick lane for a story already started, nor go back to it after leaving it.
|
|
140
|
+
- Never skip the test, the full verification, the independent review nor the creator's validation before the merge.
|
|
141
|
+
- Never push to the main branch, force-push nor merge.
|
|
142
|
+
- Never leave a quick change half done: it is finished or handed back, with the reason.
|
|
143
|
+
- Never call, direct or wait for another agent: hand back to Noah, who proposes what comes next; the creator decides (without Noah, the creator picks the next agent).
|