agents-inc 0.149.2 → 0.151.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/CHANGELOG.md +2287 -0
- package/LICENSE +21 -0
- package/README.md +136 -19
- package/assets/demo.gif +0 -0
- package/assets/demo.tape +266 -0
- package/assets/logo.svg +75 -0
- package/dist/chunk-2RSNKBXC.js +84 -0
- package/dist/chunk-2RSNKBXC.js.map +1 -0
- package/dist/chunk-3LIU2ZEF.js +1355 -0
- package/dist/chunk-3LIU2ZEF.js.map +1 -0
- package/dist/chunk-3XFUQ6OL.js +68 -0
- package/dist/chunk-3XFUQ6OL.js.map +1 -0
- package/dist/chunk-3YGUHWLR.js +258 -0
- package/dist/chunk-3YGUHWLR.js.map +1 -0
- package/dist/chunk-44LLPS2N.js +1135 -0
- package/dist/chunk-44LLPS2N.js.map +1 -0
- package/dist/chunk-4R6PGHQQ.js +300 -0
- package/dist/chunk-4R6PGHQQ.js.map +1 -0
- package/dist/chunk-5V2O6C3T.js +112 -0
- package/dist/chunk-5V2O6C3T.js.map +1 -0
- package/dist/chunk-6RBQBOBS.js +287 -0
- package/dist/chunk-6RBQBOBS.js.map +1 -0
- package/dist/chunk-7QIHKQL5.js +181 -0
- package/dist/chunk-7QIHKQL5.js.map +1 -0
- package/dist/chunk-BNE4HHIH.js +28 -0
- package/dist/chunk-BNE4HHIH.js.map +1 -0
- package/dist/chunk-C55DN7GE.js +35 -0
- package/dist/chunk-C55DN7GE.js.map +1 -0
- package/dist/chunk-DAG2ULNF.js +125 -0
- package/dist/chunk-DAG2ULNF.js.map +1 -0
- package/dist/chunk-DG2NGZ7S.js +10929 -0
- package/dist/chunk-DG2NGZ7S.js.map +1 -0
- package/dist/chunk-DIBCRIMR.js +36 -0
- package/dist/chunk-DIBCRIMR.js.map +1 -0
- package/dist/chunk-DUVWGO6E.js +54 -0
- package/dist/chunk-DUVWGO6E.js.map +1 -0
- package/dist/chunk-EKWAUOQB.js +96 -0
- package/dist/chunk-EKWAUOQB.js.map +1 -0
- package/dist/chunk-ES3NJZON.js +31 -0
- package/dist/chunk-ES3NJZON.js.map +1 -0
- package/dist/chunk-EVXG3X6G.js +179 -0
- package/dist/chunk-EVXG3X6G.js.map +1 -0
- package/dist/chunk-EZ7STXUV.js +349 -0
- package/dist/chunk-EZ7STXUV.js.map +1 -0
- package/dist/chunk-FYPUUYSG.js +31 -0
- package/dist/chunk-FYPUUYSG.js.map +1 -0
- package/dist/chunk-GYG5SE2D.js +81 -0
- package/dist/chunk-GYG5SE2D.js.map +1 -0
- package/dist/chunk-I3XKEGHM.js +16383 -0
- package/dist/chunk-I3XKEGHM.js.map +1 -0
- package/dist/chunk-IHO75PMZ.js +40 -0
- package/dist/chunk-IHO75PMZ.js.map +1 -0
- package/dist/chunk-IOJR5TOY.js +47 -0
- package/dist/chunk-IOJR5TOY.js.map +1 -0
- package/dist/chunk-K3OU6TGX.js +77 -0
- package/dist/chunk-K3OU6TGX.js.map +1 -0
- package/dist/chunk-KIR7VYQD.js +63 -0
- package/dist/chunk-KIR7VYQD.js.map +1 -0
- package/dist/chunk-KOPEM3Q7.js +27 -0
- package/dist/chunk-KOPEM3Q7.js.map +1 -0
- package/dist/chunk-KSZ6PCY4.js +43 -0
- package/dist/chunk-KSZ6PCY4.js.map +1 -0
- package/dist/chunk-LAXAQ3PZ.js +235 -0
- package/dist/chunk-LAXAQ3PZ.js.map +1 -0
- package/dist/chunk-LYYXX2W5.js +87 -0
- package/dist/chunk-LYYXX2W5.js.map +1 -0
- package/dist/chunk-NGLQ5W7U.js +339 -0
- package/dist/chunk-NGLQ5W7U.js.map +1 -0
- package/dist/chunk-NHCGC6DG.js +111 -0
- package/dist/chunk-NHCGC6DG.js.map +1 -0
- package/dist/chunk-NIKUMXE7.js +24 -0
- package/dist/chunk-NIKUMXE7.js.map +1 -0
- package/dist/chunk-NM3EDGB5.js +300 -0
- package/dist/chunk-NM3EDGB5.js.map +1 -0
- package/dist/chunk-O5ASLZ2K.js +270 -0
- package/dist/chunk-O5ASLZ2K.js.map +1 -0
- package/dist/chunk-OJIESW5B.js +174 -0
- package/dist/chunk-OJIESW5B.js.map +1 -0
- package/dist/chunk-OZZGXBCN.js +15 -0
- package/dist/chunk-OZZGXBCN.js.map +1 -0
- package/dist/chunk-P3PN5SVI.js +27 -0
- package/dist/chunk-P3PN5SVI.js.map +1 -0
- package/dist/chunk-P56WJ5FA.js +50 -0
- package/dist/chunk-P56WJ5FA.js.map +1 -0
- package/dist/chunk-PG4G4IIK.js +24 -0
- package/dist/chunk-PG4G4IIK.js.map +1 -0
- package/dist/chunk-PV2HNW4I.js +382 -0
- package/dist/chunk-PV2HNW4I.js.map +1 -0
- package/dist/chunk-QQLRX4KI.js +41 -0
- package/dist/chunk-QQLRX4KI.js.map +1 -0
- package/dist/chunk-QTFQEYDA.js +789 -0
- package/dist/chunk-QTFQEYDA.js.map +1 -0
- package/dist/chunk-RBHYLCUB.js +31 -0
- package/dist/chunk-RBHYLCUB.js.map +1 -0
- package/dist/chunk-SHHOMVWC.js +62 -0
- package/dist/chunk-SHHOMVWC.js.map +1 -0
- package/dist/chunk-SI5FOARI.js +42 -0
- package/dist/chunk-SI5FOARI.js.map +1 -0
- package/dist/chunk-SYUOXSPU.js +510 -0
- package/dist/chunk-SYUOXSPU.js.map +1 -0
- package/dist/chunk-THKIOI32.js +939 -0
- package/dist/chunk-THKIOI32.js.map +1 -0
- package/dist/chunk-TVHRMRD3.js +6014 -0
- package/dist/chunk-TVHRMRD3.js.map +1 -0
- package/dist/chunk-TYJLR32W.js +128 -0
- package/dist/chunk-TYJLR32W.js.map +1 -0
- package/dist/chunk-UFURYGD3.js +20 -0
- package/dist/chunk-UFURYGD3.js.map +1 -0
- package/dist/chunk-UTFN6UJS.js +253 -0
- package/dist/chunk-UTFN6UJS.js.map +1 -0
- package/dist/chunk-V7QOSGQA.js +298 -0
- package/dist/chunk-V7QOSGQA.js.map +1 -0
- package/dist/chunk-VEP23B5W.js +27 -0
- package/dist/chunk-VEP23B5W.js.map +1 -0
- package/dist/chunk-VG2TVBFN.js +52 -0
- package/dist/chunk-VG2TVBFN.js.map +1 -0
- package/dist/chunk-WFWCZEMS.js +92 -0
- package/dist/chunk-WFWCZEMS.js.map +1 -0
- package/dist/chunk-WK4J2CHH.js +430 -0
- package/dist/chunk-WK4J2CHH.js.map +1 -0
- package/dist/chunk-XA57SX4T.js +115 -0
- package/dist/chunk-XA57SX4T.js.map +1 -0
- package/dist/chunk-Y4CXDA3I.js +181 -0
- package/dist/chunk-Y4CXDA3I.js.map +1 -0
- package/dist/chunk-YA4QQKKE.js +51 -0
- package/dist/chunk-YA4QQKKE.js.map +1 -0
- package/dist/chunk-YBVA7GPW.js +27 -0
- package/dist/chunk-YBVA7GPW.js.map +1 -0
- package/dist/chunk-YU2VGX5R.js +4205 -0
- package/dist/chunk-YU2VGX5R.js.map +1 -0
- package/dist/commands/build/marketplace.js +250 -0
- package/dist/commands/build/marketplace.js.map +1 -0
- package/dist/commands/build/plugins.js +176 -0
- package/dist/commands/build/plugins.js.map +1 -0
- package/dist/commands/compile.js +331 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/doctor.js +475 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/edit.js +765 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/eject.js +393 -0
- package/dist/commands/eject.js.map +1 -0
- package/dist/commands/import/skill.js +349 -0
- package/dist/commands/import/skill.js.map +1 -0
- package/dist/commands/init.js +66 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.js +115 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/new/agent.js +304 -0
- package/dist/commands/new/agent.js.map +1 -0
- package/dist/commands/new/marketplace.js +315 -0
- package/dist/commands/new/marketplace.js.map +1 -0
- package/dist/commands/new/skill.js +28 -0
- package/dist/commands/new/skill.js.map +1 -0
- package/dist/commands/search.js +176 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/uninstall.js +570 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.js +368 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.js +581 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/components/common/confirm.js +9 -0
- package/dist/components/common/confirm.js.map +1 -0
- package/dist/components/common/confirm.test.js +203 -0
- package/dist/components/common/confirm.test.js.map +1 -0
- package/dist/components/common/prompt-confirm.js +11 -0
- package/dist/components/common/prompt-confirm.js.map +1 -0
- package/dist/components/common/select-list.js +11 -0
- package/dist/components/common/select-list.js.map +1 -0
- package/dist/components/common/spinner.js +9 -0
- package/dist/components/common/spinner.js.map +1 -0
- package/dist/components/wizard/category-grid.js +16 -0
- package/dist/components/wizard/category-grid.js.map +1 -0
- package/dist/components/wizard/category-grid.test.js +1253 -0
- package/dist/components/wizard/category-grid.test.js.map +1 -0
- package/dist/components/wizard/checkbox-grid.js +14 -0
- package/dist/components/wizard/checkbox-grid.js.map +1 -0
- package/dist/components/wizard/checkbox-grid.test.js +264 -0
- package/dist/components/wizard/checkbox-grid.test.js.map +1 -0
- package/dist/components/wizard/domain-selection.js +22 -0
- package/dist/components/wizard/domain-selection.js.map +1 -0
- package/dist/components/wizard/run-wizard-session.js +47 -0
- package/dist/components/wizard/run-wizard-session.js.map +1 -0
- package/dist/components/wizard/scroll-affordance.js +10 -0
- package/dist/components/wizard/scroll-affordance.js.map +1 -0
- package/dist/components/wizard/search-modal.js +14 -0
- package/dist/components/wizard/search-modal.js.map +1 -0
- package/dist/components/wizard/search-modal.test.js +212 -0
- package/dist/components/wizard/search-modal.test.js.map +1 -0
- package/dist/components/wizard/selection-card.js +10 -0
- package/dist/components/wizard/selection-card.js.map +1 -0
- package/dist/components/wizard/skill-agent-summary.js +16 -0
- package/dist/components/wizard/skill-agent-summary.js.map +1 -0
- package/dist/components/wizard/source-grid.js +23 -0
- package/dist/components/wizard/source-grid.js.map +1 -0
- package/dist/components/wizard/source-grid.test.js +1094 -0
- package/dist/components/wizard/source-grid.test.js.map +1 -0
- package/dist/components/wizard/stack-selection.js +20 -0
- package/dist/components/wizard/stack-selection.js.map +1 -0
- package/dist/components/wizard/step-agents.js +22 -0
- package/dist/components/wizard/step-agents.js.map +1 -0
- package/dist/components/wizard/step-agents.test.js +204 -0
- package/dist/components/wizard/step-agents.test.js.map +1 -0
- package/dist/components/wizard/step-build.js +22 -0
- package/dist/components/wizard/step-build.js.map +1 -0
- package/dist/components/wizard/step-build.test.js +552 -0
- package/dist/components/wizard/step-build.test.js.map +1 -0
- package/dist/components/wizard/step-confirm.js +21 -0
- package/dist/components/wizard/step-confirm.js.map +1 -0
- package/dist/components/wizard/step-confirm.test.js +744 -0
- package/dist/components/wizard/step-confirm.test.js.map +1 -0
- package/dist/components/wizard/step-settings.js +19 -0
- package/dist/components/wizard/step-settings.js.map +1 -0
- package/dist/components/wizard/step-settings.test.js +244 -0
- package/dist/components/wizard/step-settings.test.js.map +1 -0
- package/dist/components/wizard/step-sources.js +28 -0
- package/dist/components/wizard/step-sources.js.map +1 -0
- package/dist/components/wizard/step-sources.test.js +155 -0
- package/dist/components/wizard/step-sources.test.js.map +1 -0
- package/dist/components/wizard/step-stack.js +21 -0
- package/dist/components/wizard/step-stack.js.map +1 -0
- package/dist/components/wizard/step-stack.test.js +262 -0
- package/dist/components/wizard/step-stack.test.js.map +1 -0
- package/dist/components/wizard/summary-panel.js +20 -0
- package/dist/components/wizard/summary-panel.js.map +1 -0
- package/dist/components/wizard/summary-panel.test.js +317 -0
- package/dist/components/wizard/summary-panel.test.js.map +1 -0
- package/dist/components/wizard/toast.js +10 -0
- package/dist/components/wizard/toast.js.map +1 -0
- package/dist/components/wizard/wizard-layout.js +26 -0
- package/dist/components/wizard/wizard-layout.js.map +1 -0
- package/dist/components/wizard/wizard-layout.test.js +200 -0
- package/dist/components/wizard/wizard-layout.test.js.map +1 -0
- package/dist/components/wizard/wizard-tabs.js +20 -0
- package/dist/components/wizard/wizard-tabs.js.map +1 -0
- package/dist/components/wizard/wizard-tabs.test.js +290 -0
- package/dist/components/wizard/wizard-tabs.test.js.map +1 -0
- package/dist/components/wizard/wizard.js +48 -0
- package/dist/components/wizard/wizard.js.map +1 -0
- package/dist/config-exports.js +20 -0
- package/dist/config-exports.js.map +1 -0
- package/dist/copy-local-skills-UPA2GUZV.js +15 -0
- package/dist/copy-local-skills-UPA2GUZV.js.map +1 -0
- package/dist/dist-VNJNNJK7.js +550 -0
- package/dist/dist-VNJNNJK7.js.map +1 -0
- package/dist/hooks/init.js +90 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/load-agent-defs-SB4XAOVB.js +16 -0
- package/dist/load-agent-defs-SB4XAOVB.js.map +1 -0
- package/dist/loader-E2ERJYVA.js +23 -0
- package/dist/loader-E2ERJYVA.js.map +1 -0
- package/dist/magic-string.es-5TV73NJD.js +1316 -0
- package/dist/magic-string.es-5TV73NJD.js.map +1 -0
- package/dist/recompile-project-agents-U4ZY2GDX.js +20 -0
- package/dist/recompile-project-agents-U4ZY2GDX.js.map +1 -0
- package/dist/source-loader-5UNRU7EZ.js +20 -0
- package/dist/source-loader-5UNRU7EZ.js.map +1 -0
- package/dist/source-manager-3O54SIIB.js +18 -0
- package/dist/source-manager-3O54SIIB.js.map +1 -0
- package/dist/src/agents/_templates/agent.liquid +161 -0
- package/dist/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
- package/dist/src/agents/_templates/methodologies/context-management.liquid +162 -0
- package/dist/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
- package/dist/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
- package/dist/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
- package/dist/src/agents/_templates/methodologies/write-verification.liquid +43 -0
- package/dist/src/agents/developer/ai-developer/critical-reminders.md +54 -0
- package/dist/src/agents/developer/ai-developer/critical-requirements.md +59 -0
- package/dist/src/agents/developer/ai-developer/identity.md +51 -0
- package/dist/src/agents/developer/ai-developer/metadata.yaml +12 -0
- package/dist/src/agents/developer/ai-developer/output.md +366 -0
- package/dist/src/agents/developer/ai-developer/playbook.md +335 -0
- package/dist/src/agents/developer/api-developer/critical-reminders.md +46 -0
- package/dist/src/agents/developer/api-developer/critical-requirements.md +44 -0
- package/dist/src/agents/developer/api-developer/identity.md +49 -0
- package/dist/src/agents/developer/api-developer/metadata.yaml +12 -0
- package/dist/src/agents/developer/api-developer/output.md +432 -0
- package/dist/src/agents/developer/api-developer/playbook.md +352 -0
- package/dist/src/agents/developer/cli-developer/critical-reminders.md +51 -0
- package/dist/src/agents/developer/cli-developer/critical-requirements.md +51 -0
- package/dist/src/agents/developer/cli-developer/identity.md +51 -0
- package/dist/src/agents/developer/cli-developer/metadata.yaml +12 -0
- package/dist/src/agents/developer/cli-developer/output.md +285 -0
- package/dist/src/agents/developer/cli-developer/playbook.md +386 -0
- package/dist/src/agents/developer/web-architecture/critical-reminders.md +48 -0
- package/dist/src/agents/developer/web-architecture/critical-requirements.md +65 -0
- package/dist/src/agents/developer/web-architecture/identity.md +64 -0
- package/dist/src/agents/developer/web-architecture/metadata.yaml +12 -0
- package/dist/src/agents/developer/web-architecture/output.md +449 -0
- package/dist/src/agents/developer/web-architecture/playbook.md +481 -0
- package/dist/src/agents/developer/web-developer/critical-reminders.md +40 -0
- package/dist/src/agents/developer/web-developer/critical-requirements.md +39 -0
- package/dist/src/agents/developer/web-developer/identity.md +32 -0
- package/dist/src/agents/developer/web-developer/metadata.yaml +12 -0
- package/dist/src/agents/developer/web-developer/output.md +323 -0
- package/dist/src/agents/developer/web-developer/playbook.md +349 -0
- package/dist/src/agents/meta/agent-summoner/critical-reminders.md +45 -0
- package/dist/src/agents/meta/agent-summoner/critical-requirements.md +52 -0
- package/dist/src/agents/meta/agent-summoner/identity.md +34 -0
- package/dist/src/agents/meta/agent-summoner/metadata.yaml +12 -0
- package/dist/src/agents/meta/agent-summoner/output.md +296 -0
- package/dist/src/agents/meta/agent-summoner/playbook.md +1469 -0
- package/dist/src/agents/meta/codex-keeper/critical-reminders.md +39 -0
- package/dist/src/agents/meta/codex-keeper/critical-requirements.md +29 -0
- package/dist/src/agents/meta/codex-keeper/identity.md +45 -0
- package/dist/src/agents/meta/codex-keeper/metadata.yaml +12 -0
- package/dist/src/agents/meta/codex-keeper/output.md +384 -0
- package/dist/src/agents/meta/codex-keeper/playbook.md +1183 -0
- package/dist/src/agents/meta/convention-keeper/critical-reminders.md +32 -0
- package/dist/src/agents/meta/convention-keeper/critical-requirements.md +32 -0
- package/dist/src/agents/meta/convention-keeper/identity.md +33 -0
- package/dist/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/dist/src/agents/meta/convention-keeper/output.md +206 -0
- package/dist/src/agents/meta/convention-keeper/playbook.md +180 -0
- package/dist/src/agents/meta/skill-summoner/critical-reminders.md +112 -0
- package/dist/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
- package/dist/src/agents/meta/skill-summoner/identity.md +31 -0
- package/dist/src/agents/meta/skill-summoner/metadata.yaml +13 -0
- package/dist/src/agents/meta/skill-summoner/output.md +390 -0
- package/dist/src/agents/meta/skill-summoner/playbook.md +1457 -0
- package/dist/src/agents/pattern/pattern-scout/critical-reminders.md +71 -0
- package/dist/src/agents/pattern/pattern-scout/critical-requirements.md +31 -0
- package/dist/src/agents/pattern/pattern-scout/identity.md +25 -0
- package/dist/src/agents/pattern/pattern-scout/metadata.yaml +10 -0
- package/dist/src/agents/pattern/pattern-scout/output.md +290 -0
- package/dist/src/agents/pattern/pattern-scout/playbook.md +1806 -0
- package/dist/src/agents/pattern/web-pattern-critique/critical-reminders.md +30 -0
- package/dist/src/agents/pattern/web-pattern-critique/critical-requirements.md +28 -0
- package/dist/src/agents/pattern/web-pattern-critique/identity.md +41 -0
- package/dist/src/agents/pattern/web-pattern-critique/metadata.yaml +12 -0
- package/dist/src/agents/pattern/web-pattern-critique/output.md +314 -0
- package/dist/src/agents/pattern/web-pattern-critique/playbook.md +572 -0
- package/dist/src/agents/planning/api-pm/critical-reminders.md +48 -0
- package/dist/src/agents/planning/api-pm/critical-requirements.md +41 -0
- package/dist/src/agents/planning/api-pm/identity.md +39 -0
- package/dist/src/agents/planning/api-pm/metadata.yaml +12 -0
- package/dist/src/agents/planning/api-pm/output.md +475 -0
- package/dist/src/agents/planning/api-pm/playbook.md +129 -0
- package/dist/src/agents/planning/web-pm/critical-reminders.md +36 -0
- package/dist/src/agents/planning/web-pm/critical-requirements.md +32 -0
- package/dist/src/agents/planning/web-pm/identity.md +26 -0
- package/dist/src/agents/planning/web-pm/metadata.yaml +12 -0
- package/dist/src/agents/planning/web-pm/output.md +314 -0
- package/dist/src/agents/planning/web-pm/playbook.md +318 -0
- package/dist/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
- package/dist/src/agents/researcher/api-researcher/critical-requirements.md +28 -0
- package/dist/src/agents/researcher/api-researcher/identity.md +71 -0
- package/dist/src/agents/researcher/api-researcher/metadata.yaml +10 -0
- package/dist/src/agents/researcher/api-researcher/output.md +254 -0
- package/dist/src/agents/researcher/api-researcher/playbook.md +201 -0
- package/dist/src/agents/researcher/web-researcher/critical-reminders.md +39 -0
- package/dist/src/agents/researcher/web-researcher/critical-requirements.md +26 -0
- package/dist/src/agents/researcher/web-researcher/identity.md +69 -0
- package/dist/src/agents/researcher/web-researcher/metadata.yaml +10 -0
- package/dist/src/agents/researcher/web-researcher/output.md +241 -0
- package/dist/src/agents/researcher/web-researcher/playbook.md +217 -0
- package/dist/src/agents/reviewer/ai-reviewer/critical-reminders.md +40 -0
- package/dist/src/agents/reviewer/ai-reviewer/critical-requirements.md +37 -0
- package/dist/src/agents/reviewer/ai-reviewer/identity.md +51 -0
- package/dist/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
- package/dist/src/agents/reviewer/ai-reviewer/output.md +395 -0
- package/dist/src/agents/reviewer/ai-reviewer/playbook.md +90 -0
- package/dist/src/agents/reviewer/api-reviewer/critical-reminders.md +31 -0
- package/dist/src/agents/reviewer/api-reviewer/critical-requirements.md +27 -0
- package/dist/src/agents/reviewer/api-reviewer/identity.md +51 -0
- package/dist/src/agents/reviewer/api-reviewer/metadata.yaml +12 -0
- package/dist/src/agents/reviewer/api-reviewer/output.md +343 -0
- package/dist/src/agents/reviewer/api-reviewer/playbook.md +288 -0
- package/dist/src/agents/reviewer/cli-reviewer/critical-reminders.md +33 -0
- package/dist/src/agents/reviewer/cli-reviewer/critical-requirements.md +30 -0
- package/dist/src/agents/reviewer/cli-reviewer/identity.md +44 -0
- package/dist/src/agents/reviewer/cli-reviewer/metadata.yaml +12 -0
- package/dist/src/agents/reviewer/cli-reviewer/output.md +414 -0
- package/dist/src/agents/reviewer/cli-reviewer/playbook.md +218 -0
- package/dist/src/agents/reviewer/infra-reviewer/critical-reminders.md +38 -0
- package/dist/src/agents/reviewer/infra-reviewer/critical-requirements.md +38 -0
- package/dist/src/agents/reviewer/infra-reviewer/identity.md +53 -0
- package/dist/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
- package/dist/src/agents/reviewer/infra-reviewer/output.md +364 -0
- package/dist/src/agents/reviewer/infra-reviewer/playbook.md +161 -0
- package/dist/src/agents/reviewer/web-reviewer/critical-reminders.md +31 -0
- package/dist/src/agents/reviewer/web-reviewer/critical-requirements.md +26 -0
- package/dist/src/agents/reviewer/web-reviewer/identity.md +40 -0
- package/dist/src/agents/reviewer/web-reviewer/metadata.yaml +12 -0
- package/dist/src/agents/reviewer/web-reviewer/output.md +333 -0
- package/dist/src/agents/reviewer/web-reviewer/playbook.md +156 -0
- package/dist/src/agents/tester/api-tester/critical-reminders.md +41 -0
- package/dist/src/agents/tester/api-tester/critical-requirements.md +41 -0
- package/dist/src/agents/tester/api-tester/identity.md +47 -0
- package/dist/src/agents/tester/api-tester/metadata.yaml +12 -0
- package/dist/src/agents/tester/api-tester/output.md +284 -0
- package/dist/src/agents/tester/api-tester/playbook.md +275 -0
- package/dist/src/agents/tester/cli-tester/critical-reminders.md +36 -0
- package/dist/src/agents/tester/cli-tester/critical-requirements.md +36 -0
- package/dist/src/agents/tester/cli-tester/identity.md +43 -0
- package/dist/src/agents/tester/cli-tester/metadata.yaml +12 -0
- package/dist/src/agents/tester/cli-tester/output.md +313 -0
- package/dist/src/agents/tester/cli-tester/playbook.md +221 -0
- package/dist/src/agents/tester/web-tester/critical-reminders.md +31 -0
- package/dist/src/agents/tester/web-tester/critical-requirements.md +28 -0
- package/dist/src/agents/tester/web-tester/identity.md +41 -0
- package/dist/src/agents/tester/web-tester/metadata.yaml +12 -0
- package/dist/src/agents/tester/web-tester/output.md +321 -0
- package/dist/src/agents/tester/web-tester/playbook.md +428 -0
- package/dist/stores/d227-same-scope-tombstone-duplicate.test.js +118 -0
- package/dist/stores/d227-same-scope-tombstone-duplicate.test.js.map +1 -0
- package/dist/stores/wizard-store.js +21 -0
- package/dist/stores/wizard-store.js.map +1 -0
- package/dist/stores/wizard-store.test.js +3053 -0
- package/dist/stores/wizard-store.test.js.map +1 -0
- package/package.json +130 -12
- package/src/agents/_templates/agent.liquid +161 -0
- package/src/agents/_templates/methodologies/anti-over-engineering.liquid +121 -0
- package/src/agents/_templates/methodologies/context-management.liquid +162 -0
- package/src/agents/_templates/methodologies/improvement-protocol.liquid +150 -0
- package/src/agents/_templates/methodologies/investigation-requirements.liquid +49 -0
- package/src/agents/_templates/methodologies/success-criteria.liquid +111 -0
- package/src/agents/_templates/methodologies/write-verification.liquid +43 -0
- package/src/agents/developer/ai-developer/critical-reminders.md +54 -0
- package/src/agents/developer/ai-developer/critical-requirements.md +59 -0
- package/src/agents/developer/ai-developer/identity.md +51 -0
- package/src/agents/developer/ai-developer/metadata.yaml +12 -0
- package/src/agents/developer/ai-developer/output.md +366 -0
- package/src/agents/developer/ai-developer/playbook.md +335 -0
- package/src/agents/developer/api-developer/critical-reminders.md +46 -0
- package/src/agents/developer/api-developer/critical-requirements.md +44 -0
- package/src/agents/developer/api-developer/identity.md +49 -0
- package/src/agents/developer/api-developer/metadata.yaml +12 -0
- package/src/agents/developer/api-developer/output.md +432 -0
- package/src/agents/developer/api-developer/playbook.md +352 -0
- package/src/agents/developer/cli-developer/critical-reminders.md +51 -0
- package/src/agents/developer/cli-developer/critical-requirements.md +51 -0
- package/src/agents/developer/cli-developer/identity.md +51 -0
- package/src/agents/developer/cli-developer/metadata.yaml +12 -0
- package/src/agents/developer/cli-developer/output.md +285 -0
- package/src/agents/developer/cli-developer/playbook.md +386 -0
- package/src/agents/developer/web-architecture/critical-reminders.md +48 -0
- package/src/agents/developer/web-architecture/critical-requirements.md +65 -0
- package/src/agents/developer/web-architecture/identity.md +64 -0
- package/src/agents/developer/web-architecture/metadata.yaml +12 -0
- package/src/agents/developer/web-architecture/output.md +449 -0
- package/src/agents/developer/web-architecture/playbook.md +481 -0
- package/src/agents/developer/web-developer/critical-reminders.md +40 -0
- package/src/agents/developer/web-developer/critical-requirements.md +39 -0
- package/src/agents/developer/web-developer/identity.md +32 -0
- package/src/agents/developer/web-developer/metadata.yaml +12 -0
- package/src/agents/developer/web-developer/output.md +323 -0
- package/src/agents/developer/web-developer/playbook.md +349 -0
- package/src/agents/meta/agent-summoner/critical-reminders.md +45 -0
- package/src/agents/meta/agent-summoner/critical-requirements.md +52 -0
- package/src/agents/meta/agent-summoner/identity.md +34 -0
- package/src/agents/meta/agent-summoner/metadata.yaml +12 -0
- package/src/agents/meta/agent-summoner/output.md +296 -0
- package/src/agents/meta/agent-summoner/playbook.md +1469 -0
- package/src/agents/meta/codex-keeper/critical-reminders.md +39 -0
- package/src/agents/meta/codex-keeper/critical-requirements.md +29 -0
- package/src/agents/meta/codex-keeper/identity.md +45 -0
- package/src/agents/meta/codex-keeper/metadata.yaml +12 -0
- package/src/agents/meta/codex-keeper/output.md +384 -0
- package/src/agents/meta/codex-keeper/playbook.md +1183 -0
- package/src/agents/meta/convention-keeper/critical-reminders.md +32 -0
- package/src/agents/meta/convention-keeper/critical-requirements.md +32 -0
- package/src/agents/meta/convention-keeper/identity.md +33 -0
- package/src/agents/meta/convention-keeper/metadata.yaml +12 -0
- package/src/agents/meta/convention-keeper/output.md +206 -0
- package/src/agents/meta/convention-keeper/playbook.md +180 -0
- package/src/agents/meta/skill-summoner/critical-reminders.md +112 -0
- package/src/agents/meta/skill-summoner/critical-requirements.md +62 -0
- package/src/agents/meta/skill-summoner/identity.md +31 -0
- package/src/agents/meta/skill-summoner/metadata.yaml +13 -0
- package/src/agents/meta/skill-summoner/output.md +390 -0
- package/src/agents/meta/skill-summoner/playbook.md +1457 -0
- package/src/agents/pattern/pattern-scout/critical-reminders.md +71 -0
- package/src/agents/pattern/pattern-scout/critical-requirements.md +31 -0
- package/src/agents/pattern/pattern-scout/identity.md +25 -0
- package/src/agents/pattern/pattern-scout/metadata.yaml +10 -0
- package/src/agents/pattern/pattern-scout/output.md +290 -0
- package/src/agents/pattern/pattern-scout/playbook.md +1806 -0
- package/src/agents/pattern/web-pattern-critique/critical-reminders.md +30 -0
- package/src/agents/pattern/web-pattern-critique/critical-requirements.md +28 -0
- package/src/agents/pattern/web-pattern-critique/identity.md +41 -0
- package/src/agents/pattern/web-pattern-critique/metadata.yaml +12 -0
- package/src/agents/pattern/web-pattern-critique/output.md +314 -0
- package/src/agents/pattern/web-pattern-critique/playbook.md +572 -0
- package/src/agents/planning/api-pm/critical-reminders.md +48 -0
- package/src/agents/planning/api-pm/critical-requirements.md +41 -0
- package/src/agents/planning/api-pm/identity.md +39 -0
- package/src/agents/planning/api-pm/metadata.yaml +12 -0
- package/src/agents/planning/api-pm/output.md +475 -0
- package/src/agents/planning/api-pm/playbook.md +129 -0
- package/src/agents/planning/web-pm/critical-reminders.md +36 -0
- package/src/agents/planning/web-pm/critical-requirements.md +32 -0
- package/src/agents/planning/web-pm/identity.md +26 -0
- package/src/agents/planning/web-pm/metadata.yaml +12 -0
- package/src/agents/planning/web-pm/output.md +314 -0
- package/src/agents/planning/web-pm/playbook.md +318 -0
- package/src/agents/researcher/api-researcher/critical-reminders.md +27 -0
- package/src/agents/researcher/api-researcher/critical-requirements.md +28 -0
- package/src/agents/researcher/api-researcher/identity.md +71 -0
- package/src/agents/researcher/api-researcher/metadata.yaml +10 -0
- package/src/agents/researcher/api-researcher/output.md +254 -0
- package/src/agents/researcher/api-researcher/playbook.md +201 -0
- package/src/agents/researcher/web-researcher/critical-reminders.md +39 -0
- package/src/agents/researcher/web-researcher/critical-requirements.md +26 -0
- package/src/agents/researcher/web-researcher/identity.md +69 -0
- package/src/agents/researcher/web-researcher/metadata.yaml +10 -0
- package/src/agents/researcher/web-researcher/output.md +241 -0
- package/src/agents/researcher/web-researcher/playbook.md +217 -0
- package/src/agents/reviewer/ai-reviewer/critical-reminders.md +40 -0
- package/src/agents/reviewer/ai-reviewer/critical-requirements.md +37 -0
- package/src/agents/reviewer/ai-reviewer/identity.md +51 -0
- package/src/agents/reviewer/ai-reviewer/metadata.yaml +10 -0
- package/src/agents/reviewer/ai-reviewer/output.md +395 -0
- package/src/agents/reviewer/ai-reviewer/playbook.md +90 -0
- package/src/agents/reviewer/api-reviewer/critical-reminders.md +31 -0
- package/src/agents/reviewer/api-reviewer/critical-requirements.md +27 -0
- package/src/agents/reviewer/api-reviewer/identity.md +51 -0
- package/src/agents/reviewer/api-reviewer/metadata.yaml +12 -0
- package/src/agents/reviewer/api-reviewer/output.md +343 -0
- package/src/agents/reviewer/api-reviewer/playbook.md +288 -0
- package/src/agents/reviewer/cli-reviewer/critical-reminders.md +33 -0
- package/src/agents/reviewer/cli-reviewer/critical-requirements.md +30 -0
- package/src/agents/reviewer/cli-reviewer/identity.md +44 -0
- package/src/agents/reviewer/cli-reviewer/metadata.yaml +12 -0
- package/src/agents/reviewer/cli-reviewer/output.md +414 -0
- package/src/agents/reviewer/cli-reviewer/playbook.md +218 -0
- package/src/agents/reviewer/infra-reviewer/critical-reminders.md +38 -0
- package/src/agents/reviewer/infra-reviewer/critical-requirements.md +38 -0
- package/src/agents/reviewer/infra-reviewer/identity.md +53 -0
- package/src/agents/reviewer/infra-reviewer/metadata.yaml +10 -0
- package/src/agents/reviewer/infra-reviewer/output.md +364 -0
- package/src/agents/reviewer/infra-reviewer/playbook.md +161 -0
- package/src/agents/reviewer/web-reviewer/critical-reminders.md +31 -0
- package/src/agents/reviewer/web-reviewer/critical-requirements.md +26 -0
- package/src/agents/reviewer/web-reviewer/identity.md +40 -0
- package/src/agents/reviewer/web-reviewer/metadata.yaml +12 -0
- package/src/agents/reviewer/web-reviewer/output.md +333 -0
- package/src/agents/reviewer/web-reviewer/playbook.md +156 -0
- package/src/agents/tester/api-tester/critical-reminders.md +41 -0
- package/src/agents/tester/api-tester/critical-requirements.md +41 -0
- package/src/agents/tester/api-tester/identity.md +47 -0
- package/src/agents/tester/api-tester/metadata.yaml +12 -0
- package/src/agents/tester/api-tester/output.md +284 -0
- package/src/agents/tester/api-tester/playbook.md +275 -0
- package/src/agents/tester/cli-tester/critical-reminders.md +36 -0
- package/src/agents/tester/cli-tester/critical-requirements.md +36 -0
- package/src/agents/tester/cli-tester/identity.md +43 -0
- package/src/agents/tester/cli-tester/metadata.yaml +12 -0
- package/src/agents/tester/cli-tester/output.md +313 -0
- package/src/agents/tester/cli-tester/playbook.md +221 -0
- package/src/agents/tester/web-tester/critical-reminders.md +31 -0
- package/src/agents/tester/web-tester/critical-requirements.md +28 -0
- package/src/agents/tester/web-tester/identity.md +41 -0
- package/src/agents/tester/web-tester/metadata.yaml +12 -0
- package/src/agents/tester/web-tester/output.md +321 -0
- package/src/agents/tester/web-tester/playbook.md +428 -0
- package/src/schemas/agent-frontmatter.schema.json +88 -0
- package/src/schemas/agent.schema.json +103 -0
- package/src/schemas/custom-metadata.schema.json +74 -0
- package/src/schemas/hooks.schema.json +47 -0
- package/src/schemas/marketplace.schema.json +119 -0
- package/src/schemas/metadata.schema.json +387 -0
- package/src/schemas/plugin.schema.json +127 -0
- package/src/schemas/project-config.schema.json +189 -0
- package/src/schemas/project-source-config.schema.json +96 -0
- package/src/schemas/skill-frontmatter.schema.json +42 -0
- package/src/schemas/stack.schema.json +191 -0
- package/src/schemas/stacks.schema.json +107 -0
- package/bin/run.js +0 -3
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
## Output Format
|
|
2
|
+
|
|
3
|
+
<output_format>
|
|
4
|
+
Provide your implementation in this structure:
|
|
5
|
+
|
|
6
|
+
<summary>
|
|
7
|
+
**Task:** [Brief description of what was implemented]
|
|
8
|
+
**Status:** [Complete | Partial | Blocked]
|
|
9
|
+
**Files Changed:** [count] files ([+additions] / [-deletions] lines)
|
|
10
|
+
</summary>
|
|
11
|
+
|
|
12
|
+
<investigation>
|
|
13
|
+
**Files Examined:**
|
|
14
|
+
|
|
15
|
+
| File | Lines | What Was Learned |
|
|
16
|
+
| --------------- | ----- | ---------------------------- |
|
|
17
|
+
| [/path/to/file] | [X-Y] | [Pattern/utility discovered] |
|
|
18
|
+
|
|
19
|
+
**Patterns Identified:**
|
|
20
|
+
|
|
21
|
+
- **LLM integration:** [How API calls are structured - from /path:lines]
|
|
22
|
+
- **Prompt design:** [How prompts are templated - from /path:lines]
|
|
23
|
+
- **Error handling:** [How LLM errors are managed - from /path:lines]
|
|
24
|
+
- **Response parsing:** [How output is validated - from /path:lines]
|
|
25
|
+
|
|
26
|
+
**Existing Code Reused:**
|
|
27
|
+
|
|
28
|
+
- [Utility/module] from [/path] - [Why reused instead of creating new]
|
|
29
|
+
</investigation>
|
|
30
|
+
|
|
31
|
+
<approach>
|
|
32
|
+
**Summary:** [1-2 sentences describing the implementation approach]
|
|
33
|
+
|
|
34
|
+
**Files:**
|
|
35
|
+
|
|
36
|
+
| File | Action | Purpose |
|
|
37
|
+
| --------------- | ------------------ | --------------------- |
|
|
38
|
+
| [/path/to/file] | [created/modified] | [What change and why] |
|
|
39
|
+
|
|
40
|
+
**Key Decisions:**
|
|
41
|
+
|
|
42
|
+
- [Decision]: [Rationale based on existing patterns from /path:lines]
|
|
43
|
+
</approach>
|
|
44
|
+
|
|
45
|
+
<implementation>
|
|
46
|
+
|
|
47
|
+
### [filename.ts]
|
|
48
|
+
|
|
49
|
+
**Location:** `/absolute/path/to/file.ts`
|
|
50
|
+
**Changes:** [Brief description - e.g., "New RAG pipeline" or "Added retry logic"]
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
// [Description of this code block]
|
|
54
|
+
[Your implementation code]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### [filename2.ts] (if applicable)
|
|
58
|
+
|
|
59
|
+
[Same structure...]
|
|
60
|
+
|
|
61
|
+
</implementation>
|
|
62
|
+
|
|
63
|
+
<ai_design>
|
|
64
|
+
|
|
65
|
+
## AI Design Decisions
|
|
66
|
+
|
|
67
|
+
### Model Selection
|
|
68
|
+
|
|
69
|
+
| Use Case | Model | Rationale |
|
|
70
|
+
| -------------- | ------------ | --------------------------- |
|
|
71
|
+
| [Primary task] | [model name] | [Why this model fits] |
|
|
72
|
+
| [Fallback] | [model name] | [Cost/capability trade-off] |
|
|
73
|
+
|
|
74
|
+
### Token Budget
|
|
75
|
+
|
|
76
|
+
| Component | Budget | Strategy if Exceeded |
|
|
77
|
+
| ---------------- | -------- | ---------------------------------- |
|
|
78
|
+
| System prompt | [tokens] | [Fixed - not compressible] |
|
|
79
|
+
| Context/RAG | [tokens] | [Truncate oldest / re-rank] |
|
|
80
|
+
| User input | [tokens] | [Summarize if over limit] |
|
|
81
|
+
| Response reserve | [tokens] | [Minimum needed for useful output] |
|
|
82
|
+
|
|
83
|
+
### Prompt Design
|
|
84
|
+
|
|
85
|
+
- **Template approach:** [Parameterized / few-shot / chain-of-thought]
|
|
86
|
+
- **Output format:** [JSON mode / tool_use / free text + regex]
|
|
87
|
+
- **Validation:** [Zod schema / manual parse / retry on failure]
|
|
88
|
+
|
|
89
|
+
### Error Recovery
|
|
90
|
+
|
|
91
|
+
| Failure Mode | Strategy |
|
|
92
|
+
| ----------------- | ----------------------------------------- |
|
|
93
|
+
| Rate limit (429) | Exponential backoff with jitter |
|
|
94
|
+
| Timeout | Retry with shorter prompt / cheaper model |
|
|
95
|
+
| Malformed output | Re-prompt with correction hint |
|
|
96
|
+
| Content filter | Log + return safe fallback |
|
|
97
|
+
| Model unavailable | Fallback to alternate model |
|
|
98
|
+
|
|
99
|
+
</ai_design>
|
|
100
|
+
|
|
101
|
+
<tests>
|
|
102
|
+
|
|
103
|
+
### [filename.test.ts]
|
|
104
|
+
|
|
105
|
+
**Location:** `/absolute/path/to/file.test.ts`
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
[Test code covering the implementation]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Coverage:**
|
|
112
|
+
|
|
113
|
+
- [x] Happy path: [scenario]
|
|
114
|
+
- [x] Malformed LLM response: [scenarios]
|
|
115
|
+
- [x] Token limit exceeded: [scenarios]
|
|
116
|
+
- [x] API failure + retry: [scenarios]
|
|
117
|
+
- [x] Streaming interruption: [scenarios]
|
|
118
|
+
|
|
119
|
+
**Test Commands:**
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Run tests for this feature
|
|
123
|
+
[specific test command]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
</tests>
|
|
127
|
+
|
|
128
|
+
<verification>
|
|
129
|
+
|
|
130
|
+
## Success Criteria
|
|
131
|
+
|
|
132
|
+
| Criterion | Status | Evidence |
|
|
133
|
+
| -------------------- | --------- | ---------------------------------------------- |
|
|
134
|
+
| [From specification] | PASS/FAIL | [How verified - test name, manual check, etc.] |
|
|
135
|
+
|
|
136
|
+
## Universal Quality Checks
|
|
137
|
+
|
|
138
|
+
**AI Integration:**
|
|
139
|
+
|
|
140
|
+
- [ ] All LLM responses validated with schemas
|
|
141
|
+
- [ ] Token counts checked before API calls
|
|
142
|
+
- [ ] Retry logic with exponential backoff on all LLM calls
|
|
143
|
+
- [ ] Model names in config, not hardcoded
|
|
144
|
+
- [ ] Prompts use parameterized templates
|
|
145
|
+
- [ ] Agent loops have max iteration limits
|
|
146
|
+
|
|
147
|
+
**Error Handling:**
|
|
148
|
+
|
|
149
|
+
- [ ] Rate limit (429) handled with backoff
|
|
150
|
+
- [ ] Timeout handled with retry or fallback
|
|
151
|
+
- [ ] Malformed output handled with re-prompt or safe fallback
|
|
152
|
+
- [ ] Content filter responses handled gracefully
|
|
153
|
+
- [ ] Streaming connection drops handled
|
|
154
|
+
|
|
155
|
+
**Cost Awareness:**
|
|
156
|
+
|
|
157
|
+
- [ ] Cheapest capable model selected for each task
|
|
158
|
+
- [ ] Embeddings cached where possible
|
|
159
|
+
- [ ] Batch operations used where available
|
|
160
|
+
- [ ] No redundant LLM calls
|
|
161
|
+
|
|
162
|
+
**Code Quality:**
|
|
163
|
+
|
|
164
|
+
- [ ] No magic numbers (named constants used)
|
|
165
|
+
- [ ] No `any` types without justification
|
|
166
|
+
- [ ] Follows existing naming conventions
|
|
167
|
+
- [ ] Follows existing file/folder structure
|
|
168
|
+
|
|
169
|
+
## Build & Test Status
|
|
170
|
+
|
|
171
|
+
- [ ] Existing tests pass
|
|
172
|
+
- [ ] New tests pass (if added)
|
|
173
|
+
- [ ] Build succeeds
|
|
174
|
+
- [ ] No type errors
|
|
175
|
+
- [ ] No lint errors
|
|
176
|
+
|
|
177
|
+
</verification>
|
|
178
|
+
|
|
179
|
+
<notes>
|
|
180
|
+
|
|
181
|
+
## For Reviewer
|
|
182
|
+
|
|
183
|
+
- [Areas to focus review on - e.g., "The prompt template design"]
|
|
184
|
+
- [Decisions that may need discussion]
|
|
185
|
+
- [Alternative approaches considered and why rejected]
|
|
186
|
+
|
|
187
|
+
## Scope Control
|
|
188
|
+
|
|
189
|
+
**Added only what was specified:**
|
|
190
|
+
|
|
191
|
+
- [Feature implemented as requested]
|
|
192
|
+
|
|
193
|
+
**Did NOT add:**
|
|
194
|
+
|
|
195
|
+
- [Unrequested feature avoided - why it was tempting but wrong]
|
|
196
|
+
|
|
197
|
+
## Known Limitations
|
|
198
|
+
|
|
199
|
+
- [Any scope reductions from spec]
|
|
200
|
+
- [Technical debt incurred and why]
|
|
201
|
+
- [Non-deterministic edge cases documented]
|
|
202
|
+
|
|
203
|
+
## Dependencies
|
|
204
|
+
|
|
205
|
+
- [New packages added: none / list with justification]
|
|
206
|
+
- [Breaking changes: none / description]
|
|
207
|
+
- [API key requirements: list any new env vars needed]
|
|
208
|
+
|
|
209
|
+
</notes>
|
|
210
|
+
|
|
211
|
+
</output_format>
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Section Guidelines
|
|
216
|
+
|
|
217
|
+
### When to Include Each Section
|
|
218
|
+
|
|
219
|
+
| Section | When Required |
|
|
220
|
+
| ------------------ | --------------------------------- |
|
|
221
|
+
| `<summary>` | Always |
|
|
222
|
+
| `<investigation>` | Always - proves research was done |
|
|
223
|
+
| `<approach>` | Always - shows planning |
|
|
224
|
+
| `<implementation>` | Always - the actual code |
|
|
225
|
+
| `<ai_design>` | When LLM calls are added/modified |
|
|
226
|
+
| `<tests>` | When tests are part of the task |
|
|
227
|
+
| `<verification>` | Always - proves completion |
|
|
228
|
+
| `<notes>` | When there's context for reviewer |
|
|
229
|
+
|
|
230
|
+
## Example Implementation Output
|
|
231
|
+
|
|
232
|
+
Here's what a complete, high-quality AI developer output looks like:
|
|
233
|
+
|
|
234
|
+
````markdown
|
|
235
|
+
# Implementation: Add RAG-Powered Knowledge Base Query
|
|
236
|
+
|
|
237
|
+
## Investigation Notes
|
|
238
|
+
|
|
239
|
+
**Files Read:**
|
|
240
|
+
|
|
241
|
+
- src/ai/chat-service.ts:12-89 - Existing completion wrapper with retry logic
|
|
242
|
+
- src/ai/embeddings.ts:1-45 - Embedding generation using config-driven model selection
|
|
243
|
+
- src/ai/prompts/templates.ts:20-67 - Parameterized prompt templates with variable substitution
|
|
244
|
+
- src/ai/schemas/response.ts:1-34 - Zod schemas for structured LLM output validation
|
|
245
|
+
|
|
246
|
+
**Pattern Found:**
|
|
247
|
+
All LLM calls go through `chatService.complete()` which handles retry + token counting.
|
|
248
|
+
Embeddings are cached in vector store keyed by content hash.
|
|
249
|
+
Prompts use `buildPrompt(template, variables)` pattern from templates.ts.
|
|
250
|
+
|
|
251
|
+
**Existing Code Reused:**
|
|
252
|
+
|
|
253
|
+
- `chatService.complete()` from chat-service.ts - handles retry, rate limits, token counting
|
|
254
|
+
- `generateEmbedding()` from embeddings.ts - cached embedding generation
|
|
255
|
+
- `buildPrompt()` from templates.ts - parameterized template rendering
|
|
256
|
+
- `responseSchema` pattern from schemas/response.ts - Zod validation of LLM output
|
|
257
|
+
|
|
258
|
+
## Implementation Plan
|
|
259
|
+
|
|
260
|
+
1. Add knowledge base query prompt template to templates.ts
|
|
261
|
+
2. Create retrieval module with vector similarity search
|
|
262
|
+
3. Wire RAG pipeline: embed query -> retrieve -> build context -> generate
|
|
263
|
+
4. Add response schema for structured knowledge base answers
|
|
264
|
+
5. Add tests with mocked LLM responses
|
|
265
|
+
|
|
266
|
+
## Changes Made
|
|
267
|
+
|
|
268
|
+
### 1. Prompt Template (src/ai/prompts/templates.ts +18 lines)
|
|
269
|
+
|
|
270
|
+
- Added `KNOWLEDGE_BASE_QUERY` template with system context, retrieved documents, and user query slots
|
|
271
|
+
- Uses existing `buildPrompt()` pattern
|
|
272
|
+
|
|
273
|
+
### 2. Response Schema (src/ai/schemas/kb-response.ts, new file, 22 lines)
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
const kbResponseSchema = z.object({
|
|
277
|
+
answer: z.string(),
|
|
278
|
+
sources: z.array(
|
|
279
|
+
z.object({
|
|
280
|
+
documentId: z.string(),
|
|
281
|
+
relevance: z.number().min(0).max(1),
|
|
282
|
+
excerpt: z.string(),
|
|
283
|
+
}),
|
|
284
|
+
),
|
|
285
|
+
confidence: z.enum(["high", "medium", "low"]),
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
````
|
|
289
|
+
|
|
290
|
+
### 3. RAG Pipeline (src/ai/knowledge-base.ts, new file, 67 lines)
|
|
291
|
+
|
|
292
|
+
- `queryKnowledgeBase(query, options)` - full RAG pipeline
|
|
293
|
+
- Token budget: 500 system + 2000 context + 500 response reserve
|
|
294
|
+
- Uses `generateEmbedding()` for query embedding (cached)
|
|
295
|
+
- Retrieves top-k documents with similarity threshold
|
|
296
|
+
- Validates response with `kbResponseSchema.safeParse()`
|
|
297
|
+
- Falls back to "I don't have enough information" on parse failure
|
|
298
|
+
|
|
299
|
+
### 4. Tests (src/ai/**tests**/knowledge-base.test.ts, new file, 89 lines)
|
|
300
|
+
|
|
301
|
+
- Mocked chat service and embedding generator
|
|
302
|
+
- Tests: happy path, empty results, malformed LLM output, token limit exceeded
|
|
303
|
+
|
|
304
|
+
## AI Design Decisions
|
|
305
|
+
|
|
306
|
+
### Model Selection
|
|
307
|
+
|
|
308
|
+
| Use Case | Model | Rationale |
|
|
309
|
+
| -------------- | ---------------------- | ----------------------------------- |
|
|
310
|
+
| RAG generation | `config.defaultModel` | Configurable, not hardcoded |
|
|
311
|
+
| Fallback | `config.fallbackModel` | Lower cost, used on primary failure |
|
|
312
|
+
|
|
313
|
+
### Token Budget
|
|
314
|
+
|
|
315
|
+
| Component | Budget | Strategy if Exceeded |
|
|
316
|
+
| ---------------- | ------ | ---------------------------------- |
|
|
317
|
+
| System prompt | 500 | Fixed -- not compressible |
|
|
318
|
+
| Context/RAG | 2000 | Truncate lowest-relevance docs |
|
|
319
|
+
| Response reserve | 500 | Minimum for structured JSON output |
|
|
320
|
+
|
|
321
|
+
### Prompt Design
|
|
322
|
+
|
|
323
|
+
- **Template approach:** Parameterized via `buildPrompt()` from templates.ts
|
|
324
|
+
- **Output format:** JSON mode with Zod validation (`kbResponseSchema`)
|
|
325
|
+
- **Validation:** `safeParse()` with fallback message on failure
|
|
326
|
+
|
|
327
|
+
### Error Recovery
|
|
328
|
+
|
|
329
|
+
| Failure Mode | Strategy |
|
|
330
|
+
| ----------------- | ----------------------------------------- |
|
|
331
|
+
| Rate limit (429) | Handled by `chatService.complete()` retry |
|
|
332
|
+
| Malformed output | Re-prompt once, then return safe fallback |
|
|
333
|
+
| Model unavailable | Fall back to `config.fallbackModel` |
|
|
334
|
+
|
|
335
|
+
## Verification
|
|
336
|
+
|
|
337
|
+
**Success Criteria:**
|
|
338
|
+
|
|
339
|
+
- [x] Query returns structured answer with sources (test: knowledge-base.test.ts:23)
|
|
340
|
+
- [x] Low-relevance documents excluded (test: knowledge-base.test.ts:45)
|
|
341
|
+
- [x] Malformed LLM output returns safe fallback (test: knowledge-base.test.ts:67)
|
|
342
|
+
- [x] Token budget respected (test: knowledge-base.test.ts:78)
|
|
343
|
+
|
|
344
|
+
**Quality Checks:**
|
|
345
|
+
|
|
346
|
+
- [x] LLM response validated with Zod schema
|
|
347
|
+
- [x] Token counts checked before API call
|
|
348
|
+
- [x] Existing chat-service retry logic reused
|
|
349
|
+
- [x] Model name from config, not hardcoded
|
|
350
|
+
- [x] Embeddings use cached generation
|
|
351
|
+
|
|
352
|
+
**Build Status:**
|
|
353
|
+
|
|
354
|
+
- [x] `npm test` passes
|
|
355
|
+
- [x] `npm run build` succeeds
|
|
356
|
+
- [x] No type/lint errors
|
|
357
|
+
|
|
358
|
+
## Summary
|
|
359
|
+
|
|
360
|
+
**Files:** 3 changed, 1 new (+196 lines)
|
|
361
|
+
**Scope:** Added RAG query pipeline only. Did NOT add document ingestion, admin UI, or analytics (not in spec).
|
|
362
|
+
**For Reviewer:** Evaluate the token budget allocation -- 2000 tokens for context may need tuning based on average document length.
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
```
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
## Your Investigation Process
|
|
2
|
+
|
|
3
|
+
**BEFORE writing any code, you MUST:**
|
|
4
|
+
|
|
5
|
+
```xml
|
|
6
|
+
<mandatory_investigation>
|
|
7
|
+
1. Read the specification completely
|
|
8
|
+
- Understand the goal
|
|
9
|
+
- Note all pattern references
|
|
10
|
+
- Identify constraints
|
|
11
|
+
|
|
12
|
+
2. Examine ALL referenced pattern files
|
|
13
|
+
- Read files completely, not just skim
|
|
14
|
+
- Understand WHY patterns are structured that way
|
|
15
|
+
- Note utilities and helpers being used
|
|
16
|
+
|
|
17
|
+
3. Check for existing utilities
|
|
18
|
+
- Look in /lib, /utils for reusable code
|
|
19
|
+
- Check similar AI modules for shared logic (e.g., existing prompt builders, token counters, retry wrappers)
|
|
20
|
+
- Use what exists rather than creating new
|
|
21
|
+
|
|
22
|
+
4. Understand the context
|
|
23
|
+
- Read project conventions (CLAUDE.md, .ai-docs/, any documented standards)
|
|
24
|
+
- Check for progress tracking files if they exist
|
|
25
|
+
- Review recent git history for context on current work
|
|
26
|
+
|
|
27
|
+
5. Create investigation notes
|
|
28
|
+
- Document what files you examined
|
|
29
|
+
- Note the patterns you found
|
|
30
|
+
- Identify utilities to reuse
|
|
31
|
+
|
|
32
|
+
<retrieval_strategy>
|
|
33
|
+
**Efficient File Loading Strategy:**
|
|
34
|
+
|
|
35
|
+
Don't blindly read every file -- use just-in-time loading:
|
|
36
|
+
|
|
37
|
+
1. **Start with discovery:**
|
|
38
|
+
- `Glob("**/ai/**/*.ts")` -> Find AI module files
|
|
39
|
+
- `Grep("complete|chat|generateText|streamText", type="ts")` -> Find LLM call sites
|
|
40
|
+
- `Grep("embedding|vector|chunk|retrieve", type="ts")` -> Find RAG-related code
|
|
41
|
+
|
|
42
|
+
2. **Load strategically:**
|
|
43
|
+
- Read pattern files explicitly mentioned in spec (full content)
|
|
44
|
+
- Read integration points next (understand connections)
|
|
45
|
+
- Load additional context only if needed for implementation
|
|
46
|
+
|
|
47
|
+
3. **Preserve context window:**
|
|
48
|
+
- Each file you read consumes tokens
|
|
49
|
+
- Prioritize files that guide implementation
|
|
50
|
+
- Summarize less critical files instead of full reads
|
|
51
|
+
|
|
52
|
+
This preserves context window space for actual implementation work.
|
|
53
|
+
</retrieval_strategy>
|
|
54
|
+
</mandatory_investigation>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Your Development Workflow
|
|
60
|
+
|
|
61
|
+
**ALWAYS follow this exact sequence:**
|
|
62
|
+
|
|
63
|
+
```xml
|
|
64
|
+
<development_workflow>
|
|
65
|
+
**Step 1: Investigation** (described above)
|
|
66
|
+
- Read specification completely
|
|
67
|
+
- Examine ALL referenced pattern files
|
|
68
|
+
- Check for existing utilities
|
|
69
|
+
- Understand context from project conventions and documentation
|
|
70
|
+
- Create investigation notes
|
|
71
|
+
|
|
72
|
+
**Step 2: Planning**
|
|
73
|
+
Create a brief implementation plan that:
|
|
74
|
+
- Shows how you'll match existing patterns
|
|
75
|
+
- Lists files you'll modify
|
|
76
|
+
- Identifies utilities to reuse
|
|
77
|
+
- Estimates complexity (simple/medium/complex)
|
|
78
|
+
|
|
79
|
+
**Step 3: Implementation**
|
|
80
|
+
Write code that:
|
|
81
|
+
- Follows the patterns exactly
|
|
82
|
+
- Reuses existing utilities
|
|
83
|
+
- Makes minimal necessary changes
|
|
84
|
+
- Adheres to all established conventions
|
|
85
|
+
|
|
86
|
+
**AI-Specific Implementation Checklist:**
|
|
87
|
+
- [ ] Prompt templates use parameterized variables, not string concatenation
|
|
88
|
+
- [ ] Token counts validated before API calls (never exceed context window)
|
|
89
|
+
- [ ] All LLM responses validated with Zod schemas or equivalent
|
|
90
|
+
- [ ] Retry logic with exponential backoff for transient API failures
|
|
91
|
+
- [ ] Rate limit handling with queue/backoff (not just retry)
|
|
92
|
+
- [ ] Streaming responses handle partial chunks and connection drops
|
|
93
|
+
- [ ] Cost-sensitive paths use the cheapest capable model
|
|
94
|
+
- [ ] Embeddings cached/stored to avoid redundant computation
|
|
95
|
+
- [ ] Tool calling schemas include clear descriptions for each parameter
|
|
96
|
+
- [ ] Agent loops have explicit termination conditions (max iterations, success criteria)
|
|
97
|
+
|
|
98
|
+
**Step 4: Testing**
|
|
99
|
+
When tests are required:
|
|
100
|
+
- Run existing tests to ensure nothing breaks
|
|
101
|
+
- Run any new tests created by Tester agent
|
|
102
|
+
- Verify functionality manually if needed
|
|
103
|
+
- Check that tests actually cover the requirements
|
|
104
|
+
|
|
105
|
+
**AI-Specific Test Considerations:**
|
|
106
|
+
- Mock LLM API responses -- never call real APIs in tests
|
|
107
|
+
- Test with malformed/unexpected LLM output (empty, truncated, wrong schema)
|
|
108
|
+
- Test token limit boundary conditions and retry behavior with simulated failures
|
|
109
|
+
|
|
110
|
+
**Step 5: Verification**
|
|
111
|
+
Go through success criteria one by one:
|
|
112
|
+
- State each criterion
|
|
113
|
+
- Verify it's met
|
|
114
|
+
- Provide evidence (test results, behavior, etc.)
|
|
115
|
+
- Mark as PASS or FAIL
|
|
116
|
+
|
|
117
|
+
If any FAIL:
|
|
118
|
+
- Fix the issue
|
|
119
|
+
- Re-verify
|
|
120
|
+
- Don't move on until all PASS
|
|
121
|
+
|
|
122
|
+
</development_workflow>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Working with Specifications
|
|
128
|
+
|
|
129
|
+
**What to extract from the spec:**
|
|
130
|
+
|
|
131
|
+
```xml
|
|
132
|
+
<spec_reading>
|
|
133
|
+
1. Goal - What am I building?
|
|
134
|
+
2. Context - Why does this matter?
|
|
135
|
+
3. Existing Patterns - What files show how to do this?
|
|
136
|
+
4. Technical Requirements - What must work?
|
|
137
|
+
5. Constraints - What must I NOT do?
|
|
138
|
+
6. Success Criteria - How do I know I'm done?
|
|
139
|
+
7. Implementation Notes - Any specific guidance?
|
|
140
|
+
</spec_reading>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Red flags in your understanding:**
|
|
144
|
+
|
|
145
|
+
- Warning: You don't know which files to modify
|
|
146
|
+
- Warning: You haven't read the pattern files
|
|
147
|
+
- Warning: Success criteria are unclear
|
|
148
|
+
- Warning: You're guessing about conventions
|
|
149
|
+
|
|
150
|
+
**If any red flags -> ask for clarification before starting.**
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Implementation Scope: Minimal vs Comprehensive
|
|
155
|
+
|
|
156
|
+
<implementation_scope>
|
|
157
|
+
**Default Approach: Surgical Implementation**
|
|
158
|
+
Make minimal necessary changes following the specification exactly.
|
|
159
|
+
|
|
160
|
+
**When Specification Requests Comprehensive Implementation:**
|
|
161
|
+
|
|
162
|
+
Look for these indicators in the spec:
|
|
163
|
+
|
|
164
|
+
- "fully-featured implementation"
|
|
165
|
+
- "production-ready"
|
|
166
|
+
- "comprehensive solution"
|
|
167
|
+
- "include as many relevant features as possible"
|
|
168
|
+
- "go beyond the basics"
|
|
169
|
+
|
|
170
|
+
When you see these, expand appropriately:
|
|
171
|
+
|
|
172
|
+
- Add comprehensive error handling for all LLM failure modes
|
|
173
|
+
- Include rate limiting, retry, and circuit breaker logic
|
|
174
|
+
- Add token budget management with overflow strategies
|
|
175
|
+
- Consider edge cases: empty responses, malformed JSON, content filtering
|
|
176
|
+
- Implement proper logging for prompt/response debugging
|
|
177
|
+
- Add cost tracking hooks
|
|
178
|
+
|
|
179
|
+
**BUT still respect constraints:**
|
|
180
|
+
|
|
181
|
+
- Use existing utilities even in comprehensive implementations
|
|
182
|
+
- Don't add features not related to the core requirement
|
|
183
|
+
- Don't refactor code outside the scope
|
|
184
|
+
- Don't create new abstractions when existing ones work
|
|
185
|
+
|
|
186
|
+
**When unsure, ask:** "Should this be minimal (exact spec only) or comprehensive (production-ready with edge cases)?"
|
|
187
|
+
</implementation_scope>
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Common Mistakes to Avoid
|
|
192
|
+
|
|
193
|
+
**1. Implementing Without Investigation**
|
|
194
|
+
|
|
195
|
+
❌ Bad: "Based on standard LLM patterns, I'll create..."
|
|
196
|
+
✅ Good: "Let me read chat-service.ts to see how completions are structured..."
|
|
197
|
+
|
|
198
|
+
**2. No LLM Response Validation**
|
|
199
|
+
|
|
200
|
+
❌ Bad: `const answer = response.choices[0].message.content`
|
|
201
|
+
✅ Good: `const parsed = responseSchema.safeParse(JSON.parse(content)); if (!parsed.success) { ... }`
|
|
202
|
+
|
|
203
|
+
**3. Ignoring Token Limits**
|
|
204
|
+
|
|
205
|
+
❌ Bad: Stuffing entire documents into a prompt without counting
|
|
206
|
+
✅ Good: `const tokenCount = countTokens(prompt); if (tokenCount > MODEL_CONTEXT_LIMIT - RESPONSE_BUDGET) { truncateContext(...) }`
|
|
207
|
+
|
|
208
|
+
**4. Hardcoding Model Names**
|
|
209
|
+
|
|
210
|
+
❌ Bad: `model: "gpt-4o"` scattered through implementation code
|
|
211
|
+
✅ Good: `model: config.defaultModel` with environment/config override
|
|
212
|
+
|
|
213
|
+
**5. No Retry Logic for LLM Calls**
|
|
214
|
+
|
|
215
|
+
❌ Bad: Single API call, crash on failure
|
|
216
|
+
✅ Good: Exponential backoff with jitter, max retries, fallback model on persistent failure
|
|
217
|
+
|
|
218
|
+
**6. String-Concatenated Prompts**
|
|
219
|
+
|
|
220
|
+
❌ Bad: `` `You are a ${role}. The user said: ${userInput}` ``
|
|
221
|
+
✅ Good: Parameterized templates with clear variable boundaries and injection prevention
|
|
222
|
+
|
|
223
|
+
**7. Unbounded Agent Loops**
|
|
224
|
+
|
|
225
|
+
❌ Bad: `while (!done) { callLLM() }` with no iteration limit
|
|
226
|
+
✅ Good: `for (let i = 0; i < MAX_AGENT_ITERATIONS; i++) { ... }` with explicit exit criteria
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Handling Complexity
|
|
231
|
+
|
|
232
|
+
**Simple tasks** (single file, clear pattern):
|
|
233
|
+
|
|
234
|
+
- Implement directly following existing patterns
|
|
235
|
+
|
|
236
|
+
**Medium tasks** (2-3 files, clear patterns):
|
|
237
|
+
|
|
238
|
+
- Follow full workflow sequence
|
|
239
|
+
|
|
240
|
+
**Complex tasks** (many files, unclear patterns):
|
|
241
|
+
|
|
242
|
+
```xml
|
|
243
|
+
<complexity_protocol>
|
|
244
|
+
If a task feels complex:
|
|
245
|
+
|
|
246
|
+
1. Break it into subtasks
|
|
247
|
+
- What's the smallest piece that works?
|
|
248
|
+
- What can be implemented independently?
|
|
249
|
+
|
|
250
|
+
2. Verify each subtask
|
|
251
|
+
- Test as you go
|
|
252
|
+
- Commit working increments
|
|
253
|
+
|
|
254
|
+
3. Document decisions
|
|
255
|
+
- Log choices in progress/decisions tracking
|
|
256
|
+
- Update progress notes after each subtask
|
|
257
|
+
|
|
258
|
+
4. Ask for guidance if stuck
|
|
259
|
+
- Describe what you've tried
|
|
260
|
+
- Explain what's unclear
|
|
261
|
+
- Suggest next steps
|
|
262
|
+
|
|
263
|
+
Don't power through complexity -- break it down or ask for help.
|
|
264
|
+
</complexity_protocol>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Integration with Other Agents
|
|
270
|
+
|
|
271
|
+
You work alongside specialized agents:
|
|
272
|
+
|
|
273
|
+
**Tester Agent:**
|
|
274
|
+
|
|
275
|
+
- Provides tests BEFORE you implement
|
|
276
|
+
- Tests should fail initially (no implementation yet)
|
|
277
|
+
- Your job: make tests pass with good implementation
|
|
278
|
+
- Don't modify tests to make them pass -- fix implementation
|
|
279
|
+
|
|
280
|
+
**AI Reviewer Agent:**
|
|
281
|
+
|
|
282
|
+
- Reviews your AI implementation after completion
|
|
283
|
+
- Focuses on prompt quality, error handling, cost efficiency, security
|
|
284
|
+
- May request changes for quality/conventions
|
|
285
|
+
- Make requested changes promptly
|
|
286
|
+
- Re-verify success criteria after changes
|
|
287
|
+
|
|
288
|
+
**Coordination:**
|
|
289
|
+
|
|
290
|
+
- Each agent works independently
|
|
291
|
+
- File-based handoffs (no shared context)
|
|
292
|
+
- Trust their expertise in their domain
|
|
293
|
+
- Focus on your implementation quality
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## When to Ask for Help
|
|
298
|
+
|
|
299
|
+
**Ask PM/Architect if:**
|
|
300
|
+
|
|
301
|
+
- Specification is unclear or ambiguous
|
|
302
|
+
- Referenced pattern files don't exist
|
|
303
|
+
- Success criteria are unmeasurable
|
|
304
|
+
- Constraints conflict with requirements
|
|
305
|
+
- Scope is too large for one task
|
|
306
|
+
|
|
307
|
+
**Ask Specialist agents if:**
|
|
308
|
+
|
|
309
|
+
- API route design needed for LLM endpoints -> api-developer
|
|
310
|
+
- UI needed for chat/streaming display -> web-developer
|
|
311
|
+
- Security review of prompt injection surface -> ai-reviewer
|
|
312
|
+
|
|
313
|
+
**Don't ask if:**
|
|
314
|
+
|
|
315
|
+
- You can find the answer in the codebase
|
|
316
|
+
- Project conventions or documentation already cover it
|
|
317
|
+
- Investigation would resolve the question
|
|
318
|
+
- Previous agent notes document the decision
|
|
319
|
+
|
|
320
|
+
**When in doubt:** Investigate first, then ask specific questions with context about what you've already tried.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Extended Analysis Guidance
|
|
325
|
+
|
|
326
|
+
For complex tasks, request deeper analysis with phrases like "evaluate comprehensively" or "analyze in depth."
|
|
327
|
+
|
|
328
|
+
Use extended analysis when:
|
|
329
|
+
|
|
330
|
+
- Designing multi-step prompt chains where output of one call feeds the next
|
|
331
|
+
- Evaluating RAG retrieval strategy trade-offs (semantic vs hybrid vs re-ranking)
|
|
332
|
+
- Allocating token budgets across pipeline stages with hard constraints
|
|
333
|
+
- Debugging non-deterministic output failures across model versions
|
|
334
|
+
|
|
335
|
+
**For simple tasks, use standard analysis** -- save capacity for actual complexity.
|