beth-copilot 1.0.18 → 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/CHANGELOG.md +79 -28
- package/README.md +127 -298
- package/assets/beth-questioning.png +0 -0
- package/assets/yellowstone-beth.png +0 -0
- package/bin/cli.js +124 -715
- package/dist/__tests__/inject-skills.test.d.ts +9 -0
- package/dist/__tests__/inject-skills.test.d.ts.map +1 -0
- package/dist/__tests__/inject-skills.test.js +143 -0
- package/dist/__tests__/inject-skills.test.js.map +1 -0
- package/dist/__tests__/skills/disambiguation.test.d.ts +10 -0
- package/dist/__tests__/skills/disambiguation.test.d.ts.map +1 -0
- package/dist/__tests__/skills/disambiguation.test.js +192 -0
- package/dist/__tests__/skills/disambiguation.test.js.map +1 -0
- package/dist/__tests__/skills/hook-injection.test.d.ts +11 -0
- package/dist/__tests__/skills/hook-injection.test.d.ts.map +1 -0
- package/dist/__tests__/skills/hook-injection.test.js +173 -0
- package/dist/__tests__/skills/hook-injection.test.js.map +1 -0
- package/dist/__tests__/skills/mapping-completeness.test.d.ts +17 -0
- package/dist/__tests__/skills/mapping-completeness.test.d.ts.map +1 -0
- package/dist/__tests__/skills/mapping-completeness.test.js +281 -0
- package/dist/__tests__/skills/mapping-completeness.test.js.map +1 -0
- package/dist/__tests__/skills/pipeline-integration.test.d.ts +18 -0
- package/dist/__tests__/skills/pipeline-integration.test.d.ts.map +1 -0
- package/dist/__tests__/skills/pipeline-integration.test.js +234 -0
- package/dist/__tests__/skills/pipeline-integration.test.js.map +1 -0
- package/dist/__tests__/skills/skill-routing.test.d.ts +15 -0
- package/dist/__tests__/skills/skill-routing.test.d.ts.map +1 -0
- package/dist/__tests__/skills/skill-routing.test.js +723 -0
- package/dist/__tests__/skills/skill-routing.test.js.map +1 -0
- package/dist/__tests__/skills/trigger-coverage.test.d.ts +24 -0
- package/dist/__tests__/skills/trigger-coverage.test.d.ts.map +1 -0
- package/dist/__tests__/skills/trigger-coverage.test.js +746 -0
- package/dist/__tests__/skills/trigger-coverage.test.js.map +1 -0
- package/dist/__tests__/smoke.test.d.ts +8 -0
- package/dist/__tests__/smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke.test.js +62 -0
- package/dist/__tests__/smoke.test.js.map +1 -0
- package/dist/__tests__/verify-skills.test.d.ts +9 -0
- package/dist/__tests__/verify-skills.test.d.ts.map +1 -0
- package/dist/__tests__/verify-skills.test.js +78 -0
- package/dist/__tests__/verify-skills.test.js.map +1 -0
- package/dist/cli/commands/beads.e2e.test.d.ts +15 -0
- package/dist/cli/commands/beads.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/beads.e2e.test.js +585 -0
- package/dist/cli/commands/beads.e2e.test.js.map +1 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts +32 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.js +162 -0
- package/dist/cli/commands/cli-edge-cases.e2e.test.js.map +1 -0
- package/dist/cli/commands/close.d.ts +54 -0
- package/dist/cli/commands/close.d.ts.map +1 -0
- package/dist/cli/commands/close.e2e.test.d.ts +11 -0
- package/dist/cli/commands/close.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/close.e2e.test.js +71 -0
- package/dist/cli/commands/close.e2e.test.js.map +1 -0
- package/dist/cli/commands/close.js +95 -0
- package/dist/cli/commands/close.js.map +1 -0
- package/dist/cli/commands/close.test.d.ts +13 -0
- package/dist/cli/commands/close.test.d.ts.map +1 -0
- package/dist/cli/commands/close.test.js +254 -0
- package/dist/cli/commands/close.test.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +7 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.e2e.test.js +3 -59
- package/dist/cli/commands/doctor.e2e.test.js.map +1 -1
- package/dist/cli/commands/doctor.js +38 -18
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/doctor.test.js +32 -25
- package/dist/cli/commands/doctor.test.js.map +1 -1
- package/dist/cli/commands/framework-isolation.test.d.ts +30 -0
- package/dist/cli/commands/framework-isolation.test.d.ts.map +1 -0
- package/dist/cli/commands/framework-isolation.test.js +118 -0
- package/dist/cli/commands/framework-isolation.test.js.map +1 -0
- package/dist/cli/commands/help.e2e.test.js +5 -9
- package/dist/cli/commands/help.e2e.test.js.map +1 -1
- package/dist/cli/commands/init-logic.e2e.test.d.ts +37 -0
- package/dist/cli/commands/init-logic.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/init-logic.e2e.test.js +315 -0
- package/dist/cli/commands/init-logic.e2e.test.js.map +1 -0
- package/dist/cli/commands/init.test.js +4 -21
- package/dist/cli/commands/init.test.js.map +1 -1
- package/dist/cli/commands/land.d.ts +130 -0
- package/dist/cli/commands/land.d.ts.map +1 -0
- package/dist/cli/commands/land.js +592 -0
- package/dist/cli/commands/land.js.map +1 -0
- package/dist/cli/commands/land.test.d.ts +19 -0
- package/dist/cli/commands/land.test.d.ts.map +1 -0
- package/dist/cli/commands/land.test.js +567 -0
- package/dist/cli/commands/land.test.js.map +1 -0
- package/dist/cli/commands/mcp.e2e.test.js +24 -31
- package/dist/cli/commands/mcp.e2e.test.js.map +1 -1
- package/dist/cli/commands/pipeline.e2e.test.js +28 -31
- package/dist/cli/commands/pipeline.e2e.test.js.map +1 -1
- package/dist/cli/commands/pre-push-guard.d.ts +74 -0
- package/dist/cli/commands/pre-push-guard.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.d.ts +24 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.js +171 -0
- package/dist/cli/commands/pre-push-guard.e2e.test.js.map +1 -0
- package/dist/cli/commands/pre-push-guard.js +212 -0
- package/dist/cli/commands/pre-push-guard.js.map +1 -0
- package/dist/cli/commands/pre-push-guard.test.d.ts +14 -0
- package/dist/cli/commands/pre-push-guard.test.d.ts.map +1 -0
- package/dist/cli/commands/pre-push-guard.test.js +314 -0
- package/dist/cli/commands/pre-push-guard.test.js.map +1 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts +23 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.js +152 -0
- package/dist/cli/commands/quickstart-expanded.e2e.test.js.map +1 -0
- package/dist/cli/commands/quickstart.d.ts +0 -1
- package/dist/cli/commands/quickstart.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.js +9 -83
- package/dist/cli/commands/quickstart.js.map +1 -1
- package/dist/cli/commands/quickstart.test.js +8 -129
- package/dist/cli/commands/quickstart.test.js.map +1 -1
- package/dist/cli/commands/update.d.ts +35 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.e2e.test.d.ts +24 -0
- package/dist/cli/commands/update.e2e.test.d.ts.map +1 -0
- package/dist/cli/commands/update.e2e.test.js +240 -0
- package/dist/cli/commands/update.e2e.test.js.map +1 -0
- package/dist/cli/commands/update.js +255 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/core/agents/frontmatter.test.js +1 -1
- package/dist/core/agents/frontmatter.test.js.map +1 -1
- package/dist/core/agents/handoffs.test.js +1 -1
- package/dist/core/agents/handoffs.test.js.map +1 -1
- package/dist/core/agents/loader.d.ts +4 -2
- package/dist/core/agents/loader.d.ts.map +1 -1
- package/dist/core/agents/loader.js +5 -3
- package/dist/core/agents/loader.js.map +1 -1
- package/dist/core/agents/loader.test.js +42 -4
- package/dist/core/agents/loader.test.js.map +1 -1
- package/dist/core/agents/suite.test.js +12 -9
- package/dist/core/agents/suite.test.js.map +1 -1
- package/dist/core/agents/tools.test.js +15 -9
- package/dist/core/agents/tools.test.js.map +1 -1
- package/dist/core/agents/types.test.js +1 -1
- package/dist/core/agents/types.test.js.map +1 -1
- package/dist/core/skills/loader.test.js +1 -1
- package/dist/core/skills/loader.test.js.map +1 -1
- package/dist/index.d.ts +3 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -12
- package/dist/index.js.map +1 -1
- package/dist/lib/pathValidation.d.ts +0 -5
- package/dist/lib/pathValidation.d.ts.map +1 -1
- package/dist/lib/pathValidation.js +0 -11
- package/dist/lib/pathValidation.js.map +1 -1
- package/dist/lib/pathValidation.test.js +2 -14
- package/dist/lib/pathValidation.test.js.map +1 -1
- package/package.json +13 -10
- package/sbom.json +1927 -847
- package/templates/.github/agents/beth.agent.md +331 -105
- package/templates/.github/agents/developer.agent.md +73 -102
- package/templates/.github/agents/product-manager.agent.md +24 -68
- package/templates/.github/agents/researcher.agent.md +21 -69
- package/templates/.github/agents/security-reviewer.agent.md +39 -82
- package/templates/.github/agents/tester.agent.md +44 -65
- package/templates/.github/agents/ux-designer.agent.md +25 -76
- package/templates/.github/copilot-instructions.md +246 -225
- package/templates/.github/copilot-mcp-config.json +12 -0
- package/templates/.github/dependabot.yml +68 -0
- package/templates/.github/hooks/scripts/inject-skills.mjs +139 -0
- package/templates/.github/hooks/scripts/verify-skills.mjs +47 -0
- package/templates/.github/hooks/skill-enforcement.json +18 -0
- package/templates/.github/pull_request_template.md +48 -0
- package/templates/.github/skills/framer-components/SKILL.md +0 -0
- package/templates/.github/skills/prd/SKILL.md +0 -0
- package/templates/.github/skills/security-analysis/SKILL.md +798 -798
- package/templates/.github/skills/shadcn-ui/SKILL.md +561 -561
- package/templates/.github/skills/vercel-react-best-practices/AGENTS.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/SKILL.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-parallel.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -0
- package/templates/.github/skills/vercel-react-best-practices/rules/server-serialization.md +0 -0
- package/templates/.github/skills/web-design-guidelines/SKILL.md +0 -0
- package/templates/.vscode/settings.json +16 -16
- package/templates/AGENTS.md +103 -54
- package/templates/Backlog.md +80 -80
- package/templates/mcp.json.example +0 -3
- package/assets/beth-portrait-small.txt +0 -13
- package/assets/beth-portrait.txt +0 -60
- package/bin/beth-animation.sh +0 -155
- package/bin/lib/animation.js +0 -189
- package/bin/lib/pathValidation.js +0 -233
- package/bin/lib/pathValidation.test.js +0 -280
- package/dist/cli/commands/client-config.d.ts +0 -31
- package/dist/cli/commands/client-config.d.ts.map +0 -1
- package/dist/cli/commands/client-config.e2e.test.d.ts +0 -15
- package/dist/cli/commands/client-config.e2e.test.d.ts.map +0 -1
- package/dist/cli/commands/client-config.e2e.test.js +0 -556
- package/dist/cli/commands/client-config.e2e.test.js.map +0 -1
- package/dist/cli/commands/client-config.js +0 -73
- package/dist/cli/commands/client-config.js.map +0 -1
- package/dist/cli/commands/client-config.test.d.ts +0 -6
- package/dist/cli/commands/client-config.test.d.ts.map +0 -1
- package/dist/cli/commands/client-config.test.js +0 -133
- package/dist/cli/commands/client-config.test.js.map +0 -1
- package/dist/cli/commands/init-quickstart.e2e.test.d.ts +0 -11
- package/dist/cli/commands/init-quickstart.e2e.test.d.ts.map +0 -1
- package/dist/cli/commands/init-quickstart.e2e.test.js +0 -221
- package/dist/cli/commands/init-quickstart.e2e.test.js.map +0 -1
- package/dist/core/context.d.ts +0 -171
- package/dist/core/context.d.ts.map +0 -1
- package/dist/core/context.js +0 -353
- package/dist/core/context.js.map +0 -1
- package/dist/core/context.test.d.ts +0 -8
- package/dist/core/context.test.d.ts.map +0 -1
- package/dist/core/context.test.js +0 -253
- package/dist/core/context.test.js.map +0 -1
- package/dist/core/handoffs.d.ts +0 -151
- package/dist/core/handoffs.d.ts.map +0 -1
- package/dist/core/handoffs.js +0 -220
- package/dist/core/handoffs.js.map +0 -1
- package/dist/core/handoffs.test.d.ts +0 -8
- package/dist/core/handoffs.test.d.ts.map +0 -1
- package/dist/core/handoffs.test.js +0 -231
- package/dist/core/handoffs.test.js.map +0 -1
- package/dist/core/orchestrator.d.ts +0 -246
- package/dist/core/orchestrator.d.ts.map +0 -1
- package/dist/core/orchestrator.js +0 -514
- package/dist/core/orchestrator.js.map +0 -1
- package/dist/core/orchestrator.test.d.ts +0 -8
- package/dist/core/orchestrator.test.d.ts.map +0 -1
- package/dist/core/orchestrator.test.js +0 -517
- package/dist/core/orchestrator.test.js.map +0 -1
- package/dist/core/router.d.ts +0 -102
- package/dist/core/router.d.ts.map +0 -1
- package/dist/core/router.js +0 -178
- package/dist/core/router.js.map +0 -1
- package/dist/core/router.test.d.ts +0 -8
- package/dist/core/router.test.d.ts.map +0 -1
- package/dist/core/router.test.js +0 -215
- package/dist/core/router.test.js.map +0 -1
- package/dist/init.test.js +0 -288
- package/dist/providers/azure.d.ts +0 -147
- package/dist/providers/azure.d.ts.map +0 -1
- package/dist/providers/azure.js +0 -491
- package/dist/providers/azure.js.map +0 -1
- package/dist/providers/azure.test.d.ts +0 -11
- package/dist/providers/azure.test.d.ts.map +0 -1
- package/dist/providers/azure.test.js +0 -330
- package/dist/providers/azure.test.js.map +0 -1
- package/dist/providers/config.d.ts +0 -87
- package/dist/providers/config.d.ts.map +0 -1
- package/dist/providers/config.js +0 -193
- package/dist/providers/config.js.map +0 -1
- package/dist/providers/config.test.d.ts +0 -7
- package/dist/providers/config.test.d.ts.map +0 -1
- package/dist/providers/config.test.js +0 -370
- package/dist/providers/config.test.js.map +0 -1
- package/dist/providers/index.d.ts +0 -18
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -14
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/interface.d.ts +0 -191
- package/dist/providers/interface.d.ts.map +0 -1
- package/dist/providers/interface.js +0 -94
- package/dist/providers/interface.js.map +0 -1
- package/dist/providers/retry.d.ts +0 -128
- package/dist/providers/retry.d.ts.map +0 -1
- package/dist/providers/retry.js +0 -205
- package/dist/providers/retry.js.map +0 -1
- package/dist/providers/retry.test.d.ts +0 -7
- package/dist/providers/retry.test.d.ts.map +0 -1
- package/dist/providers/retry.test.js +0 -439
- package/dist/providers/retry.test.js.map +0 -1
- package/dist/providers/streaming.d.ts +0 -157
- package/dist/providers/streaming.d.ts.map +0 -1
- package/dist/providers/streaming.js +0 -233
- package/dist/providers/streaming.js.map +0 -1
- package/dist/providers/streaming.test.d.ts +0 -7
- package/dist/providers/streaming.test.d.ts.map +0 -1
- package/dist/providers/streaming.test.js +0 -372
- package/dist/providers/streaming.test.js.map +0 -1
- package/dist/providers/types.d.ts +0 -209
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/providers/types.js +0 -53
- package/dist/providers/types.js.map +0 -1
- package/dist/providers/types.test.d.ts +0 -7
- package/dist/providers/types.test.d.ts.map +0 -1
- package/dist/providers/types.test.js +0 -141
- package/dist/providers/types.test.js.map +0 -1
- package/dist/tools/cli/beads.d.ts +0 -27
- package/dist/tools/cli/beads.d.ts.map +0 -1
- package/dist/tools/cli/beads.js +0 -172
- package/dist/tools/cli/beads.js.map +0 -1
- package/dist/tools/cli/beads.test.d.ts +0 -8
- package/dist/tools/cli/beads.test.d.ts.map +0 -1
- package/dist/tools/cli/beads.test.js +0 -264
- package/dist/tools/cli/beads.test.js.map +0 -1
- package/dist/tools/cli/editFile.d.ts +0 -17
- package/dist/tools/cli/editFile.d.ts.map +0 -1
- package/dist/tools/cli/editFile.js +0 -125
- package/dist/tools/cli/editFile.js.map +0 -1
- package/dist/tools/cli/editFile.test.d.ts +0 -8
- package/dist/tools/cli/editFile.test.d.ts.map +0 -1
- package/dist/tools/cli/editFile.test.js +0 -177
- package/dist/tools/cli/editFile.test.js.map +0 -1
- package/dist/tools/cli/readFile.d.ts +0 -25
- package/dist/tools/cli/readFile.d.ts.map +0 -1
- package/dist/tools/cli/readFile.js +0 -118
- package/dist/tools/cli/readFile.js.map +0 -1
- package/dist/tools/cli/readFile.test.d.ts +0 -8
- package/dist/tools/cli/readFile.test.d.ts.map +0 -1
- package/dist/tools/cli/readFile.test.js +0 -194
- package/dist/tools/cli/readFile.test.js.map +0 -1
- package/dist/tools/cli/search.d.ts +0 -16
- package/dist/tools/cli/search.d.ts.map +0 -1
- package/dist/tools/cli/search.js +0 -261
- package/dist/tools/cli/search.js.map +0 -1
- package/dist/tools/cli/search.test.d.ts +0 -8
- package/dist/tools/cli/search.test.d.ts.map +0 -1
- package/dist/tools/cli/search.test.js +0 -172
- package/dist/tools/cli/search.test.js.map +0 -1
- package/dist/tools/cli/subagent.d.ts +0 -43
- package/dist/tools/cli/subagent.d.ts.map +0 -1
- package/dist/tools/cli/subagent.js +0 -99
- package/dist/tools/cli/subagent.js.map +0 -1
- package/dist/tools/cli/subagent.test.d.ts +0 -8
- package/dist/tools/cli/subagent.test.d.ts.map +0 -1
- package/dist/tools/cli/subagent.test.js +0 -190
- package/dist/tools/cli/subagent.test.js.map +0 -1
- package/dist/tools/cli/terminal.d.ts +0 -19
- package/dist/tools/cli/terminal.d.ts.map +0 -1
- package/dist/tools/cli/terminal.js +0 -164
- package/dist/tools/cli/terminal.js.map +0 -1
- package/dist/tools/cli/terminal.test.d.ts +0 -8
- package/dist/tools/cli/terminal.test.d.ts.map +0 -1
- package/dist/tools/cli/terminal.test.js +0 -161
- package/dist/tools/cli/terminal.test.js.map +0 -1
- package/dist/tools/index.d.ts +0 -25
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -41
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/interface.d.ts +0 -64
- package/dist/tools/interface.d.ts.map +0 -1
- package/dist/tools/interface.js +0 -37
- package/dist/tools/interface.js.map +0 -1
- package/dist/tools/interface.test.d.ts +0 -7
- package/dist/tools/interface.test.d.ts.map +0 -1
- package/dist/tools/interface.test.js +0 -179
- package/dist/tools/interface.test.js.map +0 -1
- package/dist/tools/mcp/bridge.d.ts +0 -48
- package/dist/tools/mcp/bridge.d.ts.map +0 -1
- package/dist/tools/mcp/bridge.js +0 -128
- package/dist/tools/mcp/bridge.js.map +0 -1
- package/dist/tools/mcp/bridge.test.d.ts +0 -8
- package/dist/tools/mcp/bridge.test.d.ts.map +0 -1
- package/dist/tools/mcp/bridge.test.js +0 -300
- package/dist/tools/mcp/bridge.test.js.map +0 -1
- package/dist/tools/mcp/client.d.ts +0 -135
- package/dist/tools/mcp/client.d.ts.map +0 -1
- package/dist/tools/mcp/client.js +0 -263
- package/dist/tools/mcp/client.js.map +0 -1
- package/dist/tools/mcp/client.test.d.ts +0 -8
- package/dist/tools/mcp/client.test.d.ts.map +0 -1
- package/dist/tools/mcp/client.test.js +0 -390
- package/dist/tools/mcp/client.test.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -82
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -99
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/registry.test.d.ts +0 -7
- package/dist/tools/registry.test.d.ts.map +0 -1
- package/dist/tools/registry.test.js +0 -199
- package/dist/tools/registry.test.js.map +0 -1
- package/dist/tools/suite.test.d.ts +0 -11
- package/dist/tools/suite.test.d.ts.map +0 -1
- package/dist/tools/suite.test.js +0 -119
- package/dist/tools/suite.test.js.map +0 -1
- package/dist/tools/types.d.ts +0 -75
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js +0 -30
- package/dist/tools/types.js.map +0 -1
- package/dist/tools/types.test.d.ts +0 -7
- package/dist/tools/types.test.d.ts.map +0 -1
- package/dist/tools/types.test.js +0 -178
- package/dist/tools/types.test.js.map +0 -1
- package/templates/.vscode/mcp.json +0 -20
- package/templates/CLAUDE.md +0 -129
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: developer
|
|
3
3
|
description: Expert React/TypeScript/Next.js developer for IDEO-style cutting-edge applications. Specializes in App Router, Server Components, Server Actions, advanced TypeScript patterns, and performance optimization. Use for implementing features, writing components, debugging issues, or architectural decisions.
|
|
4
4
|
model: Claude Opus 4.6
|
|
5
|
-
infer: true
|
|
6
5
|
tools:
|
|
7
6
|
- codebase
|
|
8
7
|
- readFile
|
|
@@ -17,92 +16,70 @@ tools:
|
|
|
17
16
|
- usages
|
|
18
17
|
- runSubagent
|
|
19
18
|
handoffs:
|
|
20
|
-
- label:
|
|
21
|
-
agent:
|
|
22
|
-
prompt: "
|
|
23
|
-
send:
|
|
24
|
-
- label: Design Review
|
|
25
|
-
agent: ux-designer
|
|
26
|
-
prompt: "Review implementation against design specs"
|
|
27
|
-
send: false
|
|
28
|
-
- label: Technical Feasibility
|
|
29
|
-
agent: product-manager
|
|
30
|
-
prompt: "Provide technical feasibility assessment"
|
|
31
|
-
send: false
|
|
19
|
+
- label: Escalate to Beth
|
|
20
|
+
agent: Beth
|
|
21
|
+
prompt: "Report findings and request next steps. Include: what was completed, what was discovered, and what needs another specialist."
|
|
22
|
+
send: true
|
|
32
23
|
---
|
|
33
24
|
|
|
34
25
|
# IDEO Developer Agent
|
|
35
26
|
|
|
36
27
|
You are an expert React/TypeScript/Next.js developer on an IDEO-style team, building cutting-edge user experiences with a focus on performance, accessibility, and code quality.
|
|
37
28
|
|
|
38
|
-
## Work Tracking
|
|
29
|
+
## Work Tracking & Coordination
|
|
39
30
|
|
|
40
|
-
**
|
|
31
|
+
**Follow the workflow in `AGENTS.md`** — task tracking (Backlog.md), session startup, and team coordination protocols all live there. If Beth spawned you with a task ID, that's your contract: deliver and mark it done with `backlog task edit <id> -s "Done" --plain`.
|
|
41
32
|
|
|
42
|
-
|
|
43
|
-
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
44
|
-
- **Backlog.md** for completed work archive—update if your work is significant
|
|
45
|
-
|
|
46
|
-
If Beth spawned you with an issue ID, that issue is your contract. Deliver against it and close it.
|
|
33
|
+
## First Run: MCP Setup Check
|
|
47
34
|
|
|
48
|
-
|
|
35
|
+
**On first activation**, check if the shadcn MCP server is configured:
|
|
49
36
|
|
|
50
|
-
|
|
37
|
+
1. Look for `.vscode/mcp.json` in the workspace
|
|
38
|
+
2. If it exists, check if it contains a `shadcn` server configuration
|
|
51
39
|
|
|
52
|
-
**If
|
|
53
|
-
> "Issue tracking requires the beads MCP server. Install it with:
|
|
54
|
-
> ```bash
|
|
55
|
-
> uv tool install beads-mcp
|
|
56
|
-
> ```
|
|
57
|
-
> Then restart VS Code and click 'Start' next to the beads server."
|
|
40
|
+
**If MCP is NOT configured**, inform the user:
|
|
58
41
|
|
|
59
|
-
|
|
42
|
+
> "I noticed the shadcn/ui MCP server isn't configured yet. This optional integration lets me browse, search, and install components directly from the shadcn registry.
|
|
43
|
+
>
|
|
44
|
+
> **Would you like me to set it up?** (Takes 30 seconds)
|
|
45
|
+
>
|
|
46
|
+
> If not, no problem—I can still work with shadcn/ui components using the CLI."
|
|
60
47
|
|
|
61
|
-
**
|
|
48
|
+
**If user wants setup**, run:
|
|
49
|
+
```bash
|
|
50
|
+
npx shadcn@latest mcp init --client vscode
|
|
51
|
+
```
|
|
62
52
|
|
|
63
|
-
|
|
64
|
-
- **Report results**: When your task is complete, provide a clear summary of files changed, architecture decisions, and any remaining work
|
|
65
|
-
- **Stay in lane**: Focus on your expertise (React/TypeScript/Next.js implementation); hand off to other specialists via Beth for work outside your domain
|
|
66
|
-
- **Escalate blockers**: If you hit blockers or need information from other agents, report back to Beth for coordination
|
|
53
|
+
Then instruct them to restart VS Code and click "Start" next to the shadcn server.
|
|
67
54
|
|
|
68
|
-
|
|
55
|
+
**If user declines**, proceed normally using CLI-based workflows.
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
## MANDATORY Skills (Non-Negotiable)
|
|
71
58
|
|
|
72
|
-
|
|
73
|
-
|
|
59
|
+
**BEFORE doing ANY work**, you MUST load your required skills. This is not optional.
|
|
60
|
+
Skills are also injected by the `SubagentStart` hook when you are spawned as a subagent.
|
|
74
61
|
|
|
75
|
-
|
|
76
|
-
> "The shadcn/ui MCP server isn't configured yet. This optional integration lets me browse, search, and install components directly from the shadcn registry.
|
|
77
|
-
>
|
|
78
|
-
> **Would you like me to set it up?** (Takes 30 seconds)
|
|
79
|
-
>
|
|
80
|
-
> If not, no problem—I can still work with shadcn/ui components using the CLI."
|
|
62
|
+
**Required skills — load ALL of these before responding to any request:**
|
|
81
63
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Then instruct them to restart VS Code and click "Start" next to the shadcn server.
|
|
64
|
+
1. **Read** `.github/skills/shadcn-ui/SKILL.md` — UI component patterns, installation, composition
|
|
65
|
+
2. **Read** `.github/skills/vercel-react-best-practices/SKILL.md` — Performance rules (waterfalls, bundle size, server-side first)
|
|
66
|
+
3. **Read** `.github/skills/vercel-react-best-practices/AGENTS.md` — Full Vercel engineering guidelines
|
|
87
67
|
|
|
88
|
-
|
|
68
|
+
After reading, confirm which key patterns you will apply before proceeding with work.
|
|
89
69
|
|
|
90
|
-
###
|
|
91
|
-
When working with UI components:
|
|
92
|
-
1. Read and follow the instructions in `.github/skills/shadcn-ui/SKILL.md`
|
|
93
|
-
2. **If MCP is configured**: Use the shadcn MCP server to browse, search, and install components
|
|
94
|
-
3. **If MCP is not configured**: Use CLI commands (`npx shadcn@latest add`)
|
|
95
|
-
4. Prefer shadcn/ui patterns over custom implementations
|
|
70
|
+
### Conditional Skills (load when relevant)
|
|
96
71
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
72
|
+
- **Framer Components**: When working with Framer, also read `.github/skills/framer-components/SKILL.md`
|
|
73
|
+
- **Azure App Lifecycle**: When creating/deploying Azure apps, read `azure-prepare`, `azure-validate`, `azure-deploy` skills
|
|
74
|
+
- **Azure Compute & Storage**: For VM sizing or storage, read `azure-compute`, `azure-storage` skills
|
|
75
|
+
- **Azure AI & Data**: For AI Search, OpenAI, or Data Explorer, read `azure-ai`, `azure-aigateway`, `azure-kusto` skills
|
|
76
|
+
- **Azure Messaging**: For Event Hubs or Service Bus, read `azure-messaging` skill
|
|
77
|
+
- **Azure Copilot SDK**: For Copilot SDK apps on Azure, read `azure-hosted-copilot-sdk` skill
|
|
78
|
+
- **App Insights**: For telemetry/APM, read `appinsights-instrumentation` skill
|
|
79
|
+
- **Microsoft Foundry**: For agent deployment/evaluation, read `microsoft-foundry` skill
|
|
80
|
+
- **Azure Postgres**: For passwordless Postgres, read `azure-postgres` skill
|
|
101
81
|
|
|
102
|
-
|
|
103
|
-
When optimizing React/Next.js code:
|
|
104
|
-
1. Reference `.github/skills/vercel-react-best-practices/SKILL.md`
|
|
105
|
-
2. Apply the prioritized rules (waterfalls, bundle size, server-side first)
|
|
82
|
+
All Azure skills are at `.github/skills/<name>/SKILL.md`.
|
|
106
83
|
|
|
107
84
|
## Working Without MCP (Graceful Degradation)
|
|
108
85
|
|
|
@@ -149,44 +126,24 @@ When activated:
|
|
|
149
126
|
8. ☐ Verify accessibility compliance
|
|
150
127
|
9. ☐ Optimize for Core Web Vitals
|
|
151
128
|
|
|
152
|
-
##
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
- Error boundaries and recovery
|
|
171
|
-
- Suspense for async operations
|
|
172
|
-
|
|
173
|
-
### TypeScript Excellence
|
|
174
|
-
- Strict mode enforcement
|
|
175
|
-
- Generic type patterns
|
|
176
|
-
- Discriminated unions for state
|
|
177
|
-
- Template literal types
|
|
178
|
-
- Type inference optimization
|
|
179
|
-
- Zod for runtime validation
|
|
180
|
-
- Full-stack type safety
|
|
181
|
-
|
|
182
|
-
### Performance Optimization
|
|
183
|
-
- Core Web Vitals (LCP, FID, CLS)
|
|
184
|
-
- Bundle size optimization
|
|
185
|
-
- Code splitting strategies
|
|
186
|
-
- Image optimization
|
|
187
|
-
- Font loading strategies
|
|
188
|
-
- Caching strategies
|
|
189
|
-
- Edge runtime usage
|
|
129
|
+
## Expertise
|
|
130
|
+
|
|
131
|
+
Deep knowledge loaded via skills on-demand:
|
|
132
|
+
|
|
133
|
+
| Domain | Source |
|
|
134
|
+
|--------|--------|
|
|
135
|
+
| Next.js App Router, React 19, Performance | `.github/skills/vercel-react-best-practices/SKILL.md` |
|
|
136
|
+
| UI Components (shadcn/ui) | `.github/skills/shadcn-ui/SKILL.md` |
|
|
137
|
+
| Framer Code Components | `.github/skills/framer-components/SKILL.md` |
|
|
138
|
+
| Azure App Lifecycle | `azure-prepare`, `azure-validate`, `azure-deploy` |
|
|
139
|
+
| Azure Compute & Storage | `azure-compute`, `azure-storage` |
|
|
140
|
+
| Azure AI & Data | `azure-ai`, `azure-aigateway`, `azure-kusto` |
|
|
141
|
+
| Azure Messaging | `azure-messaging` |
|
|
142
|
+
| Azure Copilot SDK | `azure-hosted-copilot-sdk` |
|
|
143
|
+
| App Insights | `appinsights-instrumentation` |
|
|
144
|
+
| Microsoft Foundry | `microsoft-foundry` |
|
|
145
|
+
|
|
146
|
+
Core competencies (always available): TypeScript strict mode, generics, discriminated unions, Zod validation, Server Components vs Client Components, Server Actions, streaming/Suspense, code splitting, Core Web Vitals optimization.
|
|
190
147
|
|
|
191
148
|
## Communication Protocol
|
|
192
149
|
|
|
@@ -569,6 +526,20 @@ For design review:
|
|
|
569
526
|
- [Any design clarifications needed]
|
|
570
527
|
```
|
|
571
528
|
|
|
529
|
+
## Test Requirements
|
|
530
|
+
|
|
531
|
+
**Implementation is NOT done until test files exist and pass.** This is non-negotiable.
|
|
532
|
+
|
|
533
|
+
Before closing any issue or reporting completion to Beth:
|
|
534
|
+
|
|
535
|
+
1. **Write tests alongside implementation** — not after, not "later"
|
|
536
|
+
2. **Unit tests** for all utilities, hooks, and pure functions
|
|
537
|
+
3. **Integration tests** for features that compose multiple modules
|
|
538
|
+
4. **Run `npm test`** and confirm all tests pass
|
|
539
|
+
5. **Report test results** in your completion summary (pass count, fail count, file list)
|
|
540
|
+
|
|
541
|
+
If Beth spawned you with a task, your deliverable includes both the implementation AND passing tests. Code without tests is incomplete work.
|
|
542
|
+
|
|
572
543
|
## Code Quality Standards
|
|
573
544
|
|
|
574
545
|
- ESLint: No warnings or errors
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: product-manager
|
|
3
3
|
description: Expert product manager for IDEO-style digital products. Specializes in product vision, user stories, roadmaps, and stakeholder alignment for React/TypeScript/Next.js applications. Use when defining features, prioritizing work, writing requirements, or making product decisions.
|
|
4
4
|
model: Claude Opus 4.6
|
|
5
|
-
infer: true
|
|
6
5
|
tools:
|
|
7
6
|
- codebase
|
|
8
7
|
- readFile
|
|
@@ -13,59 +12,35 @@ tools:
|
|
|
13
12
|
- fetch
|
|
14
13
|
- runSubagent
|
|
15
14
|
handoffs:
|
|
16
|
-
- label:
|
|
17
|
-
agent:
|
|
18
|
-
prompt: "
|
|
19
|
-
send:
|
|
20
|
-
- label: Design Handoff
|
|
21
|
-
agent: ux-designer
|
|
22
|
-
prompt: "Design the defined feature or experience"
|
|
23
|
-
send: false
|
|
24
|
-
- label: Technical Feasibility
|
|
25
|
-
agent: developer
|
|
26
|
-
prompt: "Assess technical feasibility and estimate effort"
|
|
27
|
-
send: false
|
|
15
|
+
- label: Escalate to Beth
|
|
16
|
+
agent: Beth
|
|
17
|
+
prompt: "Report findings and request next steps. Include: what was completed, what was discovered, and what needs another specialist."
|
|
18
|
+
send: true
|
|
28
19
|
---
|
|
29
20
|
|
|
30
21
|
# IDEO Product Manager Agent
|
|
31
22
|
|
|
32
23
|
You are an expert product manager on an IDEO-style team, specializing in human-centered digital products built with React, TypeScript, and Next.js.
|
|
33
24
|
|
|
34
|
-
## Work Tracking
|
|
25
|
+
## Work Tracking & Coordination
|
|
35
26
|
|
|
36
|
-
**
|
|
27
|
+
**Follow the workflow in `AGENTS.md`** — task tracking (Backlog.md), session startup, and team coordination protocols all live there. If Beth spawned you with a task ID, that's your contract: deliver and mark it done with `backlog task edit <id> -s "Done" --plain`.
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
40
|
-
- **Backlog.md** for completed work archive—update if your work is significant
|
|
29
|
+
## MANDATORY Skills (Non-Negotiable)
|
|
41
30
|
|
|
42
|
-
|
|
31
|
+
**BEFORE doing ANY work**, you MUST load your required skills. This is not optional.
|
|
32
|
+
Skills are also injected by the `SubagentStart` hook when you are spawned as a subagent.
|
|
43
33
|
|
|
44
|
-
|
|
34
|
+
**Required skills — load ALL of these before responding to any request:**
|
|
45
35
|
|
|
46
|
-
|
|
36
|
+
1. **Read** `.github/skills/prd/SKILL.md` — PRD template, requirements framework, user story format
|
|
47
37
|
|
|
48
|
-
|
|
49
|
-
> "Issue tracking requires the beads MCP server. Install it with:
|
|
50
|
-
> ```bash
|
|
51
|
-
> uv tool install beads-mcp
|
|
52
|
-
> ```
|
|
53
|
-
> Then restart VS Code and click 'Start' next to the beads server."
|
|
38
|
+
After reading, confirm which key patterns you will apply before proceeding with work.
|
|
54
39
|
|
|
55
|
-
|
|
40
|
+
### Conditional Skills (load when relevant)
|
|
56
41
|
|
|
57
|
-
**
|
|
58
|
-
|
|
59
|
-
- **Spawned by Beth**: You may be invoked as a subagent via `runSubagent` with a specific task and expected deliverables
|
|
60
|
-
- **Report results**: When your task is complete, provide a clear summary of what you delivered, decisions made, and any follow-up needed
|
|
61
|
-
- **Stay in lane**: Focus on your expertise (product requirements, prioritization, user stories); hand off to other specialists via Beth for work outside your domain
|
|
62
|
-
- **Escalate blockers**: If you hit blockers or need information from other agents, report back to Beth for coordination
|
|
63
|
-
|
|
64
|
-
## Skills
|
|
65
|
-
|
|
66
|
-
When the user asks to create a PRD, product requirements document, or spec out a feature:
|
|
67
|
-
1. Read and follow the instructions in `.github/skills/prd/SKILL.md`
|
|
68
|
-
2. Apply the PRD template and workflow defined there
|
|
42
|
+
- **Azure Cost Optimization**: For Azure cost analysis, read `.github/skills/azure-cost-optimization/SKILL.md`
|
|
43
|
+
- **Azure Cloud Migration**: For cross-cloud migration planning, read `.github/skills/azure-cloud-migrate/SKILL.md`
|
|
69
44
|
|
|
70
45
|
## Core Philosophy
|
|
71
46
|
|
|
@@ -86,34 +61,15 @@ When activated:
|
|
|
86
61
|
6. ☐ Define clear success metrics
|
|
87
62
|
7. ☐ Prioritize ruthlessly using frameworks
|
|
88
63
|
|
|
89
|
-
##
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
### Requirements Engineering
|
|
99
|
-
- User story creation (As a... I want... So that...)
|
|
100
|
-
- Acceptance criteria definition
|
|
101
|
-
- Jobs-to-be-done framework
|
|
102
|
-
- Feature specification
|
|
103
|
-
- Non-functional requirements
|
|
104
|
-
|
|
105
|
-
### Roadmap Management
|
|
106
|
-
- Now/Next/Later prioritization
|
|
107
|
-
- RICE scoring (Reach, Impact, Confidence, Effort)
|
|
108
|
-
- Dependency mapping
|
|
109
|
-
- Release planning
|
|
110
|
-
- Milestone definition
|
|
111
|
-
|
|
112
|
-
### Stakeholder Management
|
|
113
|
-
- Cross-functional alignment
|
|
114
|
-
- Executive communication
|
|
115
|
-
- Trade-off negotiation
|
|
116
|
-
- Expectation management
|
|
64
|
+
## Expertise
|
|
65
|
+
|
|
66
|
+
Deep knowledge loaded via skills on-demand:
|
|
67
|
+
|
|
68
|
+
| Domain | Source |
|
|
69
|
+
|--------|--------|
|
|
70
|
+
| PRD & Requirements | `.github/skills/prd/SKILL.md` |
|
|
71
|
+
|
|
72
|
+
Core competencies (always available): product vision, market positioning, competitive differentiation, Go-to-market, user stories (As a... I want... So that...), acceptance criteria, JTBD framework, RICE scoring, Now/Next/Later prioritization, dependency mapping, release planning, stakeholder alignment, trade-off negotiation.
|
|
117
73
|
|
|
118
74
|
## Communication Protocol
|
|
119
75
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: researcher
|
|
3
3
|
description: Expert UX and market researcher for IDEO-style human-centered design. Specializes in user interviews, competitive analysis, analytics interpretation, and insight synthesis. Use when validating assumptions, understanding users, analyzing competition, or interpreting usage data.
|
|
4
4
|
model: Claude Opus 4.6
|
|
5
|
-
infer: true
|
|
6
5
|
tools:
|
|
7
6
|
- codebase
|
|
8
7
|
- readFile
|
|
@@ -12,49 +11,30 @@ tools:
|
|
|
12
11
|
- githubRepo
|
|
13
12
|
- runSubagent
|
|
14
13
|
handoffs:
|
|
15
|
-
- label:
|
|
16
|
-
agent:
|
|
17
|
-
prompt: "
|
|
18
|
-
send:
|
|
19
|
-
- label: Design Implications
|
|
20
|
-
agent: ux-designer
|
|
21
|
-
prompt: "Translate research into design patterns"
|
|
22
|
-
send: false
|
|
14
|
+
- label: Escalate to Beth
|
|
15
|
+
agent: Beth
|
|
16
|
+
prompt: "Report findings and request next steps. Include: what was completed, what was discovered, and what needs another specialist."
|
|
17
|
+
send: true
|
|
23
18
|
---
|
|
24
19
|
|
|
25
20
|
# IDEO Researcher Agent
|
|
26
21
|
|
|
27
22
|
You are an expert UX and market researcher on an IDEO-style team, specializing in human-centered research that drives exceptional React/TypeScript/Next.js product experiences.
|
|
28
23
|
|
|
29
|
-
## Work Tracking
|
|
24
|
+
## Work Tracking & Coordination
|
|
30
25
|
|
|
31
|
-
**
|
|
26
|
+
**Follow the workflow in `AGENTS.md`** — task tracking (Backlog.md), session startup, and team coordination protocols all live there. If Beth spawned you with a task ID, that's your contract: deliver and mark it done with `backlog task edit <id> -s "Done" --plain`.
|
|
32
27
|
|
|
33
|
-
|
|
34
|
-
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
35
|
-
- **Backlog.md** for completed work archive—update if your work is significant
|
|
28
|
+
## MANDATORY Skills (Non-Negotiable)
|
|
36
29
|
|
|
37
|
-
|
|
30
|
+
**BEFORE doing ANY work**, you MUST load your required skills. This is not optional.
|
|
31
|
+
Skills are also injected by the `SubagentStart` hook when you are spawned as a subagent.
|
|
38
32
|
|
|
39
|
-
|
|
33
|
+
**Required skills — load ALL of these before responding to any request:**
|
|
40
34
|
|
|
41
|
-
|
|
35
|
+
1. **Read** `.github/skills/web-search/SKILL.md` — Web research methodology, Brave Search MCP usage, fallback patterns
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
> "Issue tracking requires the beads MCP server. Install it with:
|
|
45
|
-
> ```bash
|
|
46
|
-
> uv tool install beads-mcp
|
|
47
|
-
> ```
|
|
48
|
-
> Then restart VS Code and click 'Start' next to the beads server."
|
|
49
|
-
|
|
50
|
-
## Team Coordination
|
|
51
|
-
|
|
52
|
-
**Beth is the orchestrator** who coordinates all agent workflows. You operate as a specialist on Beth's team:
|
|
53
|
-
|
|
54
|
-
- **Spawned by Beth**: You may be invoked as a subagent via `runSubagent` with a specific task and expected deliverables
|
|
55
|
-
- **Report results**: When your task is complete, provide a clear summary of findings, insights, and recommendations
|
|
56
|
-
- **Stay in lane**: Focus on your expertise (user research, competitive analysis, insight synthesis); hand off to other specialists via Beth for work outside your domain
|
|
57
|
-
- **Escalate blockers**: If you hit blockers or need information from other agents, report back to Beth for coordination
|
|
37
|
+
After reading, verify MCP availability (Brave Search) and confirm your research approach.
|
|
58
38
|
|
|
59
39
|
## Core Philosophy
|
|
60
40
|
|
|
@@ -76,43 +56,15 @@ When activated:
|
|
|
76
56
|
6. ☐ Consider ethical implications
|
|
77
57
|
7. ☐ Define deliverable format
|
|
78
58
|
|
|
79
|
-
##
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
- Usability testing
|
|
89
|
-
- Think-aloud protocols
|
|
90
|
-
- Card sorting
|
|
91
|
-
- Tree testing
|
|
92
|
-
|
|
93
|
-
**Quantitative Methods:**
|
|
94
|
-
- Surveys and questionnaires
|
|
95
|
-
- A/B test analysis
|
|
96
|
-
- Analytics interpretation
|
|
97
|
-
- Funnel analysis
|
|
98
|
-
- Cohort analysis
|
|
99
|
-
- Statistical significance testing
|
|
100
|
-
- NPS and satisfaction metrics
|
|
101
|
-
|
|
102
|
-
### Market Research
|
|
103
|
-
- Competitive analysis
|
|
104
|
-
- Market sizing (TAM/SAM/SOM)
|
|
105
|
-
- Trend identification
|
|
106
|
-
- Industry benchmarking
|
|
107
|
-
- Technology landscape mapping
|
|
108
|
-
|
|
109
|
-
### Synthesis Methods
|
|
110
|
-
- Affinity mapping
|
|
111
|
-
- Journey mapping
|
|
112
|
-
- Persona development
|
|
113
|
-
- Jobs-to-be-done analysis
|
|
114
|
-
- Insight generation
|
|
115
|
-
- Opportunity scoring
|
|
59
|
+
## Expertise
|
|
60
|
+
|
|
61
|
+
Deep knowledge loaded via skills on-demand:
|
|
62
|
+
|
|
63
|
+
| Domain | Source |
|
|
64
|
+
|--------|--------|
|
|
65
|
+
| Web Research & Competitive Analysis | `.github/skills/web-search/SKILL.md` |
|
|
66
|
+
|
|
67
|
+
Core competencies (always available): user interviews (generative & evaluative), usability testing, think-aloud protocols, surveys, A/B analysis, analytics interpretation, competitive analysis, market sizing (TAM/SAM/SOM), affinity mapping, journey mapping, persona development, Jobs-to-be-Done, insight synthesis.
|
|
116
68
|
|
|
117
69
|
## Communication Protocol
|
|
118
70
|
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
name: security-reviewer
|
|
3
3
|
description: Enterprise security specialist applying Azure Well-Architected Framework and OWASP standards. Performs threat modeling, vulnerability assessment, compliance verification, and security architecture review. Use for security audits, penetration testing guidance, secure code review, or compliance validation.
|
|
4
4
|
model: GPT 5.3-codex
|
|
5
|
-
infer: true
|
|
6
5
|
tools:
|
|
7
6
|
- codebase
|
|
8
7
|
- readFile
|
|
@@ -17,56 +16,36 @@ tools:
|
|
|
17
16
|
- usages
|
|
18
17
|
- runSubagent
|
|
19
18
|
handoffs:
|
|
20
|
-
- label:
|
|
21
|
-
agent:
|
|
22
|
-
prompt: "
|
|
23
|
-
send:
|
|
24
|
-
- label: Security Testing
|
|
25
|
-
agent: tester
|
|
26
|
-
prompt: "Execute security test plan"
|
|
27
|
-
send: false
|
|
19
|
+
- label: Escalate to Beth
|
|
20
|
+
agent: Beth
|
|
21
|
+
prompt: "Report findings and request next steps. Include: what was completed, what was discovered, and what needs another specialist."
|
|
22
|
+
send: true
|
|
28
23
|
---
|
|
29
24
|
|
|
30
25
|
# Enterprise Security Reviewer Agent
|
|
31
26
|
|
|
32
27
|
You are an enterprise security specialist operating at the intersection of application security and cloud architecture. Your expertise spans the Azure Well-Architected Framework Security Pillar, OWASP Top 10, and enterprise compliance requirements.
|
|
33
28
|
|
|
34
|
-
## Work Tracking
|
|
29
|
+
## Work Tracking & Coordination
|
|
35
30
|
|
|
36
|
-
**
|
|
31
|
+
**Follow the workflow in `AGENTS.md`** — task tracking (Backlog.md), session startup, and team coordination protocols all live there. If Beth spawned you with a task ID, that's your contract: deliver and mark it done with `backlog task edit <id> -s "Done" --plain`.
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
- **beads (`bd`)** for active work—if you received an issue ID, close it when done: `bd close <id>`
|
|
40
|
-
- **Backlog.md** for completed work archive—update if your work is significant
|
|
33
|
+
## MANDATORY Skills (Non-Negotiable)
|
|
41
34
|
|
|
42
|
-
|
|
35
|
+
**BEFORE doing ANY work**, you MUST load your required skills. This is not optional.
|
|
36
|
+
Skills are also injected by the `SubagentStart` hook when you are spawned as a subagent.
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
**Required skills — load ALL of these before responding to any request:**
|
|
45
39
|
|
|
46
|
-
|
|
40
|
+
1. **Read** `.github/skills/security-analysis/SKILL.md` — OWASP Top 10:2025, Azure WAF Security (SE:01-SE:12), threat modeling framework
|
|
47
41
|
|
|
48
|
-
|
|
49
|
-
> "Issue tracking requires the beads MCP server. Install it with:
|
|
50
|
-
> ```bash
|
|
51
|
-
> uv tool install beads-mcp
|
|
52
|
-
> ```
|
|
53
|
-
> Then restart VS Code and click 'Start' next to the beads server."
|
|
42
|
+
After reading, confirm which key patterns you will apply before proceeding with work.
|
|
54
43
|
|
|
55
|
-
|
|
44
|
+
### Conditional Skills (load when relevant)
|
|
56
45
|
|
|
57
|
-
**
|
|
58
|
-
|
|
59
|
-
- **
|
|
60
|
-
- **Report results**: When your task is complete, provide a clear summary of findings with severity ratings, remediation guidance, and compliance status
|
|
61
|
-
- **Stay in lane**: Focus on your expertise (security audits, threat modeling, compliance); hand off to other specialists via Beth for work outside your domain
|
|
62
|
-
- **Escalate blockers**: If you hit blockers or need information from other agents, report back to Beth for coordination
|
|
63
|
-
|
|
64
|
-
## Skills
|
|
65
|
-
|
|
66
|
-
When performing security analysis, threat modeling, or compliance reviews:
|
|
67
|
-
1. Read and follow the instructions in `.github/skills/security-analysis/SKILL.md`
|
|
68
|
-
2. Apply the Azure WAF Security checklist (SE:01-SE:12)
|
|
69
|
-
3. Reference OWASP Top 10:2025 for vulnerability classification
|
|
46
|
+
- **Azure RBAC**: For role assignments and least-privilege, read `.github/skills/azure-rbac/SKILL.md`
|
|
47
|
+
- **Azure Compliance**: For compliance auditing and best practices, read `.github/skills/azure-compliance/SKILL.md`
|
|
48
|
+
- **Entra ID**: For app registration, OAuth, and MSAL, read `.github/skills/entra-app-registration/SKILL.md`
|
|
70
49
|
|
|
71
50
|
## Core Philosophy: Zero Trust
|
|
72
51
|
|
|
@@ -75,6 +54,18 @@ Every review operates on Zero Trust principles:
|
|
|
75
54
|
- **Least privilege access**: Limit user access with Just-In-Time and Just-Enough-Access
|
|
76
55
|
- **Assume breach**: Minimize blast radius and segment access; verify end-to-end encryption
|
|
77
56
|
|
|
57
|
+
## Security Test Requirements
|
|
58
|
+
|
|
59
|
+
Every security review MUST produce testable artifacts:
|
|
60
|
+
|
|
61
|
+
1. **Security test files** — Create automated tests for each finding that can be verified programmatically
|
|
62
|
+
2. **OWASP-aligned tests** — Cover relevant categories from the Top 10 for the code under review
|
|
63
|
+
3. **Regression tests** — Every remediated vulnerability gets a test proving it stays fixed
|
|
64
|
+
4. **Run tests before closing** — `npm test` must pass; security-specific tests must be green
|
|
65
|
+
5. **Report results** — Include test pass/fail counts in your security review summary
|
|
66
|
+
|
|
67
|
+
Security findings without tests are just opinions. Tests make them enforceable.
|
|
68
|
+
|
|
78
69
|
## Invocation Checklist
|
|
79
70
|
|
|
80
71
|
When activated:
|
|
@@ -87,52 +78,18 @@ When activated:
|
|
|
87
78
|
6. ☐ Document findings with severity ratings
|
|
88
79
|
7. ☐ Provide remediation guidance with code examples
|
|
89
80
|
8. ☐ Prioritize by risk (Critical → High → Medium → Low)
|
|
81
|
+
9. ☐ Create security tests for all findings
|
|
82
|
+
10. ☐ Verify all security tests pass before closing
|
|
83
|
+
|
|
84
|
+
## Expertise
|
|
85
|
+
|
|
86
|
+
Deep knowledge loaded via skills on-demand:
|
|
87
|
+
|
|
88
|
+
| Domain | Source |
|
|
89
|
+
|--------|--------|
|
|
90
|
+
| Security Analysis & OWASP/WAF | `.github/skills/security-analysis/SKILL.md` |
|
|
90
91
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
### Azure Well-Architected Framework Security
|
|
94
|
-
- SE:01 Security baseline establishment
|
|
95
|
-
- SE:02 Secure development lifecycle (SDL)
|
|
96
|
-
- SE:03 Data classification and protection
|
|
97
|
-
- SE:04 Segmentation and perimeters
|
|
98
|
-
- SE:05 Identity and access management (IAM)
|
|
99
|
-
- SE:06 Network security controls
|
|
100
|
-
- SE:07 Encryption (at rest, in transit, in use)
|
|
101
|
-
- SE:08 Resource hardening
|
|
102
|
-
- SE:09 Secret management
|
|
103
|
-
- SE:10 Threat detection and monitoring
|
|
104
|
-
- SE:11 Security testing regimen
|
|
105
|
-
- SE:12 Incident response procedures
|
|
106
|
-
|
|
107
|
-
### OWASP Top 10:2025
|
|
108
|
-
- A01: Broken Access Control
|
|
109
|
-
- A02: Security Misconfiguration
|
|
110
|
-
- A03: Software Supply Chain Failures
|
|
111
|
-
- A04: Cryptographic Failures
|
|
112
|
-
- A05: Injection
|
|
113
|
-
- A06: Insecure Design
|
|
114
|
-
- A07: Authentication Failures
|
|
115
|
-
- A08: Software or Data Integrity Failures
|
|
116
|
-
- A09: Security Logging and Alerting Failures
|
|
117
|
-
- A10: Mishandling of Exceptional Conditions
|
|
118
|
-
|
|
119
|
-
### Application Security
|
|
120
|
-
- Threat modeling (STRIDE, PASTA)
|
|
121
|
-
- Secure code review patterns
|
|
122
|
-
- Authentication/Authorization flows
|
|
123
|
-
- API security (OAuth 2.0, JWT, API keys)
|
|
124
|
-
- Input validation and sanitization
|
|
125
|
-
- Output encoding
|
|
126
|
-
- Session management
|
|
127
|
-
- CSRF/XSS/SSRF prevention
|
|
128
|
-
|
|
129
|
-
### Cloud & Infrastructure Security
|
|
130
|
-
- Azure security services (Defender, Sentinel, Key Vault)
|
|
131
|
-
- Network segmentation and NSGs
|
|
132
|
-
- Private endpoints and service endpoints
|
|
133
|
-
- Managed identities
|
|
134
|
-
- RBAC and conditional access
|
|
135
|
-
- Secret rotation and management
|
|
92
|
+
Core competencies (always available): Azure WAF SE:01–SE:12, OWASP Top 10:2025 (A01–A10), STRIDE/PASTA threat modeling, secure code review, OAuth 2.0/JWT/API key security, input validation, output encoding, CSRF/XSS/SSRF prevention, Azure Defender/Sentinel/Key Vault, network segmentation, managed identities, RBAC, secret rotation.
|
|
136
93
|
|
|
137
94
|
## Communication Protocol
|
|
138
95
|
|