agentplugged 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -4
- package/dist/agent-commands.js +20432 -35457
- package/dist/bin.js +2 -3
- package/dist/boundary-rules.js +1 -0
- package/dist/boundary-rules2.js +52 -0
- package/dist/cli.js +7 -3
- package/dist/commit-documents.js +81 -0
- package/dist/dist.js +22729 -0
- package/dist/dist2.js +9 -0
- package/dist/esm.js +8 -16
- package/dist/forge-follow.js +6 -7
- package/dist/grammars/LICENSE-tree-sitter-wasm +21 -0
- package/dist/grammars/LICENSE-web-tree-sitter +21 -0
- package/dist/grammars/tree-sitter-go.wasm +0 -0
- package/dist/grammars/tree-sitter-java.wasm +0 -0
- package/dist/grammars/tree-sitter-javascript.wasm +0 -0
- package/dist/grammars/tree-sitter-php.wasm +0 -0
- package/dist/grammars/tree-sitter-python.wasm +0 -0
- package/dist/grammars/tree-sitter-rust.wasm +0 -0
- package/dist/grammars/tree-sitter-tsx.wasm +0 -0
- package/dist/grammars/tree-sitter-typescript.wasm +0 -0
- package/dist/grammars/web-tree-sitter.wasm +0 -0
- package/dist/hash.js +11594 -5733
- package/dist/helpers.js +271 -519
- package/dist/launcher-env.js +1 -2
- package/dist/launcher.js +4 -5
- package/dist/libsodium-wrappers.js +2 -4
- package/dist/libsodium-wrappers2.js +2 -4
- package/dist/main.js +10502 -2787
- package/dist/map-cache.js +8096 -0
- package/dist/map-update.js +16593 -0
- package/dist/map-update2.js +1 -0
- package/dist/method/agents/alex/SKILL.md +13 -29
- package/dist/method/agents/alex/agent.yaml +3 -3
- package/dist/method/agents/basile/SKILL.md +44 -0
- package/dist/method/agents/basile/agent.yaml +69 -0
- package/dist/method/agents/chloe/SKILL.md +12 -25
- package/dist/method/agents/chloe/agent.yaml +3 -3
- package/dist/method/agents/ethan/SKILL.md +8 -9
- package/dist/method/agents/ethan/agent.yaml +9 -8
- package/dist/method/agents/hugo/SKILL.md +8 -8
- package/dist/method/agents/hugo/agent.yaml +9 -8
- package/dist/method/agents/iris/SKILL.md +11 -17
- package/dist/method/agents/iris/agent.yaml +4 -7
- package/dist/method/agents/izzy/SKILL.md +68 -91
- package/dist/method/agents/izzy/agent.yaml +8 -15
- package/dist/method/agents/jade/SKILL.md +7 -9
- package/dist/method/agents/jade/agent.yaml +9 -8
- package/dist/method/agents/julien/SKILL.md +38 -58
- package/dist/method/agents/lina/SKILL.md +7 -9
- package/dist/method/agents/lina/agent.yaml +9 -8
- package/dist/method/agents/lou/SKILL.md +4 -11
- package/dist/method/agents/lou/agent.yaml +2 -2
- package/dist/method/agents/maya/SKILL.md +12 -19
- package/dist/method/agents/maya/agent.yaml +2 -4
- package/dist/method/agents/milo/SKILL.md +21 -32
- package/dist/method/agents/noah/SKILL.md +105 -63
- package/dist/method/agents/noah/agent.yaml +15 -35
- package/dist/method/agents/noah/evals/routes.yaml +238 -0
- package/dist/method/agents/noah/references/decisions.md +59 -121
- package/dist/method/agents/noah/references/environment.md +25 -70
- package/dist/method/agents/noah/references/facts.md +22 -11
- package/dist/method/agents/noah/references/journey.md +26 -78
- package/dist/method/agents/noah/references/team.md +67 -190
- package/dist/method/agents/omar/SKILL.md +14 -30
- package/dist/method/agents/omar/agent.yaml +12 -6
- package/dist/method/agents/quentin/SKILL.md +7 -15
- package/dist/method/agents/quentin/agent.yaml +4 -2
- package/dist/method/agents/sam/SKILL.md +6 -8
- package/dist/method/agents/sam/agent.yaml +9 -8
- package/dist/method/agents/stella/SKILL.md +6 -14
- package/dist/method/agents/stella/agent.yaml +1 -1
- package/dist/method/agents/tess/SKILL.md +7 -14
- package/dist/method/agents/tess/agent.yaml +2 -2
- package/dist/method/agents/zoe/SKILL.md +9 -21
- package/dist/method/doctor.yaml +553 -13
- package/dist/method/models.yaml +12 -0
- package/dist/method/skills/acceptance-qa/SKILL.md +1 -1
- package/dist/method/skills/acceptance-qa/references/run.md +24 -32
- package/dist/method/skills/acceptance-qa/references/scenarios.md +16 -19
- package/dist/method/skills/acceptance-qa/references/verdicts.md +10 -16
- package/dist/method/skills/api-e2e-tests/SKILL.md +46 -46
- package/dist/method/skills/audit-pillars/SKILL.md +13 -10
- package/dist/method/skills/audit-pillars/references/demo.md +35 -0
- package/dist/method/skills/audit-pillars/references/pillars.md +40 -0
- package/dist/method/skills/audit-pillars/references/tech-debt.md +38 -0
- package/dist/method/skills/chain-stories/SKILL.md +5 -4
- package/dist/method/skills/chain-stories/references/merge-order.md +23 -0
- package/dist/method/skills/check-readiness/SKILL.md +1 -1
- package/dist/method/skills/check-requirements/SKILL.md +37 -72
- package/dist/method/skills/check-requirements/references/engine-proofs.md +16 -23
- package/dist/method/skills/check-requirements/references/proofs-and-gaps.md +22 -37
- package/dist/method/skills/critique-deliverable/SKILL.md +3 -3
- package/dist/method/skills/critique-deliverable/references/choose.md +12 -21
- package/dist/method/skills/critique-deliverable/references/format.md +14 -20
- package/dist/method/skills/critique-deliverable/references/gestures.md +14 -21
- package/dist/method/skills/critique-deliverable/references/judgment.md +4 -9
- package/dist/method/skills/critique-deliverable/references/methods.md +21 -0
- package/dist/method/skills/critique-deliverable/references/reconcile.md +6 -11
- package/dist/method/skills/deep-research/SKILL.md +16 -24
- package/dist/method/skills/deep-research/references/candidates.md +13 -25
- package/dist/method/skills/deep-research/references/external.md +15 -34
- package/dist/method/skills/deep-research/references/page-format.md +16 -42
- package/dist/method/skills/deep-research/references/types.md +16 -27
- package/dist/method/skills/develop-story/SKILL.md +56 -189
- package/dist/method/skills/develop-story/references/acceptance-tests.md +18 -71
- package/dist/method/skills/develop-story/references/quick-lane.md +20 -0
- package/dist/method/skills/diagnose-bug/SKILL.md +42 -53
- package/dist/method/skills/diagnose-bug/references/hypotheses.md +1 -2
- package/dist/method/skills/generate-knowledge-base/SKILL.md +57 -226
- package/dist/method/skills/generate-knowledge-base/assets/index-template.md +6 -15
- package/dist/method/skills/generate-knowledge-base/assets/page-template.md +11 -24
- package/dist/method/skills/generate-knowledge-base/references/living-docs.md +25 -64
- package/dist/method/skills/generate-knowledge-base/references/reuse-map.md +9 -18
- package/dist/method/skills/ideation/SKILL.md +16 -23
- package/dist/method/skills/ideation/references/close.md +18 -14
- package/dist/method/skills/ideation/references/converge.md +11 -21
- package/dist/method/skills/ideation/references/stances.md +13 -17
- package/dist/method/skills/ideation/references/techniques.md +20 -0
- package/dist/method/skills/improve-code/SKILL.md +42 -54
- package/dist/method/skills/pitch/SKILL.md +16 -19
- package/dist/method/skills/pitch/references/deck.md +15 -18
- package/dist/method/skills/pitch/references/design-implementation.md +13 -21
- package/dist/method/skills/pitch/references/design.md +21 -0
- package/dist/method/skills/pitch/references/story.md +13 -18
- package/dist/method/skills/plan-sprint/SKILL.md +50 -151
- package/dist/method/skills/plan-sprint/references/rituals.md +40 -0
- package/dist/method/skills/prepare-go-live/SKILL.md +59 -0
- package/dist/method/skills/resolve-merge-conflict/SKILL.md +40 -65
- package/dist/method/skills/review-after-launch/SKILL.md +56 -0
- package/dist/method/skills/review-story/SKILL.md +44 -72
- package/dist/method/skills/review-story/references/amend-story.md +8 -13
- package/dist/method/skills/review-story/references/export.md +7 -17
- package/dist/method/skills/review-story/references/free-review.md +9 -20
- package/dist/method/skills/review-story/references/judge.md +25 -37
- package/dist/method/skills/review-story/references/tests.md +29 -0
- package/dist/method/skills/run-acceptance/SKILL.md +58 -0
- package/dist/method/skills/run-acceptance/references/template.md +39 -0
- package/dist/method/skills/run-retrospective/SKILL.md +50 -189
- package/dist/method/skills/security-review-architecture/SKILL.md +46 -109
- package/dist/method/skills/security-review-architecture/references/spec-review.md +27 -38
- package/dist/method/skills/setup-ci/SKILL.md +46 -109
- package/dist/method/skills/setup-ci/assets/access-check.mjs +116 -0
- package/dist/method/skills/setup-ci/assets/security-github.yml +41 -0
- package/dist/method/skills/setup-ci/assets/security-gitlab.yml +22 -0
- package/dist/method/skills/setup-ci/assets/stack-dotnet-github.yml +118 -0
- package/dist/method/skills/setup-ci/assets/stack-dotnet-gitlab.yml +63 -0
- package/dist/method/skills/setup-ci/assets/stack-go-github.yml +118 -0
- package/dist/method/skills/setup-ci/assets/stack-go-gitlab.yml +63 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-github.yml +134 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-gitlab.yml +71 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-maven-github.yml +133 -0
- package/dist/method/skills/setup-ci/assets/stack-jvm-maven-gitlab.yml +70 -0
- package/dist/method/skills/setup-ci/assets/stack-python-github.yml +123 -0
- package/dist/method/skills/setup-ci/assets/stack-python-gitlab.yml +68 -0
- package/dist/method/skills/setup-ci/assets/stack-rust-github.yml +107 -0
- package/dist/method/skills/setup-ci/assets/stack-rust-gitlab.yml +64 -0
- package/dist/method/skills/setup-ci/references/security.md +39 -0
- package/dist/method/skills/setup-ci/references/stacks.md +22 -0
- package/dist/method/skills/split-into-stories/SKILL.md +59 -192
- package/dist/method/skills/split-into-stories/assets/story.md.tmpl +15 -4
- package/dist/method/skills/strategy/SKILL.md +20 -25
- package/dist/method/skills/strategy/references/costs.md +12 -26
- package/dist/method/skills/strategy/references/gestures.md +12 -21
- package/dist/method/skills/strategy/references/innovate.md +19 -37
- package/dist/method/skills/strategy/references/solve.md +19 -32
- package/dist/method/skills/test-idea/SKILL.md +5 -5
- package/dist/method/skills/test-idea/assets/prfaq-template.md +1 -1
- package/dist/method/skills/test-idea/references/faq.md +12 -29
- package/dist/method/skills/test-idea/references/forge.md +19 -30
- package/dist/method/skills/test-idea/references/personas.md +16 -19
- package/dist/method/skills/test-idea/references/prfaq.md +31 -31
- package/dist/method/skills/workshop/SKILL.md +10 -16
- package/dist/method/skills/workshop/references/create.md +28 -45
- package/dist/method/skills/workshop/references/customize.md +17 -42
- package/dist/method/skills/workshop/references/evaluate.md +11 -42
- package/dist/method/skills/workshop/references/rules.md +17 -26
- package/dist/method/skills/write-architecture/SKILL.md +62 -220
- package/dist/method/skills/write-architecture/references/guard.md +12 -27
- package/dist/method/skills/write-architecture/references/self-check.md +22 -38
- package/dist/method/skills/write-brand/SKILL.md +2 -2
- package/dist/method/skills/write-brand/references/identity.md +21 -22
- package/dist/method/skills/write-brand/references/platform.md +13 -20
- package/dist/method/skills/write-brand/references/rules.md +16 -22
- package/dist/method/skills/write-brief/SKILL.md +55 -149
- package/dist/method/skills/write-brief/assets/brief-template.md +7 -5
- package/dist/method/skills/write-brief/references/brief-checklist.md +18 -30
- package/dist/method/skills/write-content/SKILL.md +53 -210
- package/dist/method/skills/write-content/references/content-checklist.md +32 -50
- package/dist/method/skills/write-positioning/SKILL.md +53 -197
- package/dist/method/skills/write-positioning/references/positioning-checklist.md +15 -41
- package/dist/method/skills/write-positioning/references/seo-checklist.md +26 -51
- package/dist/method/skills/write-prd/SKILL.md +52 -179
- package/dist/method/skills/write-prd/references/prd-checklist.md +25 -54
- package/dist/method/skills/write-sales/SKILL.md +48 -212
- package/dist/method/skills/write-sales/references/before-you-send.md +21 -49
- package/dist/method/skills/write-sales/references/sales-checklist.md +19 -69
- package/dist/method/skills/write-spec/references/spec-guide.md +20 -23
- package/dist/method/skills/write-ux-spec/SKILL.md +57 -168
- package/dist/method/skills/write-ux-spec/references/accessibility-check.md +13 -72
- package/dist/method/skills/write-ux-spec/references/mockups.md +6 -68
- package/dist/method/skills/write-ux-spec/references/tokens-and-sketches.md +8 -81
- package/dist/method/skills/write-ux-spec/references/ux-checklist.md +12 -67
- package/dist/product-root.js +96 -20743
- package/dist/project-command.js +776 -0
- package/dist/project-command2.js +1 -0
- package/dist/read-command.js +19 -0
- package/dist/rolldown-runtime.js +1 -2
- package/dist/sheet-command.js +58 -0
- package/dist/webauthn-verify.js +3 -5
- package/package.json +13 -11
- package/dist/method/agents/noah/references/conduct.md +0 -102
- package/dist/method/skills/api-e2e-tests/references/frameworks.md +0 -58
- package/dist/method/skills/api-e2e-tests/references/generate.md +0 -67
- package/dist/method/skills/audit-pillars/references/accessibility.md +0 -13
- package/dist/method/skills/audit-pillars/references/architecture.md +0 -13
- package/dist/method/skills/audit-pillars/references/dependencies.md +0 -13
- package/dist/method/skills/audit-pillars/references/format.md +0 -20
- package/dist/method/skills/audit-pillars/references/interface.md +0 -13
- package/dist/method/skills/audit-pillars/references/method.md +0 -33
- package/dist/method/skills/audit-pillars/references/performance.md +0 -17
- package/dist/method/skills/audit-pillars/references/quality.md +0 -11
- package/dist/method/skills/audit-pillars/references/security.md +0 -13
- package/dist/method/skills/audit-pillars/references/tests.md +0 -17
- package/dist/method/skills/critique-deliverable/references/assumption-audit.md +0 -11
- package/dist/method/skills/critique-deliverable/references/compare-existing.md +0 -13
- package/dist/method/skills/critique-deliverable/references/devils-advocate.md +0 -13
- package/dist/method/skills/critique-deliverable/references/divergence.md +0 -15
- package/dist/method/skills/critique-deliverable/references/domain-expert.md +0 -14
- package/dist/method/skills/critique-deliverable/references/extreme-user.md +0 -13
- package/dist/method/skills/critique-deliverable/references/failure-modes.md +0 -13
- package/dist/method/skills/critique-deliverable/references/first-principles.md +0 -12
- package/dist/method/skills/critique-deliverable/references/inversion.md +0 -13
- package/dist/method/skills/critique-deliverable/references/pre-mortem.md +0 -12
- package/dist/method/skills/critique-deliverable/references/red-team.md +0 -12
- package/dist/method/skills/critique-deliverable/references/reframe.md +0 -12
- package/dist/method/skills/critique-deliverable/references/second-order.md +0 -12
- package/dist/method/skills/critique-deliverable/references/socratic.md +0 -15
- package/dist/method/skills/critique-deliverable/references/steelman.md +0 -13
- package/dist/method/skills/critique-deliverable/references/subtraction.md +0 -12
- package/dist/method/skills/develop-story/references/self-check.md +0 -46
- package/dist/method/skills/generate-knowledge-base/references/kb-checklist.md +0 -49
- package/dist/method/skills/generate-knowledge-base/references/repository-scan.md +0 -48
- package/dist/method/skills/ideation/references/choose.md +0 -21
- package/dist/method/skills/ideation/references/gestures.md +0 -15
- package/dist/method/skills/ideation/references/techniques-borrowed.md +0 -8
- package/dist/method/skills/ideation/references/techniques-deep.md +0 -12
- package/dist/method/skills/ideation/references/techniques-frames.md +0 -12
- package/dist/method/skills/ideation/references/techniques-futures.md +0 -8
- package/dist/method/skills/ideation/references/techniques-limits.md +0 -9
- package/dist/method/skills/ideation/references/techniques-people.md +0 -7
- package/dist/method/skills/ideation/references/techniques-sparks.md +0 -10
- package/dist/method/skills/ideation/references/techniques-together.md +0 -11
- package/dist/method/skills/order-merges/SKILL.md +0 -71
- package/dist/method/skills/pitch/references/deck-types.md +0 -17
- package/dist/method/skills/pitch/references/design-methods.md +0 -45
- package/dist/method/skills/pitch/references/design-thinking.md +0 -28
- package/dist/method/skills/pitch/references/story-frameworks.md +0 -39
- package/dist/method/skills/quick-lane/SKILL.md +0 -143
- package/dist/method/skills/review-tests/SKILL.md +0 -32
- package/dist/method/skills/review-tests/references/check.md +0 -25
- package/dist/method/skills/review-tests/references/grid.md +0 -27
- package/dist/method/skills/round-table/SKILL.md +0 -31
- package/dist/method/skills/round-table/evals/cases.yaml +0 -27
- package/dist/method/skills/round-table/references/cast.md +0 -14
- package/dist/method/skills/round-table/references/gestures.md +0 -24
- package/dist/method/skills/round-table/references/guests.md +0 -17
- package/dist/method/skills/round-table/references/independence.md +0 -21
- package/dist/method/skills/round-table/references/rooms.md +0 -29
- package/dist/method/skills/round-table/references/three-views.md +0 -17
- package/dist/method/skills/round-table/references/turns.md +0 -19
- package/dist/method/skills/strategy/references/innovate-frameworks.md +0 -48
- package/dist/method/skills/strategy/references/solve-methods.md +0 -45
- package/dist/method/skills/test-idea/references/bets.md +0 -14
- package/dist/method/skills/test-idea/references/concept.md +0 -24
- package/dist/method/skills/test-idea/references/verdict.md +0 -26
- package/dist/method/skills/workshop/references/analyze.md +0 -36
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# Where Noah sends what the creator says. Free check: agentplugged eval routes check --method
|
|
2
|
+
# Paid run: agentplugged eval routes run --method (see the Method evaluations workflow).
|
|
3
|
+
# go: agent:<id>[/<skill>] (alternatives with |), skill:<name>, tool:<tool>.<action>, or self.
|
|
4
|
+
# voice: true marks a dictated sentence (no punctuation, hesitations, recognition mistakes).
|
|
5
|
+
# This file is never read by Noah nor carried to a product or a tool.
|
|
6
|
+
routes:
|
|
7
|
+
# Framing: the brief (Iris)
|
|
8
|
+
- { id: r001, lang: fr, say: "J'ai une idée d'application pour les freelances qui facturent mal, on commence par où ?", go: "agent:iris" }
|
|
9
|
+
- { id: r002, lang: fr, voice: true, say: "euh du coup j'ai une idée de truc pour les kinés qui gèrent leurs séances on peut cadrer ça", go: "agent:iris" }
|
|
10
|
+
- { id: r003, lang: en, say: "I want to build a tool that helps small bakeries track their orders. Where do we start?", go: "agent:iris" }
|
|
11
|
+
- { id: r004, lang: fr, say: "Écris le brief produit à partir de ce que je viens de te dire.", go: "agent:iris/write-brief" }
|
|
12
|
+
- { id: r005, lang: fr, voice: true, say: "alors fais-moi le brif de mon projet avec ce que je t'ai dit tout à l'heure", go: "agent:iris/write-brief" }
|
|
13
|
+
- { id: r006, lang: en, voice: true, say: "uh can you do some research on who else sells invoicing apps to freelancers like what are the alternatives", go: "agent:iris/deep-research" }
|
|
14
|
+
- { id: r007, lang: fr, say: "Fais une étude de marché sur les applications de réservation pour coiffeurs, avec des sources.", go: "agent:iris/deep-research" }
|
|
15
|
+
- { id: r008, lang: fr, say: "Quelles sont les hypothèses les plus risquées de mon idée, et comment les tester sans dépenser ?", go: "agent:iris" }
|
|
16
|
+
- { id: r009, lang: en, say: "Stress-test my idea against skeptical readers before I commit to it.", go: "agent:iris/test-idea" }
|
|
17
|
+
- { id: r010, lang: fr, voice: true, say: "je voudrais savoir si mon idée tient la route tu peux me faire le communiqué de presse du produit fini", go: "agent:iris/test-idea" }
|
|
18
|
+
# PRD and spec (Maya)
|
|
19
|
+
- { id: r011, lang: fr, say: "Le brief est validé, passons au PRD.", go: "agent:maya/write-prd" }
|
|
20
|
+
- { id: r012, lang: fr, voice: true, say: "ok le brief est bon on peut écrire le pé air dé", go: "agent:maya/write-prd" }
|
|
21
|
+
- { id: r013, lang: en, say: "Write the PRD from the approved brief.", go: "agent:maya/write-prd" }
|
|
22
|
+
- { id: r014, lang: fr, say: "C'est un petit projet, une seule spec suffit : écris-la.", go: "agent:maya/write-spec" }
|
|
23
|
+
- { id: r015, lang: en, voice: true, say: "its a really small project so just give me one spec no big document", go: "agent:maya/write-spec" }
|
|
24
|
+
- { id: r016, lang: fr, say: "J'ai changé d'avis : les factures doivent partir automatiquement, mets le PRD à jour.", go: "agent:maya/correct-course" }
|
|
25
|
+
- { id: r017, lang: fr, voice: true, say: "en fait j'ai changé d'avis sur les paiements on ne fait plus de paiement en ligne du coup faut revoir les exigences", go: "agent:maya/correct-course" }
|
|
26
|
+
- { id: r018, lang: en, say: "Define the success metrics for the product and how we will observe them.", go: "agent:maya" }
|
|
27
|
+
- { id: r019, lang: fr, say: "Quelles exigences on garde pour la première version ? Priorise.", go: "agent:maya" }
|
|
28
|
+
- { id: r020, lang: es, say: "Cambié de opinión: quita el pago en línea de los requisitos.", go: "agent:maya/correct-course" }
|
|
29
|
+
# UX (Stella)
|
|
30
|
+
- { id: r021, lang: fr, say: "On passe à l'UX : écris la spécification des écrans.", go: "agent:stella/write-ux-spec" }
|
|
31
|
+
- { id: r022, lang: fr, voice: true, say: "il faut qu'on dessine les écrans de l'appli c'est quoi la suite pour l'ux", go: "agent:stella/write-ux-spec" }
|
|
32
|
+
- { id: r023, lang: en, say: "Design the onboarding flow step by step, with every state.", go: "agent:stella" }
|
|
33
|
+
- { id: r024, lang: fr, say: "Je veux une identité visuelle pour l'interface : couleurs, typographie, composants.", go: "agent:stella" }
|
|
34
|
+
- { id: r025, lang: en, say: "Draw the brand identity: a logo, a palette, the fixed rules.", go: "agent:stella/write-brand" }
|
|
35
|
+
- { id: r026, lang: fr, voice: true, say: "est-ce que l'appli est accessible pour les gens qui voient mal tu peux vérifier les écrans", go: "agent:stella" }
|
|
36
|
+
- { id: r027, lang: pt, say: "Preciso de um fluxo de cadastro desenhado passo a passo.", go: "agent:stella" }
|
|
37
|
+
- { id: r028, lang: fr, say: "Organise la navigation de l'application : quelles pages, dans quel ordre.", go: "agent:stella" }
|
|
38
|
+
# Architecture (Alex)
|
|
39
|
+
- { id: r029, lang: fr, say: "Le PRD et l'UX sont validés, écris l'architecture.", go: "agent:alex/write-architecture" }
|
|
40
|
+
- { id: r030, lang: en, voice: true, say: "okay the prd is approved and the ux too so uh time for the architecture", go: "agent:alex/write-architecture" }
|
|
41
|
+
- { id: r031, lang: fr, say: "Quelle stack tu recommandes pour une app web avec un mobile ? Vérifie les versions actuelles.", go: "agent:alex" }
|
|
42
|
+
- { id: r032, lang: fr, voice: true, say: "je sais pas si je dois prendre postgres ou mongo pour mes données qui décide", go: "agent:alex" }
|
|
43
|
+
- { id: r033, lang: en, say: "Design the data model and tell me who owns each piece of data.", go: "agent:alex" }
|
|
44
|
+
- { id: r034, lang: en, say: "Record the decision to use Postgres instead of SQLite and why.", go: "agent:alex" }
|
|
45
|
+
- { id: r035, lang: es, say: "Valida la arquitectura contra el PRD y la especificación de UX.", go: "agent:alex" }
|
|
46
|
+
- { id: r036, lang: fr, say: "Revois la décision d'architecture sur le stockage des fichiers.", go: "agent:alex" }
|
|
47
|
+
# Plan: epics, stories, sprints, retrospectives (Izzy)
|
|
48
|
+
- { id: r037, lang: fr, say: "Découpe le plan en epics et en stories.", go: "agent:izzy/split-into-stories" }
|
|
49
|
+
- { id: r038, lang: fr, voice: true, say: "bon tout est validé maintenant on découpe en épiques et en storie s'il te plaît", go: "agent:izzy/split-into-stories" }
|
|
50
|
+
- { id: r039, lang: en, say: "Break the approved plan down into epics and stories.", go: "agent:izzy/split-into-stories" }
|
|
51
|
+
- { id: r040, lang: fr, say: "Propose le prochain sprint.", go: "agent:izzy/plan-sprint" }
|
|
52
|
+
- { id: r041, lang: en, voice: true, say: "uh what goes in the next sprint can you plan it", go: "agent:izzy/plan-sprint" }
|
|
53
|
+
- { id: r042, lang: fr, say: "On a fini l'epic 2, fais la rétrospective.", go: "agent:izzy/run-retrospective" }
|
|
54
|
+
- { id: r043, lang: fr, voice: true, say: "l'épique deux est terminée on fait le point sur ce qui s'est bien passé et ce qui a coincé", go: "agent:izzy/run-retrospective" }
|
|
55
|
+
- { id: r044, lang: fr, say: "Dans quel ordre on fusionne les stories, et laquelle bloque les autres ?", go: "agent:izzy" }
|
|
56
|
+
- { id: r045, lang: en, say: "Write the stories for epic 3, each one self-contained.", go: "agent:izzy" }
|
|
57
|
+
- { id: r046, lang: pt, say: "Planeje o próximo sprint, por favor.", go: "agent:izzy/plan-sprint" }
|
|
58
|
+
- { id: r047, lang: fr, say: "Vérifie que chaque exigence est couverte par une story et que les dépendances sont cohérentes.", go: "agent:izzy" }
|
|
59
|
+
- { id: r048, lang: en, say: "Hold a retrospective on the sprint we just closed.", go: "agent:izzy/run-retrospective" }
|
|
60
|
+
# Code: backend (Sam, Ethan)
|
|
61
|
+
- { id: r049, lang: fr, say: "Corrige vite ce bug : l'API renvoie une 500 quand le client n'a pas d'adresse.", go: "agent:sam|ethan" }
|
|
62
|
+
- { id: r050, lang: fr, voice: true, say: "l'api plante quand on envoie une facture sans client tu peux regarder ça vite fait", go: "agent:sam|ethan" }
|
|
63
|
+
- { id: r051, lang: en, say: "Implement the story 2-1: the endpoint that creates an invoice.", go: "agent:sam|ethan/develop-story" }
|
|
64
|
+
- { id: r052, lang: en, voice: true, say: "can you add a route in the backend that returns the late invoices", go: "agent:sam|ethan" }
|
|
65
|
+
- { id: r053, lang: fr, say: "Lance le développement de la story 3-2, la migration de la base.", go: "agent:sam|ethan/develop-story" }
|
|
66
|
+
- { id: r054, lang: fr, voice: true, say: "on peut commencer à coder la première storie celle du modèle de données", go: "agent:sam|ethan/develop-story" }
|
|
67
|
+
- { id: r055, lang: es, say: "Arregla el error del servidor cuando el cliente no tiene correo.", go: "agent:sam|ethan" }
|
|
68
|
+
- { id: r056, lang: fr, say: "Je ne comprends pas pourquoi le calcul de TVA est faux, cherche la cause.", go: "agent:sam|ethan" }
|
|
69
|
+
- { id: r057, lang: en, say: "Clean up the duplicated validation in the billing module, the audit asked for it.", go: "agent:sam|ethan" }
|
|
70
|
+
- { id: r058, lang: pt, say: "Corrija rápido o erro da API de pagamentos.", go: "agent:sam|ethan" }
|
|
71
|
+
# Code: frontend (Hugo, Lina)
|
|
72
|
+
- { id: r059, lang: fr, say: "Le bouton Envoyer est décalé sur la page de facture, corrige ça.", go: "agent:hugo|lina" }
|
|
73
|
+
- { id: r060, lang: fr, voice: true, say: "le bouton envoyer il est mal placé sur la page des factures tu peux le remonter un peu", go: "agent:hugo|lina" }
|
|
74
|
+
- { id: r061, lang: en, say: "Build the story 4-1: the invoice list screen.", go: "agent:hugo|lina/develop-story" }
|
|
75
|
+
- { id: r062, lang: en, voice: true, say: "uh the login page looks broken on small screens can you fix the layout", go: "agent:hugo|lina" }
|
|
76
|
+
- { id: r063, lang: fr, say: "Développe l'écran du tableau de bord comme dans la maquette.", go: "agent:hugo|lina/develop-story" }
|
|
77
|
+
- { id: r064, lang: es, say: "Implementa la pantalla de configuración de la cuenta.", go: "agent:hugo|lina/develop-story" }
|
|
78
|
+
- { id: r065, lang: fr, voice: true, say: "la couleur du header est pas la bonne par rapport à la maquette tu peux corriger", go: "agent:hugo|lina" }
|
|
79
|
+
- { id: r066, lang: en, say: "Find why the form loses its values when I switch tabs.", go: "agent:hugo|lina" }
|
|
80
|
+
# Code: mobile (Jade)
|
|
81
|
+
- { id: r067, lang: fr, say: "L'application mobile se ferme quand on ouvre la caméra, corrige.", go: "agent:jade" }
|
|
82
|
+
- { id: r068, lang: fr, voice: true, say: "sur l'iphone l'appli plante au démarrage il faut regarder ça", go: "agent:jade" }
|
|
83
|
+
- { id: r069, lang: en, say: "Develop the story 5-1: push notifications on the mobile app.", go: "agent:jade/develop-story" }
|
|
84
|
+
- { id: r070, lang: en, voice: true, say: "the android app does not show the keyboard on the search field can you fix that", go: "agent:jade" }
|
|
85
|
+
# Quality: review and acceptance (Quentin, Tess)
|
|
86
|
+
- { id: r071, lang: fr, say: "Relis la pull request de la story 2-3 avant que je fusionne.", go: "agent:quentin/review-story" }
|
|
87
|
+
- { id: r072, lang: en, voice: true, say: "okay the story is done can someone review the pull request before it gets merged", go: "agent:quentin/review-story" }
|
|
88
|
+
- { id: r073, lang: fr, say: "Vérifie que la story 3-1 respecte les exigences qu'elle cite.", go: "agent:quentin/check-requirements" }
|
|
89
|
+
- { id: r074, lang: fr, say: "Audite le produit sur tous les piliers de qualité.", go: "agent:quentin/audit-pillars" }
|
|
90
|
+
- { id: r075, lang: en, say: "Challenge the architecture document before we build on it.", go: "agent:quentin/critique-deliverable" }
|
|
91
|
+
- { id: r076, lang: fr, voice: true, say: "avant de valider le pé air dé est-ce que quelqu'un peut le passer au crible pour voir s'il tient", go: "agent:quentin/critique-deliverable" }
|
|
92
|
+
- { id: r077, lang: fr, say: "Écris la stratégie de tests à partir du PRD et de l'architecture.", go: "agent:tess" }
|
|
93
|
+
- { id: r078, lang: en, say: "Open the built story in a browser and show me proof that it works.", go: "agent:tess/acceptance-qa" }
|
|
94
|
+
- { id: r079, lang: fr, voice: true, say: "est-ce que tu peux tester la page de connexion dans un navigateur pour de vrai et me montrer des captures", go: "agent:tess/acceptance-qa" }
|
|
95
|
+
- { id: r080, lang: fr, say: "Les tests de l'epic 1 sont lents et certains échouent au hasard, enquête.", go: "agent:tess" }
|
|
96
|
+
- { id: r081, lang: es, say: "Quiero un plan de pruebas que cubra cada requisito.", go: "agent:tess" }
|
|
97
|
+
- { id: r082, lang: en, say: "Is the product ready to release? Give me your gate recommendation.", go: "agent:tess" }
|
|
98
|
+
# Security (Chloé)
|
|
99
|
+
- { id: r083, lang: fr, say: "Fais une revue de sécurité de l'architecture avant que je l'approuve.", go: "agent:chloe/security-review-architecture" }
|
|
100
|
+
- { id: r084, lang: en, say: "Model the threats against our architecture.", go: "agent:chloe" }
|
|
101
|
+
- { id: r085, lang: fr, voice: true, say: "je m'inquiète pour la sécurité des mots de passe des clients tu peux regarder si c'est solide", go: "agent:chloe" }
|
|
102
|
+
- { id: r086, lang: fr, say: "Vérifie les dépendances et les secrets du dépôt.", go: "agent:chloe" }
|
|
103
|
+
- { id: r087, lang: en, voice: true, say: "who can see who's data in the app i want someone to check the access rules", go: "agent:chloe" }
|
|
104
|
+
- { id: r088, lang: pt, say: "Revise a segurança da pull request da story 2-2.", go: "agent:chloe/review-story" }
|
|
105
|
+
# CI, delivery, staging (Omar)
|
|
106
|
+
- { id: r089, lang: fr, say: "Mets en place la CI qui vérifie chaque pull request.", go: "agent:omar/setup-ci" }
|
|
107
|
+
- { id: r090, lang: fr, voice: true, say: "il faudrait une si-aï pour que les tests tournent tout seuls à chaque fois", go: "agent:omar/setup-ci" }
|
|
108
|
+
- { id: r091, lang: en, say: "Set up a staging server for the product with me.", go: "agent:omar" }
|
|
109
|
+
- { id: r092, lang: fr, voice: true, say: "je veux un serveur de test en ligne pour montrer l'appli à mes amis tu peux préparer ça", go: "agent:omar" }
|
|
110
|
+
- { id: r093, lang: en, say: "Prepare the release and its rollback plan.", go: "agent:omar" }
|
|
111
|
+
- { id: r094, lang: fr, say: "Le site est tombé en production, aide-moi à diagnostiquer.", go: "agent:omar" }
|
|
112
|
+
- { id: r095, lang: es, say: "Escribe el runbook de despliegue.", go: "agent:omar" }
|
|
113
|
+
- { id: r096, lang: fr, say: "La CI de la story 2-4 est rouge, répare.", go: "agent:omar|sam|ethan|hugo|lina|jade" }
|
|
114
|
+
# Documentation (Zoé)
|
|
115
|
+
- { id: r097, lang: fr, say: "Génère la base de connaissances du projet.", go: "agent:zoe/generate-knowledge-base" }
|
|
116
|
+
- { id: r098, lang: en, say: "Write the release notes for version 1.2.", go: "agent:zoe" }
|
|
117
|
+
- { id: r099, lang: fr, voice: true, say: "il faut un readme propre pour le dépôt tu peux t'en occuper", go: "agent:zoe" }
|
|
118
|
+
- { id: r100, lang: fr, say: "Fais un guide pour expliquer comment ajouter un client.", go: "agent:zoe" }
|
|
119
|
+
- { id: r101, lang: en, voice: true, say: "uh can you check that the docs are not out of date after the last merges", go: "agent:zoe" }
|
|
120
|
+
- { id: r102, lang: pt, say: "Escreva a documentação pública do produto.", go: "agent:zoe" }
|
|
121
|
+
# Contesting (Basile)
|
|
122
|
+
- { id: r103, lang: fr, say: "Je veux qu'on conteste mon PRD : où est-ce qu'il peut échouer ?", go: "agent:basile" }
|
|
123
|
+
- { id: r104, lang: en, say: "Play devil's advocate on my plan.", go: "agent:basile" }
|
|
124
|
+
- { id: r105, lang: fr, voice: true, say: "imagine que dans six mois le projet est un échec pourquoi ça arriverait", go: "agent:basile" }
|
|
125
|
+
- { id: r106, lang: en, say: "Rank the risks of this plan by damage and likelihood.", go: "agent:basile" }
|
|
126
|
+
# Creative sessions and the team's own agents (Lou)
|
|
127
|
+
- { id: r107, lang: fr, say: "Faisons une session d'idées pour trouver un nom au produit.", go: "agent:lou/ideation" }
|
|
128
|
+
- { id: r108, lang: en, voice: true, say: "i need some ideas for what to call it can we brainstorm", go: "agent:lou/ideation" }
|
|
129
|
+
- { id: r109, lang: fr, say: "Je veux créer mon propre agent pour la comptabilité.", go: "agent:lou/workshop" }
|
|
130
|
+
- { id: r110, lang: fr, voice: true, say: "est-ce qu'on peut adapter une compétence de la méthode pour mon équipe j'aimerais la changer un peu", go: "agent:lou/workshop" }
|
|
131
|
+
- { id: r111, lang: fr, say: "Ma session d'hier m'a coûté très cher, montre-moi où sont partis les jetons.", go: "agent:lou/improve-session" }
|
|
132
|
+
- { id: r112, lang: en, say: "Pick up the ideation session that stopped yesterday.", go: "agent:lou" }
|
|
133
|
+
- { id: r113, lang: fr, say: "Je bloque sur mon modèle économique, aide-moi à résoudre ça.", go: "agent:lou|iris/strategy" }
|
|
134
|
+
- { id: r114, lang: es, say: "Hagamos una sesión de ideas para el nombre.", go: "agent:lou/ideation" }
|
|
135
|
+
# Launch and marketing (Julien)
|
|
136
|
+
- { id: r115, lang: fr, say: "Écris le positionnement du produit.", go: "agent:julien/write-positioning" }
|
|
137
|
+
- { id: r116, lang: fr, voice: true, say: "il faut qu'on sache dire à qui s'adresse le produit et pourquoi il est différent tu peux écrire le positionnement", go: "agent:julien/write-positioning" }
|
|
138
|
+
- { id: r117, lang: en, say: "Write the landing page copy, tied to the validated positioning.", go: "agent:julien" }
|
|
139
|
+
- { id: r118, lang: fr, say: "Prépare un plan de lancement avec le calendrier et les canaux.", go: "agent:julien/write-content" }
|
|
140
|
+
- { id: r119, lang: en, voice: true, say: "i need a pitch for investors can you write the story of the product", go: "agent:julien/pitch" }
|
|
141
|
+
- { id: r120, lang: fr, say: "Prépare-moi un deck pour convaincre des partenaires.", go: "agent:julien/pitch" }
|
|
142
|
+
- { id: r121, lang: fr, say: "Écris un article de blog pour annoncer le produit.", go: "agent:julien/write-content" }
|
|
143
|
+
- { id: r122, lang: pt, say: "Preciso de um plano de SEO para o site.", go: "agent:julien" }
|
|
144
|
+
# Sales (Milo)
|
|
145
|
+
- { id: r123, lang: fr, say: "Écris la page d'offre de l'abonnement.", go: "agent:milo/write-sales" }
|
|
146
|
+
- { id: r124, lang: en, say: "Write a follow-up email sequence for prospects.", go: "agent:milo/write-sales" }
|
|
147
|
+
- { id: r125, lang: fr, voice: true, say: "mes prospects me disent que c'est trop cher tu peux préparer des réponses à leurs objections", go: "agent:milo" }
|
|
148
|
+
- { id: r126, lang: en, voice: true, say: "i want to sell this to small agencies who are my buyers and what do they worry about", go: "agent:milo" }
|
|
149
|
+
- { id: r127, lang: es, say: "Escribe una secuencia de correos de ventas.", go: "agent:milo/write-sales" }
|
|
150
|
+
# Where we stand (state.get, state.next, state.trace, state.environment)
|
|
151
|
+
- { id: r134, lang: fr, say: "Où en est-on ?", go: "tool:state.get" }
|
|
152
|
+
- { id: r135, lang: fr, voice: true, say: "alors on en est où là dis-moi qui travaille sur quoi", go: "tool:state.get" }
|
|
153
|
+
- { id: r136, lang: en, say: "What's the status of the project?", go: "tool:state.get" }
|
|
154
|
+
- { id: r137, lang: en, voice: true, say: "hey so uh where are we right now", go: "tool:state.get" }
|
|
155
|
+
- { id: r138, lang: es, say: "¿Cómo vamos?", go: "tool:state.get" }
|
|
156
|
+
- { id: r139, lang: pt, say: "Em que ponto estamos do projeto?", go: "tool:state.get" }
|
|
157
|
+
- { id: r140, lang: fr, say: "Donne-moi le détail de la story 2-3, où elle en est.", go: "tool:state.get" }
|
|
158
|
+
- { id: r141, lang: fr, say: "Qu'est-ce qui m'attend ? Quelles décisions sont en suspens ?", go: "tool:state.next" }
|
|
159
|
+
- { id: r142, lang: fr, voice: true, say: "c'est quoi la prochaine étape je sais plus ce qu'on doit faire maintenant", go: "tool:state.next" }
|
|
160
|
+
- { id: r143, lang: en, say: "What should we do next?", go: "tool:state.next" }
|
|
161
|
+
- { id: r144, lang: en, voice: true, say: "what's next on the list uh what am I supposed to decide", go: "tool:state.next" }
|
|
162
|
+
- { id: r145, lang: es, say: "¿Cuál es el siguiente paso?", go: "tool:state.next" }
|
|
163
|
+
- { id: r146, lang: fr, say: "Montre-moi le journal de ce qui s'est passé hier soir.", go: "tool:state.trace" }
|
|
164
|
+
- { id: r147, lang: en, say: "Show me the trace of what the agents did on story 4-2.", go: "tool:state.trace" }
|
|
165
|
+
- { id: r148, lang: fr, voice: true, say: "j'ai pas compris ce qui s'est passé cette nuit tu peux me remontrer l'historique", go: "tool:state.trace" }
|
|
166
|
+
- { id: r149, lang: fr, say: "Je n'arrive pas à lancer le projet, git n'est pas reconnu sur ma machine.", go: "tool:state.environment" }
|
|
167
|
+
- { id: r150, lang: en, voice: true, say: "it says node is not found on my computer i don't know what to install", go: "tool:state.environment" }
|
|
168
|
+
- { id: r151, lang: es, say: "No encuentra git en mi máquina, ¿qué hago?", go: "tool:state.environment" }
|
|
169
|
+
# Memory, usage, loop, pause, summaries
|
|
170
|
+
- { id: r152, lang: fr, say: "Rappelle-moi les leçons qu'on a gardées sur ce projet.", go: "tool:memory.read" }
|
|
171
|
+
- { id: r153, lang: en, say: "What lessons did we keep from the previous epics?", go: "tool:memory.read" }
|
|
172
|
+
- { id: r154, lang: fr, voice: true, say: "est-ce qu'on a déjà appris quelque chose sur les migrations de base rappelle moi", go: "tool:memory.read" }
|
|
173
|
+
- { id: r155, lang: fr, say: "Combien de jetons a-t-on consommé cette semaine ?", go: "tool:measure.usage" }
|
|
174
|
+
- { id: r156, lang: en, say: "How much has this session cost so far?", go: "tool:measure.usage" }
|
|
175
|
+
- { id: r157, lang: fr, voice: true, say: "ça me coûte combien en gros tout ça en jeton là est-ce que je vais dépasser mon forfait", go: "tool:measure.usage" }
|
|
176
|
+
- { id: r158, lang: es, say: "¿Cuántos tokens hemos gastado hoy?", go: "tool:measure.usage" }
|
|
177
|
+
- { id: r159, lang: fr, say: "Mets toute l'équipe en pause, j'ai besoin de réfléchir.", go: "tool:agent.pause" }
|
|
178
|
+
- { id: r160, lang: en, voice: true, say: "stop everyone for now hold the team i need to think about something", go: "tool:agent.pause" }
|
|
179
|
+
- { id: r161, lang: fr, voice: true, say: "arrête tout le monde un moment mets l'équipe en pose", go: "tool:agent.pause" }
|
|
180
|
+
- { id: r162, lang: fr, say: "Enchaîne les stories de l'epic 2 pendant que je dors.", go: "tool:story.loop" }
|
|
181
|
+
- { id: r163, lang: en, voice: true, say: "keep going through the stories of epic two on your own i'm going to bed", go: "tool:story.loop" }
|
|
182
|
+
- { id: r164, lang: fr, say: "Résume en une ligne ce qu'on a décidé aujourd'hui pour la prochaine session.", go: "tool:agent.summarize" }
|
|
183
|
+
- { id: r165, lang: en, say: "Note down what we agreed this morning so we can pick up tomorrow.", go: "tool:agent.summarize" }
|
|
184
|
+
# Answers to open points (chat.answer, chat.stack_answer)
|
|
185
|
+
- { id: r166, lang: fr, context: "Noah just asked: on garde Boréal (a) ou on repart sur Horizon (b) ? He recommended (a).", say: "Oui vas-y.", go: "tool:chat.answer" }
|
|
186
|
+
- { id: r167, lang: fr, voice: true, context: "Noah just asked: on garde Boréal (a) ou on repart sur Horizon (b) ? He recommended (a).", say: "ok garde boréal", go: "tool:chat.answer" }
|
|
187
|
+
- { id: r168, lang: en, context: "Noah just asked whether to approve the brief. The brief checkpoint is open.", say: "Looks good, approved.", go: "tool:chat.answer" }
|
|
188
|
+
- { id: r169, lang: en, voice: true, context: "Noah just asked whether to use option b, the shorter path, with a recommendation for b.", say: "yeah that sounds right let's do it", go: "tool:chat.answer" }
|
|
189
|
+
- { id: r170, lang: fr, context: "Noah presented the single stack of four plain approvals, numbered 1 to 4.", say: "J'approuve 1, 2 et 4.", go: "tool:chat.stack_answer" }
|
|
190
|
+
- { id: r171, lang: fr, voice: true, context: "Noah presented the single stack of three plain approvals, numbered 1 to 3.", say: "oui j'approuve tout c'est bon pour les trois", go: "tool:chat.stack_answer" }
|
|
191
|
+
- { id: r172, lang: es, context: "Noah just asked whether to merge story 2-3 into the main branch.", say: "Sí, adelante.", go: "tool:chat.answer" }
|
|
192
|
+
- { id: r173, lang: pt, context: "Noah just asked whether to keep option a, recommended.", say: "Pode seguir com a opção a.", go: "tool:chat.answer" }
|
|
193
|
+
# Actions reserved to the creator (guard.creator_action), secrets, sensitive files
|
|
194
|
+
- { id: r174, lang: fr, say: "Fusionne la story 2-3 dans la branche principale, j'ai relu.", go: "tool:guard.creator_action" }
|
|
195
|
+
- { id: r175, lang: en, voice: true, say: "okay merge it into main i've seen the pull request and it's fine", go: "tool:guard.creator_action" }
|
|
196
|
+
- { id: r176, lang: fr, say: "On saute le PRD, ce n'est qu'un petit projet.", go: "tool:guard.creator_action" }
|
|
197
|
+
- { id: r177, lang: fr, voice: true, say: "pas besoin de ci pour cette story fusionne sans les tests de la forge", go: "tool:guard.creator_action" }
|
|
198
|
+
- { id: r178, lang: fr, say: "Crée le dépôt sur la forge et pousse le code.", go: "tool:guard.creator_action" }
|
|
199
|
+
- { id: r179, lang: en, say: "Put the product in production.", go: "tool:guard.creator_action" }
|
|
200
|
+
- { id: r180, lang: fr, say: "Installe la dernière version du moteur.", go: "tool:guard.creator_action" }
|
|
201
|
+
- { id: r181, lang: fr, say: "Je veux valider seulement le cadrage et l'architecture, le reste, décide sans moi.", go: "tool:guard.creator_action" }
|
|
202
|
+
- { id: r182, lang: en, say: "Tag the release and publish the package to the registry, I approve.", go: "tool:guard.creator_action" }
|
|
203
|
+
- { id: r183, lang: fr, say: "Retire la protection de la branche principale, je veux pousser directement.", go: "tool:guard.creator_action" }
|
|
204
|
+
- { id: r184, lang: fr, say: "Voilà ma clé Stripe de test, ajoute-la pour l'environnement local.", go: "tool:guard.secret" }
|
|
205
|
+
- { id: r185, lang: en, voice: true, say: "i have an open ai api key for the staging how do i give it to you", go: "tool:guard.secret" }
|
|
206
|
+
- { id: r186, lang: es, say: "Tengo una clave de API de Stripe para producción, ¿cómo te la doy?", go: "tool:guard.secret" }
|
|
207
|
+
- { id: r187, lang: fr, say: "Ouvre le fichier sensible de la salle et dis-moi ce qu'il contient.", go: "tool:guard.read_sensitive" }
|
|
208
|
+
- { id: r188, lang: en, say: "Show me what is in the sensitive notes of the product.", go: "tool:guard.read_sensitive" }
|
|
209
|
+
# Noah answers by himself
|
|
210
|
+
- { id: r189, lang: fr, say: "Bonjour Noah !", go: "self" }
|
|
211
|
+
- { id: r190, lang: fr, voice: true, say: "salut noah ça va", go: "self" }
|
|
212
|
+
- { id: r191, lang: en, say: "Thanks, that's all for today.", go: "self" }
|
|
213
|
+
- { id: r192, lang: en, voice: true, say: "uh hi are you there", go: "self" }
|
|
214
|
+
- { id: r193, lang: fr, say: "Qui es-tu et que peux-tu faire pour moi ?", go: "self" }
|
|
215
|
+
- { id: r194, lang: en, say: "What can you help me with?", go: "self" }
|
|
216
|
+
- { id: r195, lang: fr, say: "C'est quoi un point de validation ?", go: "self" }
|
|
217
|
+
- { id: r196, lang: fr, voice: true, say: "euh je sais pas trop par où commencer en fait j'ai juste envie de faire quelque chose", go: "self" }
|
|
218
|
+
- { id: r197, lang: es, say: "Hola Noah, buenos días.", go: "self" }
|
|
219
|
+
- { id: r198, lang: pt, say: "Obrigado, Noah, até amanhã.", go: "self" }
|
|
220
|
+
- { id: r199, lang: fr, say: "Peux-tu écrire toi-même la fonction de calcul de la TVA ?", go: "agent:sam|ethan" }
|
|
221
|
+
- { id: r200, lang: fr, voice: true, say: "merci beaucoup c'est tout pour ce soir bonne nuit", go: "self" }
|
|
222
|
+
- { id: r201, lang: en, say: "Explain in one sentence what an epic is.", go: "self" }
|
|
223
|
+
- { id: r202, lang: fr, say: "Dis-moi franchement, ça vaut le coup de faire un PRD pour un site vitrine ?", go: "self" }
|
|
224
|
+
# More dictated sentences, across the routes
|
|
225
|
+
- { id: r203, lang: fr, voice: true, say: "bon alors euh j'ai pensé à une appli pour les cavistes qui veulent suivre leur stock", go: "agent:iris" }
|
|
226
|
+
- { id: r204, lang: en, voice: true, say: "so um the architecture's done what comes after that who writes the stories", go: "agent:izzy/split-into-stories" }
|
|
227
|
+
- { id: r205, lang: fr, voice: true, say: "euh tu peux me dire où on en est avec la storie quatre deux", go: "tool:state.get" }
|
|
228
|
+
- { id: r206, lang: en, voice: true, say: "uh please write the readme and also the release notes for the first version", go: "agent:zoe" }
|
|
229
|
+
- { id: r207, lang: fr, voice: true, say: "je voudrais qu'un expert regarde si on stocke bien les données personnelles des clients du coup la sécurité", go: "agent:chloe" }
|
|
230
|
+
- { id: r208, lang: fr, voice: true, say: "alors mets au point une offre à vingt euros par mois et la page qui va avec", go: "agent:milo/write-sales" }
|
|
231
|
+
- { id: r209, lang: en, voice: true, say: "yeah go ahead and publish the production release now", go: "tool:guard.creator_action" }
|
|
232
|
+
- { id: r210, lang: fr, voice: true, say: "euh j'ai un truc à te donner c'est la clé du service d'e-mail comment je fais", go: "tool:guard.secret" }
|
|
233
|
+
- { id: r211, lang: es, voice: true, say: "oye puedes decirme en qué punto estamos con el proyecto", go: "tool:state.get" }
|
|
234
|
+
- { id: r212, lang: pt, voice: true, say: "e aí qual é o próximo passo agora", go: "tool:state.next" }
|
|
235
|
+
- { id: r213, lang: fr, voice: true, say: "y a une erreur quand je clique sur payer l'écran reste blanc tu peux voir ça", go: "agent:hugo|lina|sam|ethan" }
|
|
236
|
+
- { id: r214, lang: fr, voice: true, say: "je veux que l'équipe fasse la fête non je rigole merci beaucoup noah", go: "self" }
|
|
237
|
+
- { id: r215, lang: en, voice: true, say: "who is going to write the end to end tests for the checkout", go: "agent:tess" }
|
|
238
|
+
- { id: r216, lang: fr, voice: true, say: "euh dis donc c'est pas un peu bancal ce plan est-ce que quelqu'un peut chercher les failles", go: "agent:basile" }
|
|
@@ -1,123 +1,61 @@
|
|
|
1
1
|
# Noah: presenting decisions and recording the creator's answers
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
`
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
point
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`chat.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
`
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
`
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- He records each answer with `chat.answer`, quoting the creator's whole message word for
|
|
63
|
-
word ("take Boréal", or "ok" to a yes-or-no approval), as the method's rules on checkpoints in
|
|
64
|
-
the chat say. A plain approval ("ok", "oui", "vas-y", "d'accord", "parfait") to a question that
|
|
65
|
-
carried his recommendation chooses it: he records `option_chosen` with the recommendation's id
|
|
66
|
-
and the whole message in `quote`, says what he recorded in one line, and never asks again. On
|
|
67
|
-
a point without options (a document, the end of a phase), "ok" is `approved`. A message that
|
|
68
|
-
names no option answers an "a or b" question that carried no recommendation no better: he asks
|
|
69
|
-
again, in one sentence that names the option, and does the same when the message adds a
|
|
70
|
-
condition, a hesitation, a refusal or a question ("ok mais…", "hmm ok ?"), names another
|
|
71
|
-
option, or when his recommendation changed since the point opened. One answer validates a
|
|
72
|
-
point, whatever its type or its risk: he never asks the creator to confirm it, to repeat a
|
|
73
|
-
sentence or to send two messages in a given order. He never answers in the creator's place,
|
|
74
|
-
never rewords their answer, and never treats silence as a yes.
|
|
75
|
-
- Before each decision he presents, he reads `validation.channels` in the answer of `state.next`
|
|
76
|
-
(never from a reading he made earlier in the conversation: a reloaded window or a new
|
|
77
|
-
connection changes it) and calls `chat.ask` or `chat.stack_ask` when the form or the question
|
|
78
|
-
tool is available. The permission
|
|
79
|
-
points of installations (at `validate`) go through `chat.ask` (one form each) or `chat.stack_ask`
|
|
80
|
-
(a stack). When the call fails, he says
|
|
81
|
-
so with the engine's message and asks in the chat. One line that triggers
|
|
82
|
-
several guards is one point: he never asks twice for the same line.
|
|
83
|
-
- A story's merge checkpoint (a medium risk: a `git revert` undoes a merge) is presented like
|
|
84
|
-
any decision, with what it does in full: "merge story 4-3, pull request #12, into the main
|
|
85
|
-
branch". The engine, never Noah nor any agent, merges it once the creator approves with one
|
|
86
|
-
answer: in the form, or in the conversation, with no second message and no sentence to repeat
|
|
87
|
-
(a pull request the creator already merged on the forge, on the commit reviewed, is recorded
|
|
88
|
-
by the same answer); at the `strict` level, a tool without the hook answers
|
|
89
|
-
`REVIEW_REQUIRED`, with the command to pass on. He then says in one line what was merged (`merged` in the result:
|
|
90
|
-
the pull request, the commit, the worktree removed or kept and why). When the merge fails
|
|
91
|
-
(`MERGE_FAILED`, `FORGE_NOT_LINKED`), nothing was merged and the point stays open: he says why
|
|
92
|
-
and what the creator can do, never works around it. When the creator asks for changes, the
|
|
93
|
-
story goes back to its developer with their note: he hands it to that developer.
|
|
94
|
-
- When two or more merge checkpoints wait (`merge_queue` in `state.next`), he presents them in that
|
|
95
|
-
order (they enter the single stack, which the engine merges in the order of the graph), and hands the ordering to Izzy (`order-merges`: the engine orders the
|
|
96
|
-
merges by the dependency graph, then the sprint, and refuses one out of order); he never
|
|
97
|
-
reorders, never answers one before its turn, and says why when a merge fails on the order
|
|
98
|
-
(`out_of_order`, `dependency_unmerged`). A conflict with the main branch is not his to settle
|
|
99
|
-
nor to qualify: its story goes back to its developer (`merge_conflict` step of `state.next`), who
|
|
100
|
-
qualifies it and resolves it on the story's branch. A conflict of substance reaches the creator
|
|
101
|
-
as a decision with both versions and the developer's recommendation, presented like any other
|
|
102
|
-
decision.
|
|
103
|
-
- Every question that asks the creator to choose, a casual one included ("qu'en dis-tu ?"), is
|
|
104
|
-
asked on a checkpoint that is already open (one of `decisions` in `state.next`): he never writes "my
|
|
105
|
-
recommendation is (b), what do you think?" before there is a point to record the answer on,
|
|
106
|
-
because an "ok" given before the opening is refused, unless it agreed to exactly the decision
|
|
107
|
-
announced a few minutes earlier (`anticipated`, above). He cannot open a checkpoint himself:
|
|
108
|
-
when a choice has no point yet, he hands it to the agent that owns the subject, who opens it
|
|
109
|
-
first. A clarifying question that offers no choice needs no point.
|
|
110
|
-
- He reads the memory of the product with `memory.read` before his first answer and applies it as
|
|
111
|
-
advice, never above the constitution or what the creator says now. The retrospectives belong to
|
|
112
|
-
Izzy: when an epic or a sprint is finished (`state.next` proposes a `retrospective`), or the creator
|
|
113
|
-
asks for one, he hands it to her. When a `memory` checkpoint waits for the creator (the lessons
|
|
114
|
-
of a retrospective, or the promotion of one to the memory they share), it is in `decisions`, presented one at
|
|
115
|
-
a time like any other: its content is encrypted, so he asks the agent that proposed it to show each lesson
|
|
116
|
-
in full, then lets the creator decide (a whole approval, an approval with reservations naming
|
|
117
|
-
what to leave out, changes, or no retrospective). He never records a lesson, proposes one nor
|
|
118
|
-
promotes one himself: once approved, `state.next` sends the agent that proposed it to record it.
|
|
119
|
-
- When `state.next` carries `critique` (a structuring document at risk is waiting for the creator, `why` says why), he adds one line to the validation, never imposed: « this document has a risk (…); I can have it challenged before you validate it ». He records the offer with `review.critique` (`kind` of the document alone), once per version of the document, whatever the answer, and on a yes hands the critique to the agent who has the skill `critique-deliverable` (`agent.delegate`). With `kind: idea` (a new product, the brief to write or to validate) the line is « want to forge the idea, test it against skeptical readers, or write the launch press release first? »: same recording (`kind: idea`, once for the product, whatever the answer), and on a yes he hands it to the agent who has the skill `test-idea`. When `hypotheses_due` is there, he shows each line (one line each) and asks the creator whether the hypothesis is proved, refuted, dropped or still open; he closes it only with their words (`review.critique` with `item` H-…, see the skill `critique-deliverable`).
|
|
120
|
-
- When `state.next` carries `readiness` (before the stories are cut or before the first one: `stage`), he proposes the readiness gate in one line, never imposed: on `gate: check` (`why`: `none` or `stale`) a yes hands it, with `agent.delegate`, to the agent who has the skill `check-readiness`; a no, or "skip it", is the creator's skip of the step `readiness` (`guard.creator_action` `step_skip`). On `gate: blocked` the creator has a decision to take (it is in `decisions`): correct first or go on all the same, theirs alone. On `gate: reserves` he says once that `open` findings are left to settle. Fixes go to the owner the engine names, with `agent.delegate`.
|
|
121
|
-
- When the creator wants several opinions before deciding, he runs the skill `round-table` himself (menu `RT`): he never speaks for an agent he did not read, nor for the creator. When `state.next` carries `table` (the merge of a sensitive story waits: `story`, `agents`), he adds one line to the validation, never imposed, and records the offer once per story, whatever the answer (`chat.table` with `table: { story }` alone); on a yes he runs the three views (`references/three-views.md` of that skill). The merge stays the creator's.
|
|
122
|
-
- When the creator changes their mind (a function less, a rule, an audience), he hands it, with the skill `correct-course`, to the author of the document concerned (Maya the PRD and the spec, Stella the UX, Alex the architecture; Maya when several) with `agent.delegate`; the engine computes the impact, never a guess. While `state.next` carries `course` (`left` decisions to take, `blocked` the stories under way that do not merge), he puts the rest of the stack to the creator one question at a time, tells the developer of each story blocked, and hands each update (`handoff`) to its author; he never decides a gesture for the creator.
|
|
123
|
-
- He watches for a drift. Changes of course the creator asks for in this session count (a principle, a priority, a scope; his `exchanges` notes keep the count from one session to the next); a single request that contradicts a requirement already written counts at once. At two, or at one contradiction, before anything else, he proposes in one line, one yes: « changes pile up: shall I hold the team, then adjust the PRD, the epics, the stories and the order before we go on? ». On a yes: `agent.pause` (`agent: noah`), then the adjustment as above (`correct-course`). On « continue » or silence he does not pause, rewrites nothing, and does not ask again for the same requests. He never rewrites a document himself and never resumes the team: the creator does. `agent.pause` answering that the team is already paused is no failure: he goes on with the adjustment. If the engine does not know `pause` (an older engine), he points to the team pause button instead. When he makes the proposal he also writes the note of the exchange (`agent.summarize`), so that a fresh session counts it and does not ask twice.
|
|
3
|
+
- **Order.** The single stack when several wait (`pile`), else one at a time in the order of
|
|
4
|
+
`decisions` in `state.next` (risk, what they block, age): context, recommendation, a closed
|
|
5
|
+
question ("we keep Boréal (a) or start again on Horizon (b)?"). The next one only after an answer
|
|
6
|
+
or a "later".
|
|
7
|
+
- **Stacks.** Plain approvals (documents, epics, planned installations, a merge, a release, a
|
|
8
|
+
publication, a phase end) go together: `chat.stack_open` (2 to 16 ids, `pile.stack`), then
|
|
9
|
+
`chat.stack_ask` when the creator can click, else the numbered points in the chat and
|
|
10
|
+
`chat.stack_answer` with their message word for word ("j'approuve tout", "j'approuve 1, 2 et 4"):
|
|
11
|
+
the engine approves the points it names, those alone. A line with an outside effect names it
|
|
12
|
+
("merge story 2-3 into the main branch"). A creator's action and a memory change keep their own
|
|
13
|
+
presentation. A "yes" alone answers one point, never a stack. He never shows a stack other than
|
|
14
|
+
the engine's, nor says a point is approved before the engine recorded it.
|
|
15
|
+
- **Channels.** Before each decision he reads `validation.channels` in a fresh `state.next`. When it
|
|
16
|
+
holds more than `chat`, `chat.ask` (or `chat.stack_ask`) first; `answered: true` is recorded,
|
|
17
|
+
one line, move on. `channel: "question_tool"`: he asks its `questions` once, word for word, with
|
|
18
|
+
the tool the result names, then `chat.answer` with `via: "question_tool"` and the hook's session,
|
|
19
|
+
no quote. A closed window, a failure or `answered: false` with `channel: "chat"`: he asks in the
|
|
20
|
+
chat, never twice the same question.
|
|
21
|
+
- **Recording.** `chat.answer` with the creator's whole message in `quote`. A plain approval of a
|
|
22
|
+
question that carried his recommendation chooses it (`option_chosen`). On a point without
|
|
23
|
+
options (a document, the end of a phase), "ok" is `approved`. He asks again, naming the option, when the message adds a condition,
|
|
24
|
+
a hesitation, a refusal or a question, names another option, when there was no recommendation,
|
|
25
|
+
or when his recommendation changed. One answer validates a point, whatever its type or its risk: never a
|
|
26
|
+
confirmation, a sentence to repeat or two messages.
|
|
27
|
+
- **Points of validation.** The creator chooses which points wait for them (`validation.points`:
|
|
28
|
+
framing, architecture, breakdown, merge, release, publication); while `configured` is false he
|
|
29
|
+
offers the defaults once (framing, architecture, release, publication); a word changes them
|
|
30
|
+
(`guard.creator_action` `profile` {points}). The agent responsible decides the others (Noah never does); on
|
|
31
|
+
`point_decision` he hands the point to the agent `state.next` names (`agent.delegate`).
|
|
32
|
+
`validation.unpublished` not null: he offers `forge_push_main` once.
|
|
33
|
+
- **Merges.** A merge point is presented with its action in full ("merge story 4-3, pull request
|
|
34
|
+
#12, into the main branch"); the engine merges on one answer and he says what `merged` reports.
|
|
35
|
+
`MERGE_FAILED`, `FORGE_NOT_LINKED`: nothing merged, the point stays open, he says why. Several
|
|
36
|
+
merges: the order of `merge_queue`; the ordering is the engine's, put in words by Izzy, never reordered.
|
|
37
|
+
A conflict goes back to its story's developer (`merge_conflict`); one of substance reaches the
|
|
38
|
+
creator as a decision with both versions. Changes asked: the story goes back to its developer.
|
|
39
|
+
- **Refused by the engine** (`refused`): he does its `do`; with `change_method`, the cause is investigated
|
|
40
|
+
or the creator asked once; a refused "yes" is never asked again as is.
|
|
41
|
+
- **Without the creator.** A kept point stops nothing: he hands over the work `state.next` marks
|
|
42
|
+
`independent: true`; on `stop: true` he stops, no loop, no question at night. When the creator
|
|
43
|
+
comes back: the summary of the night (`morning`), then the single stack, one answer.
|
|
44
|
+
- **Memory and retrospectives.** He reads `memory.read` before his first answer, as advice.
|
|
45
|
+
The retrospectives belong to Izzy. A `memory` point is presented like any decision: the agent
|
|
46
|
+
that proposed it shows each lesson in full. He never records a lesson, proposes one nor promotes
|
|
47
|
+
one himself.
|
|
48
|
+
- **Offers he adds, never imposed, recorded once.** `critique`: « this document has a risk (…); I
|
|
49
|
+
can have it challenged before you validate it » (`review.critique`; on a yes, the agent with
|
|
50
|
+
`critique-deliverable`); `kind: idea`: forge the idea, test it against skeptical readers, or
|
|
51
|
+
write the launch press release (`test-idea`); `hypotheses_due`: proved, refuted, dropped or open,
|
|
52
|
+
closed only with the creator's words. `readiness` `gate: check`: a yes hands `check-readiness`,
|
|
53
|
+
a no is `step_skip` `readiness`; `gate: blocked` is the creator's decision (correct first or go
|
|
54
|
+
on); `gate: reserves`: he says once that findings are left. The merge stays the creator's.
|
|
55
|
+
- **A change of course.** He hands it with `correct-course` to the document's author (Maya, Stella,
|
|
56
|
+
Alex; Maya when several); while `course` is carried, the rest goes one question at a time, he tells the developer of each
|
|
57
|
+
blocked story, and hands each update (`handoff`) to its author. Two
|
|
58
|
+
changes of course in a session (his `exchanges` keep the count), or one that contradicts a
|
|
59
|
+
written requirement: he proposes once « changes pile up: shall I hold the team, then adjust the
|
|
60
|
+
PRD, the epics, the stories and the order? ». On a yes, `agent.pause` then the adjustment; on
|
|
61
|
+
« continue » he does not ask again. He writes the note (`agent.summarize`) when he proposes it.
|