@arthai/agents 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -0
- package/VERSION +1 -0
- package/agents/ai-consultant.md +999 -0
- package/agents/architect.md +174 -0
- package/agents/code-reviewer.md +115 -0
- package/agents/competitive-analyst.md +688 -0
- package/agents/content-strategist.md +607 -0
- package/agents/design-studio-create.md +304 -0
- package/agents/design-studio-critique.md +258 -0
- package/agents/design-studio-think.md +79 -0
- package/agents/domain-hunter.md +519 -0
- package/agents/explore-light.md +52 -0
- package/agents/frontend.md +261 -0
- package/agents/gtm-expert.md +811 -0
- package/agents/meeting-prep.md +318 -0
- package/agents/ops.md +149 -0
- package/agents/product-manager.md +563 -0
- package/agents/python-backend.md +286 -0
- package/agents/qa-baseline-updater.md +45 -0
- package/agents/qa-challenger.md +97 -0
- package/agents/qa-domain.md +145 -0
- package/agents/qa-e2e.md +184 -0
- package/agents/qa-test-promoter.md +97 -0
- package/agents/qa.md +226 -0
- package/agents/setup.md +134 -0
- package/agents/sre.md +165 -0
- package/agents/stakeholder-reporter.md +94 -0
- package/agents/user-researcher.md +602 -0
- package/bin/cli.js +322 -0
- package/bundles/canvas.json +16 -0
- package/bundles/compass.json +16 -0
- package/bundles/counsel.json +31 -0
- package/bundles/cruise.json +11 -0
- package/bundles/forge.json +26 -0
- package/bundles/prime.json +10 -0
- package/bundles/prism.json +23 -0
- package/bundles/scalpel.json +17 -0
- package/bundles/sentinel.json +19 -0
- package/bundles/shield.json +14 -0
- package/bundles/spark.json +19 -0
- package/compiler.sh +305 -0
- package/dist/plugins/canvas/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/canvas/agents/design-studio-create.md +304 -0
- package/dist/plugins/canvas/agents/design-studio-critique.md +258 -0
- package/dist/plugins/canvas/agents/design-studio-think.md +79 -0
- package/dist/plugins/canvas/agents/frontend.md +261 -0
- package/dist/plugins/canvas/skills/planning/SKILL.md +436 -0
- package/dist/plugins/compass/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/compass/agents/content-strategist.md +607 -0
- package/dist/plugins/compass/agents/gtm-expert.md +811 -0
- package/dist/plugins/compass/agents/product-manager.md +563 -0
- package/dist/plugins/compass/agents/user-researcher.md +602 -0
- package/dist/plugins/compass/skills/planning/SKILL.md +436 -0
- package/dist/plugins/counsel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/counsel/agents/ai-consultant.md +999 -0
- package/dist/plugins/counsel/agents/competitive-analyst.md +688 -0
- package/dist/plugins/counsel/agents/meeting-prep.md +318 -0
- package/dist/plugins/counsel/agents/stakeholder-reporter.md +94 -0
- package/dist/plugins/counsel/hooks/check-deliverable.sh +65 -0
- package/dist/plugins/counsel/hooks/ensure-client-dir.sh +59 -0
- package/dist/plugins/counsel/hooks/hooks.json +28 -0
- package/dist/plugins/counsel/skills/client-discovery/SKILL.md +266 -0
- package/dist/plugins/counsel/skills/consulting/SKILL.md +282 -0
- package/dist/plugins/counsel/skills/deliverable-builder/SKILL.md +928 -0
- package/dist/plugins/counsel/skills/engagement-tracker/SKILL.md +380 -0
- package/dist/plugins/counsel/skills/market-research/SKILL.md +300 -0
- package/dist/plugins/counsel/skills/opportunity-map/SKILL.md +307 -0
- package/dist/plugins/counsel/skills/pitch-generator/SKILL.md +378 -0
- package/dist/plugins/counsel/skills/roi-calculator/SKILL.md +469 -0
- package/dist/plugins/counsel/skills/share/SKILL.md +211 -0
- package/dist/plugins/counsel/skills/solution-architect/SKILL.md +566 -0
- package/dist/plugins/counsel/skills/templates/SKILL.md +194 -0
- package/dist/plugins/counsel/skills/welcome/SKILL.md +136 -0
- package/dist/plugins/counsel/skills/wizard/SKILL.md +411 -0
- package/dist/plugins/cruise/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/cruise/skills/autopilot/SKILL.md +425 -0
- package/dist/plugins/forge/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/forge/agents/architect.md +174 -0
- package/dist/plugins/forge/agents/code-reviewer.md +115 -0
- package/dist/plugins/forge/agents/frontend.md +261 -0
- package/dist/plugins/forge/agents/product-manager.md +563 -0
- package/dist/plugins/forge/agents/python-backend.md +286 -0
- package/dist/plugins/forge/agents/qa.md +226 -0
- package/dist/plugins/forge/hooks/hooks.json +28 -0
- package/dist/plugins/forge/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/forge/hooks/triage-router.sh +740 -0
- package/dist/plugins/forge/skills/implement/SKILL.md +532 -0
- package/dist/plugins/forge/skills/planning/SKILL.md +436 -0
- package/dist/plugins/forge/skills/pr/SKILL.md +275 -0
- package/dist/plugins/forge/skills/precheck/SKILL.md +159 -0
- package/dist/plugins/forge/skills/qa/SKILL.md +127 -0
- package/dist/plugins/forge/skills/review-pr/SKILL.md +367 -0
- package/dist/plugins/prime/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/prime/agents/ai-consultant.md +999 -0
- package/dist/plugins/prime/agents/architect.md +174 -0
- package/dist/plugins/prime/agents/code-reviewer.md +115 -0
- package/dist/plugins/prime/agents/competitive-analyst.md +688 -0
- package/dist/plugins/prime/agents/content-strategist.md +607 -0
- package/dist/plugins/prime/agents/design-studio-create.md +304 -0
- package/dist/plugins/prime/agents/design-studio-critique.md +258 -0
- package/dist/plugins/prime/agents/design-studio-think.md +79 -0
- package/dist/plugins/prime/agents/explore-light.md +52 -0
- package/dist/plugins/prime/agents/frontend.md +261 -0
- package/dist/plugins/prime/agents/gtm-expert.md +811 -0
- package/dist/plugins/prime/agents/meeting-prep.md +318 -0
- package/dist/plugins/prime/agents/ops.md +149 -0
- package/dist/plugins/prime/agents/product-manager.md +563 -0
- package/dist/plugins/prime/agents/python-backend.md +286 -0
- package/dist/plugins/prime/agents/qa-baseline-updater.md +45 -0
- package/dist/plugins/prime/agents/qa-challenger.md +97 -0
- package/dist/plugins/prime/agents/qa-domain.md +145 -0
- package/dist/plugins/prime/agents/qa-e2e.md +184 -0
- package/dist/plugins/prime/agents/qa-test-promoter.md +97 -0
- package/dist/plugins/prime/agents/qa.md +226 -0
- package/dist/plugins/prime/agents/setup.md +134 -0
- package/dist/plugins/prime/agents/sre.md +165 -0
- package/dist/plugins/prime/agents/stakeholder-reporter.md +94 -0
- package/dist/plugins/prime/agents/user-researcher.md +602 -0
- package/dist/plugins/prime/hooks/check-deliverable.sh +65 -0
- package/dist/plugins/prime/hooks/ensure-client-dir.sh +59 -0
- package/dist/plugins/prime/hooks/hooks.json +184 -0
- package/dist/plugins/prime/hooks/post-deploy-health.sh +83 -0
- package/dist/plugins/prime/hooks/post-diff-test-compare.sh +125 -0
- package/dist/plugins/prime/hooks/post-edit-lint.sh +92 -0
- package/dist/plugins/prime/hooks/post-git-state.sh +54 -0
- package/dist/plugins/prime/hooks/post-merge-cleanup.sh +101 -0
- package/dist/plugins/prime/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/prime/hooks/pre-bash-guard.sh +142 -0
- package/dist/plugins/prime/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/prime/hooks/pre-task-context.sh +113 -0
- package/dist/plugins/prime/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/prime/hooks/session-end.sh +107 -0
- package/dist/plugins/prime/hooks/session-summary.sh +97 -0
- package/dist/plugins/prime/hooks/sync-agents.sh +269 -0
- package/dist/plugins/prime/hooks/triage-router.sh +740 -0
- package/dist/plugins/prime/skills/arth/SKILL.md +165 -0
- package/dist/plugins/prime/skills/autopilot/SKILL.md +425 -0
- package/dist/plugins/prime/skills/calibrate/SKILL.md +1807 -0
- package/dist/plugins/prime/skills/ci-fix/SKILL.md +293 -0
- package/dist/plugins/prime/skills/client-discovery/SKILL.md +266 -0
- package/dist/plugins/prime/skills/consulting/SKILL.md +282 -0
- package/dist/plugins/prime/skills/custom-domain/SKILL.md +261 -0
- package/dist/plugins/prime/skills/deliverable-builder/SKILL.md +928 -0
- package/dist/plugins/prime/skills/discord-ops/SKILL.md +125 -0
- package/dist/plugins/prime/skills/engagement-tracker/SKILL.md +380 -0
- package/dist/plugins/prime/skills/explore.md +43 -0
- package/dist/plugins/prime/skills/fix/SKILL.md +1058 -0
- package/dist/plugins/prime/skills/implement/SKILL.md +532 -0
- package/dist/plugins/prime/skills/incident/SKILL.md +910 -0
- package/dist/plugins/prime/skills/issue/SKILL.md +134 -0
- package/dist/plugins/prime/skills/market-research/SKILL.md +300 -0
- package/dist/plugins/prime/skills/onboard/SKILL.md +344 -0
- package/dist/plugins/prime/skills/opportunity-map/SKILL.md +307 -0
- package/dist/plugins/prime/skills/pitch-generator/SKILL.md +378 -0
- package/dist/plugins/prime/skills/planning/SKILL.md +436 -0
- package/dist/plugins/prime/skills/pr/SKILL.md +275 -0
- package/dist/plugins/prime/skills/precheck/SKILL.md +159 -0
- package/dist/plugins/prime/skills/qa/SKILL.md +127 -0
- package/dist/plugins/prime/skills/qa-incident/SKILL.md +54 -0
- package/dist/plugins/prime/skills/qa-learn/SKILL.md +47 -0
- package/dist/plugins/prime/skills/restart/SKILL.md +70 -0
- package/dist/plugins/prime/skills/review-pr/SKILL.md +367 -0
- package/dist/plugins/prime/skills/roi-calculator/SKILL.md +469 -0
- package/dist/plugins/prime/skills/scan/SKILL.md +232 -0
- package/dist/plugins/prime/skills/setup/SKILL.md +691 -0
- package/dist/plugins/prime/skills/share/SKILL.md +211 -0
- package/dist/plugins/prime/skills/solution-architect/SKILL.md +566 -0
- package/dist/plugins/prime/skills/sre/SKILL.md +362 -0
- package/dist/plugins/prime/skills/sync/SKILL.md +188 -0
- package/dist/plugins/prime/skills/templates/SKILL.md +194 -0
- package/dist/plugins/prime/skills/welcome/SKILL.md +136 -0
- package/dist/plugins/prime/skills/wizard/SKILL.md +411 -0
- package/dist/plugins/prism/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/prism/agents/qa-baseline-updater.md +45 -0
- package/dist/plugins/prism/agents/qa-challenger.md +97 -0
- package/dist/plugins/prism/agents/qa-domain.md +145 -0
- package/dist/plugins/prism/agents/qa-e2e.md +184 -0
- package/dist/plugins/prism/agents/qa-test-promoter.md +97 -0
- package/dist/plugins/prism/agents/qa.md +226 -0
- package/dist/plugins/prism/hooks/hooks.json +26 -0
- package/dist/plugins/prism/hooks/post-diff-test-compare.sh +125 -0
- package/dist/plugins/prism/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/prism/skills/qa/SKILL.md +127 -0
- package/dist/plugins/prism/skills/qa-incident/SKILL.md +54 -0
- package/dist/plugins/prism/skills/qa-learn/SKILL.md +47 -0
- package/dist/plugins/scalpel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/scalpel/agents/code-reviewer.md +115 -0
- package/dist/plugins/scalpel/hooks/hooks.json +26 -0
- package/dist/plugins/scalpel/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/scalpel/skills/ci-fix/SKILL.md +293 -0
- package/dist/plugins/scalpel/skills/fix/SKILL.md +1058 -0
- package/dist/plugins/scalpel/skills/issue/SKILL.md +134 -0
- package/dist/plugins/sentinel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/sentinel/agents/ops.md +149 -0
- package/dist/plugins/sentinel/agents/sre.md +165 -0
- package/dist/plugins/sentinel/hooks/hooks.json +26 -0
- package/dist/plugins/sentinel/hooks/post-deploy-health.sh +83 -0
- package/dist/plugins/sentinel/hooks/post-git-state.sh +54 -0
- package/dist/plugins/sentinel/skills/incident/SKILL.md +910 -0
- package/dist/plugins/sentinel/skills/restart/SKILL.md +70 -0
- package/dist/plugins/sentinel/skills/sre/SKILL.md +362 -0
- package/dist/plugins/shield/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/shield/hooks/hooks.json +60 -0
- package/dist/plugins/shield/hooks/pre-bash-guard.sh +142 -0
- package/dist/plugins/shield/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/shield/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/shield/hooks/triage-router.sh +740 -0
- package/dist/plugins/spark/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/spark/agents/explore-light.md +52 -0
- package/dist/plugins/spark/agents/setup.md +134 -0
- package/dist/plugins/spark/hooks/hooks.json +16 -0
- package/dist/plugins/spark/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/spark/skills/calibrate/SKILL.md +1807 -0
- package/dist/plugins/spark/skills/onboard/SKILL.md +344 -0
- package/dist/plugins/spark/skills/scan/SKILL.md +232 -0
- package/dist/plugins/spark/skills/setup/SKILL.md +691 -0
- package/hook-defs.json +104 -0
- package/hooks/check-deliverable.sh +65 -0
- package/hooks/ensure-client-dir.sh +59 -0
- package/hooks/hooks.json +16 -0
- package/hooks/post-deploy-health.sh +83 -0
- package/hooks/post-diff-test-compare.sh +125 -0
- package/hooks/post-edit-lint.sh +92 -0
- package/hooks/post-git-state.sh +54 -0
- package/hooks/post-merge-cleanup.sh +101 -0
- package/hooks/post-test-summary.sh +115 -0
- package/hooks/pre-bash-guard.sh +142 -0
- package/hooks/pre-edit-guard.sh +121 -0
- package/hooks/pre-task-context.sh +113 -0
- package/hooks/session-bootstrap.sh +379 -0
- package/hooks/session-end.sh +107 -0
- package/hooks/session-start.sh +46 -0
- package/hooks/session-summary.sh +97 -0
- package/hooks/sync-agents.sh +269 -0
- package/hooks/triage-router.sh +740 -0
- package/install.sh +3185 -0
- package/package.json +40 -0
- package/portable.manifest +112 -0
- package/skills/arth/SKILL.md +165 -0
- package/skills/autopilot/SKILL.md +425 -0
- package/skills/calibrate/SKILL.md +1807 -0
- package/skills/ci-fix/SKILL.md +293 -0
- package/skills/client-discovery/SKILL.md +266 -0
- package/skills/consulting/SKILL.md +282 -0
- package/skills/continue/SKILL.md +174 -0
- package/skills/custom-domain/SKILL.md +261 -0
- package/skills/deliverable-builder/SKILL.md +928 -0
- package/skills/discord-ops/SKILL.md +125 -0
- package/skills/engagement-tracker/SKILL.md +380 -0
- package/skills/explore.md +43 -0
- package/skills/fix/SKILL.md +1058 -0
- package/skills/implement/SKILL.md +532 -0
- package/skills/incident/SKILL.md +910 -0
- package/skills/issue/SKILL.md +134 -0
- package/skills/market-research/SKILL.md +300 -0
- package/skills/onboard/SKILL.md +344 -0
- package/skills/opportunity-map/SKILL.md +307 -0
- package/skills/pitch-generator/SKILL.md +378 -0
- package/skills/planning/SKILL.md +436 -0
- package/skills/pr/SKILL.md +275 -0
- package/skills/precheck/SKILL.md +159 -0
- package/skills/qa/SKILL.md +127 -0
- package/skills/qa-incident/SKILL.md +54 -0
- package/skills/qa-learn/SKILL.md +47 -0
- package/skills/railway/central-station/SKILL.md +226 -0
- package/skills/railway/central-station/references/environment-config.md +183 -0
- package/skills/railway/central-station/references/monorepo.md +216 -0
- package/skills/railway/central-station/references/railpack.md +257 -0
- package/skills/railway/central-station/references/variables.md +170 -0
- package/skills/railway/database/SKILL.md +284 -0
- package/skills/railway/database/references/environment-config.md +183 -0
- package/skills/railway/database/references/monorepo.md +216 -0
- package/skills/railway/database/references/railpack.md +257 -0
- package/skills/railway/database/references/variables.md +170 -0
- package/skills/railway/database/scripts/railway-api.sh +41 -0
- package/skills/railway/deploy/SKILL.md +128 -0
- package/skills/railway/deploy/references/environment-config.md +183 -0
- package/skills/railway/deploy/references/monorepo.md +216 -0
- package/skills/railway/deploy/references/railpack.md +257 -0
- package/skills/railway/deploy/references/variables.md +170 -0
- package/skills/railway/deployment/SKILL.md +222 -0
- package/skills/railway/deployment/references/environment-config.md +183 -0
- package/skills/railway/deployment/references/monorepo.md +216 -0
- package/skills/railway/deployment/references/railpack.md +257 -0
- package/skills/railway/deployment/references/variables.md +170 -0
- package/skills/railway/domain/SKILL.md +137 -0
- package/skills/railway/domain/references/environment-config.md +183 -0
- package/skills/railway/domain/references/monorepo.md +216 -0
- package/skills/railway/domain/references/railpack.md +257 -0
- package/skills/railway/domain/references/variables.md +170 -0
- package/skills/railway/environment/SKILL.md +266 -0
- package/skills/railway/environment/references/environment-config.md +183 -0
- package/skills/railway/environment/references/monorepo.md +216 -0
- package/skills/railway/environment/references/railpack.md +257 -0
- package/skills/railway/environment/references/variables.md +170 -0
- package/skills/railway/metrics/SKILL.md +211 -0
- package/skills/railway/metrics/references/environment-config.md +183 -0
- package/skills/railway/metrics/references/monorepo.md +216 -0
- package/skills/railway/metrics/references/railpack.md +257 -0
- package/skills/railway/metrics/references/variables.md +170 -0
- package/skills/railway/metrics/scripts/railway-api.sh +41 -0
- package/skills/railway/new/SKILL.md +489 -0
- package/skills/railway/new/references/environment-config.md +183 -0
- package/skills/railway/new/references/monorepo.md +216 -0
- package/skills/railway/new/references/railpack.md +257 -0
- package/skills/railway/new/references/variables.md +170 -0
- package/skills/railway/projects/SKILL.md +142 -0
- package/skills/railway/projects/references/environment-config.md +183 -0
- package/skills/railway/projects/references/monorepo.md +216 -0
- package/skills/railway/projects/references/railpack.md +257 -0
- package/skills/railway/projects/references/variables.md +170 -0
- package/skills/railway/projects/scripts/railway-api.sh +41 -0
- package/skills/railway/railway-docs/SKILL.md +47 -0
- package/skills/railway/railway-docs/references/environment-config.md +183 -0
- package/skills/railway/railway-docs/references/monorepo.md +216 -0
- package/skills/railway/railway-docs/references/railpack.md +257 -0
- package/skills/railway/railway-docs/references/variables.md +170 -0
- package/skills/railway/service/SKILL.md +249 -0
- package/skills/railway/service/references/environment-config.md +183 -0
- package/skills/railway/service/references/monorepo.md +216 -0
- package/skills/railway/service/references/railpack.md +257 -0
- package/skills/railway/service/references/variables.md +170 -0
- package/skills/railway/service/scripts/railway-api.sh +41 -0
- package/skills/railway/status/SKILL.md +91 -0
- package/skills/railway/status/references/environment-config.md +183 -0
- package/skills/railway/status/references/monorepo.md +216 -0
- package/skills/railway/status/references/railpack.md +257 -0
- package/skills/railway/status/references/variables.md +170 -0
- package/skills/railway/templates/SKILL.md +275 -0
- package/skills/railway/templates/references/environment-config.md +183 -0
- package/skills/railway/templates/references/monorepo.md +216 -0
- package/skills/railway/templates/references/railpack.md +257 -0
- package/skills/railway/templates/references/variables.md +170 -0
- package/skills/railway/templates/scripts/railway-api.sh +41 -0
- package/skills/restart/SKILL.md +70 -0
- package/skills/review-pr/SKILL.md +367 -0
- package/skills/roi-calculator/SKILL.md +469 -0
- package/skills/scan/SKILL.md +232 -0
- package/skills/setup/SKILL.md +691 -0
- package/skills/share/SKILL.md +211 -0
- package/skills/solution-architect/SKILL.md +566 -0
- package/skills/sre/SKILL.md +362 -0
- package/skills/superpowers/brainstorming/SKILL.md +96 -0
- package/skills/superpowers/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/superpowers/executing-plans/SKILL.md +84 -0
- package/skills/superpowers/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/superpowers/receiving-code-review/SKILL.md +213 -0
- package/skills/superpowers/requesting-code-review/SKILL.md +105 -0
- package/skills/superpowers/requesting-code-review/code-reviewer.md +146 -0
- package/skills/superpowers/subagent-driven-development/SKILL.md +242 -0
- package/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/skills/superpowers/subagent-driven-development/implementer-prompt.md +78 -0
- package/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/superpowers/systematic-debugging/SKILL.md +296 -0
- package/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/superpowers/systematic-debugging/test-academic.md +14 -0
- package/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/superpowers/test-driven-development/SKILL.md +371 -0
- package/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/superpowers/using-git-worktrees/SKILL.md +218 -0
- package/skills/superpowers/using-superpowers/SKILL.md +95 -0
- package/skills/superpowers/verification-before-completion/SKILL.md +139 -0
- package/skills/superpowers/writing-plans/SKILL.md +116 -0
- package/skills/superpowers/writing-skills/SKILL.md +655 -0
- package/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/skills/superpowers/writing-skills/render-graphs.js +168 -0
- package/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/sync/SKILL.md +188 -0
- package/skills/templates/SKILL.md +194 -0
- package/skills/welcome/SKILL.md +136 -0
- package/skills/wizard/SKILL.md +411 -0
- package/templates/CLAUDE.md.managed-block +123 -0
- package/templates/CLAUDE.md.template +111 -0
- package/templates/consulting/engagement-tracker-template.md +181 -0
- package/templates/consulting/executive-summary-template.md +83 -0
- package/templates/consulting/maturity-assessment-template.md +182 -0
- package/templates/consulting/proposal-template.md +209 -0
- package/templates/consulting/roi-model-template.md +139 -0
- package/templates/consulting/solution-architecture-template.md +313 -0
- package/templates/settings.json +130 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arth
|
|
3
|
+
description: "Manage Arth services (engine, dashboard, DB) and register projects. Usage: /arth [restart|add|status|fix]"
|
|
4
|
+
user-invocable: true
|
|
5
|
+
arguments: "<command>"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Arth Operations Skill
|
|
9
|
+
|
|
10
|
+
Manage the Arth AI Development Orchestrator — its services, projects, and common failure recovery.
|
|
11
|
+
|
|
12
|
+
## Arth Architecture
|
|
13
|
+
|
|
14
|
+
Arth runs 3 services locally:
|
|
15
|
+
|
|
16
|
+
| Service | Port | Process | Purpose |
|
|
17
|
+
|---------|------|---------|---------|
|
|
18
|
+
| PostgreSQL | 5433 | Docker (`arth-db`) | Project data, sessions, scores |
|
|
19
|
+
| Engine | — | Node MCP server | Auto-ingests session logs every 60s |
|
|
20
|
+
| Dashboard | 3333 | Next.js dev server | Web UI at http://localhost:3333 |
|
|
21
|
+
|
|
22
|
+
Config file: `~/.arth/config.json`
|
|
23
|
+
PID file: `~/.arth/arth.pid`
|
|
24
|
+
Toolkit: `~/.claude-agents/`
|
|
25
|
+
|
|
26
|
+
## Commands
|
|
27
|
+
|
|
28
|
+
### `/arth restart` — Full restart of all services
|
|
29
|
+
|
|
30
|
+
This is the correct restart procedure. The key insight: `arth stop` only kills PIDs
|
|
31
|
+
from its PID file. **Orphan processes from crashed sessions can squat on ports**,
|
|
32
|
+
causing the dashboard to serve stale data or fail to start. Always kill by port first.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Step 1: Stop arth (kills tracked PIDs)
|
|
36
|
+
arth stop
|
|
37
|
+
|
|
38
|
+
# Step 2: Kill ANY orphan processes on arth ports (critical — arth stop misses these)
|
|
39
|
+
lsof -ti:3333 | xargs kill -9 2>/dev/null # Dashboard port
|
|
40
|
+
# Do NOT kill port 5433 — that's the Docker postgres container
|
|
41
|
+
|
|
42
|
+
# Step 3: Verify ports are clear
|
|
43
|
+
sleep 1
|
|
44
|
+
lsof -i :3333 | grep LISTEN # Should return nothing
|
|
45
|
+
|
|
46
|
+
# Step 4: Verify Docker DB is running
|
|
47
|
+
docker ps --filter "name=arth-db" --format '{{.Names}} {{.Status}}'
|
|
48
|
+
# If not running:
|
|
49
|
+
# cd ~/arth && docker compose up -d
|
|
50
|
+
|
|
51
|
+
# Step 5: Start fresh
|
|
52
|
+
arth start
|
|
53
|
+
|
|
54
|
+
# Step 6: Verify all 3 services
|
|
55
|
+
arth status
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
After restart, open http://localhost:3333 and verify all projects appear.
|
|
59
|
+
|
|
60
|
+
### `/arth add` — Register a new project
|
|
61
|
+
|
|
62
|
+
The correct and only way to register a project with Arth:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Step 1: cd into the project root (must be a git repo)
|
|
66
|
+
cd /path/to/project
|
|
67
|
+
|
|
68
|
+
# Step 2: Install claude-agents toolkit first (if not already installed)
|
|
69
|
+
# For a fresh/greenfield project:
|
|
70
|
+
~/.claude-agents/install.sh --init .
|
|
71
|
+
|
|
72
|
+
# For an existing project with .claude/ already set up:
|
|
73
|
+
~/.claude-agents/install.sh .
|
|
74
|
+
|
|
75
|
+
# Step 3: Register with Arth (this also re-syncs toolkit)
|
|
76
|
+
arth add .
|
|
77
|
+
|
|
78
|
+
# Step 4: Verify
|
|
79
|
+
arth status
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**What `arth add .` does:**
|
|
83
|
+
1. Detects git remote from `.git/config`
|
|
84
|
+
2. Creates `.arth.json` in the project root (config file with gates, tools, mode)
|
|
85
|
+
3. Runs `install.sh` to sync toolkit symlinks
|
|
86
|
+
4. Inserts project record into the Arth PostgreSQL database
|
|
87
|
+
5. Project appears on dashboard after next page load
|
|
88
|
+
|
|
89
|
+
**Common mistakes (do NOT do these):**
|
|
90
|
+
- `arth init` — does not exist
|
|
91
|
+
- `arth setup .` — different command (full one-shot setup including multi-engine translation)
|
|
92
|
+
- `arth register` — does not exist
|
|
93
|
+
- Running `arth add` without installing claude-agents toolkit first
|
|
94
|
+
|
|
95
|
+
### `/arth status` — Check everything
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
arth status
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Shows: DB status, engine status, dashboard status, all registered projects with health.
|
|
102
|
+
|
|
103
|
+
### `/arth fix` — Diagnose and fix common issues
|
|
104
|
+
|
|
105
|
+
Run these checks in order:
|
|
106
|
+
|
|
107
|
+
**1. Dashboard shows wrong project count or stale data:**
|
|
108
|
+
- Root cause: Orphan `next start` or `next dev` process on port 3333 from a previous session
|
|
109
|
+
- Fix: `/arth restart` (the full procedure above)
|
|
110
|
+
|
|
111
|
+
**2. Dashboard not accessible at localhost:3333:**
|
|
112
|
+
```bash
|
|
113
|
+
# Check if anything is listening
|
|
114
|
+
lsof -i :3333 | grep LISTEN
|
|
115
|
+
|
|
116
|
+
# If nothing: arth start
|
|
117
|
+
# If something but not arth: kill it, then arth start
|
|
118
|
+
lsof -ti:3333 | xargs kill -9 2>/dev/null
|
|
119
|
+
arth start
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**3. "Database not running" in arth status:**
|
|
123
|
+
```bash
|
|
124
|
+
docker ps --filter "name=arth-db"
|
|
125
|
+
# If not running:
|
|
126
|
+
cd ~/arth && docker compose up -d
|
|
127
|
+
# Verify:
|
|
128
|
+
docker exec arth-db psql -U arth -d arth_engine -c "SELECT count(*) FROM projects;"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**4. Project registered in CLI but not on dashboard:**
|
|
132
|
+
```bash
|
|
133
|
+
# Verify it's in the DB
|
|
134
|
+
docker exec arth-db psql -U arth -d arth_engine -c "SELECT name, path FROM projects;"
|
|
135
|
+
# If it's there, dashboard is serving stale data → /arth restart
|
|
136
|
+
# If it's NOT there, re-register:
|
|
137
|
+
cd /path/to/project && arth add .
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**5. Engine not ingesting sessions:**
|
|
141
|
+
```bash
|
|
142
|
+
# Check engine process
|
|
143
|
+
ps aux | grep 'mcp.*arth' | grep -v grep
|
|
144
|
+
# If not running:
|
|
145
|
+
arth stop && arth start
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Argument Patterns
|
|
149
|
+
|
|
150
|
+
| User Input | Action |
|
|
151
|
+
|-----------|--------|
|
|
152
|
+
| `/arth restart` | Full restart with orphan cleanup |
|
|
153
|
+
| `/arth add` | Register current project (must be in project dir) |
|
|
154
|
+
| `/arth status` | Show all services and projects |
|
|
155
|
+
| `/arth fix` | Diagnose and fix common issues |
|
|
156
|
+
| `/arth` (no args) | Show status |
|
|
157
|
+
|
|
158
|
+
## Key Facts
|
|
159
|
+
|
|
160
|
+
- Engine is an MCP server (stdio), NOT an HTTP server despite the "port 3100" label
|
|
161
|
+
- Dashboard runs in **dev mode** (`next dev`) for live data — NOT `next start`
|
|
162
|
+
- Docker container `arth-db` runs PostgreSQL on port 5433 (not default 5432)
|
|
163
|
+
- `arth stop` only kills PIDs it knows about — always kill by port for orphans
|
|
164
|
+
- `.arth.json` in project root = project is configured for Arth
|
|
165
|
+
- `arth add .` is idempotent — safe to re-run
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autopilot
|
|
3
|
+
description: "Autonomous work loop — picks up issues, implements, QAs, PRs. Stops for merge approval."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
arguments: "<issue_number> <--dry-run>"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Autopilot Skill — Autonomous Junior Engineer
|
|
9
|
+
|
|
10
|
+
Runs a continuous work loop: assess → plan → implement → QA → PR → wait for merge → repeat.
|
|
11
|
+
Acts like a junior engineer — takes initiative on scoped work, escalates when unsure,
|
|
12
|
+
never merges without human approval.
|
|
13
|
+
|
|
14
|
+
## Arguments
|
|
15
|
+
|
|
16
|
+
- `issue-number` (optional): Start with a specific issue. If omitted, auto-picks highest priority.
|
|
17
|
+
- `--dry-run` (optional): Show what would be done without doing it. Useful for trust-building.
|
|
18
|
+
|
|
19
|
+
## Workflow State
|
|
20
|
+
|
|
21
|
+
All state lives in `.claude/.workflow-state.json`. This file:
|
|
22
|
+
- Persists between turns (triage router reads it to maintain continuity)
|
|
23
|
+
- Tracks current work item, phase, risk, confidence, scope
|
|
24
|
+
- Records session history (what was completed, what's pending)
|
|
25
|
+
|
|
26
|
+
On first run, create the file. On subsequent runs (after merge, or user says "continue"),
|
|
27
|
+
read the file and resume from the current phase.
|
|
28
|
+
|
|
29
|
+
### State Schema
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"mode": "autopilot",
|
|
34
|
+
"started_at": "ISO timestamp",
|
|
35
|
+
"current_item": {
|
|
36
|
+
"type": "issue|pr|bug",
|
|
37
|
+
"number": 141,
|
|
38
|
+
"title": "description",
|
|
39
|
+
"source": "gh-issue|gh-pr|qa-finding|manual"
|
|
40
|
+
},
|
|
41
|
+
"risk": {
|
|
42
|
+
"score": 5,
|
|
43
|
+
"blast_radius": 1,
|
|
44
|
+
"reversibility": 1,
|
|
45
|
+
"confidence": 85,
|
|
46
|
+
"domain_sensitivity": 2,
|
|
47
|
+
"reasoning": "why this score"
|
|
48
|
+
},
|
|
49
|
+
"phase": "assess|classify|plan|implement|qa|self-review|pr|awaiting_merge|done",
|
|
50
|
+
"planned_scope": {
|
|
51
|
+
"files": ["list of expected files"],
|
|
52
|
+
"layers": ["backend", "frontend"]
|
|
53
|
+
},
|
|
54
|
+
"actual_scope": {
|
|
55
|
+
"files_changed": [],
|
|
56
|
+
"layers_touched": []
|
|
57
|
+
},
|
|
58
|
+
"attempts": {
|
|
59
|
+
"qa_fixes": 0,
|
|
60
|
+
"stuck_turns": 0
|
|
61
|
+
},
|
|
62
|
+
"session_summary": {
|
|
63
|
+
"completed": [{"item": "#141", "pr": 275}],
|
|
64
|
+
"prs_open": [275],
|
|
65
|
+
"blocked": [],
|
|
66
|
+
"issues_filed": []
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## The Loop
|
|
72
|
+
|
|
73
|
+
### Phase 1: ASSESS
|
|
74
|
+
|
|
75
|
+
If `current_item` is null or `phase` is "assess":
|
|
76
|
+
|
|
77
|
+
1. Gather project state (same signals as /onboard but faster — no full briefing):
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Run in parallel
|
|
81
|
+
git status --short
|
|
82
|
+
git log --oneline -5
|
|
83
|
+
gh pr list --author @me --json number,title,state,headRefName --limit 10
|
|
84
|
+
gh issue list --assignee @me --json number,title,labels --limit 10
|
|
85
|
+
gh issue list --json number,title,labels,assignees --limit 15
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. Build a priority list using these rules:
|
|
89
|
+
|
|
90
|
+
**Priority order (highest first):**
|
|
91
|
+
- CI/CD failures on main → fix immediately (blocks everything)
|
|
92
|
+
- PRs with review comments unaddressed → respond/fix (someone is waiting)
|
|
93
|
+
- Issues labeled `bug`, `critical`, `urgent`, `P0`, `security` → fix ASAP
|
|
94
|
+
- Stale PRs (yours, no activity > 5 days) → rebase, re-QA, push
|
|
95
|
+
- Issues assigned to you, oldest first
|
|
96
|
+
- Unassigned issues labeled `P1` or `bug`
|
|
97
|
+
- Unassigned issues, oldest first
|
|
98
|
+
|
|
99
|
+
3. If a specific `issue-number` was provided as argument, skip priority and use that.
|
|
100
|
+
|
|
101
|
+
4. Present the choice:
|
|
102
|
+
```
|
|
103
|
+
AUTOPILOT: Assessed project state.
|
|
104
|
+
Top priority: #141 "Short session credit refund" (bug, assigned to you, 7 days old)
|
|
105
|
+
|
|
106
|
+
Next in queue: #162 "Feedback nudge reappears" (bug), #71 "Sentry env vars" (infra)
|
|
107
|
+
|
|
108
|
+
Starting work on #141.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
5. Update workflow state: `phase: "classify"`, `current_item: {...}`.
|
|
112
|
+
|
|
113
|
+
### Phase 2: CLASSIFY (Risk Pre-Flight)
|
|
114
|
+
|
|
115
|
+
Before touching any code, evaluate the work item:
|
|
116
|
+
|
|
117
|
+
**Read the issue/PR carefully.** Then score each dimension 0-3:
|
|
118
|
+
|
|
119
|
+
| Dimension | 0 | 1 | 2 | 3 |
|
|
120
|
+
|-----------|---|---|---|---|
|
|
121
|
+
| **Blast radius** | 1 isolated file | 1 feature area | Shared component (auth, API client, billing service) | Infrastructure, deployment, database schema |
|
|
122
|
+
| **Reversibility** | Simple git revert | Revert + minor cleanup | Needs migration or manual data fix to undo | Data loss possible, can't fully undo |
|
|
123
|
+
| **Confidence** | Clear requirements, existing test patterns | Some ambiguity, mostly follows codebase patterns | Novel approach needed, unclear requirements | Don't understand the existing code well enough |
|
|
124
|
+
| **Domain sensitivity** | Docs, tests, UI copy, styling | Feature logic, new endpoints, new components | Auth flows, payment logic, data models, API contracts | Secrets, production DB, CI/CD pipelines, infra config |
|
|
125
|
+
|
|
126
|
+
**Sum the scores (0-12) and decide:**
|
|
127
|
+
|
|
128
|
+
| Score | Level | Action |
|
|
129
|
+
|-------|-------|--------|
|
|
130
|
+
| 0-5 | **Proceed** | Work autonomously. No notification needed. |
|
|
131
|
+
| 6-8 | **Proceed with notice** | Tell the user what you're doing and why. Continue unless they object. |
|
|
132
|
+
| 9-10 | **Stop and ask** | Present the risk assessment. Wait for explicit approval. |
|
|
133
|
+
| 11-12 | **Refuse** | Tell the user this requires manual intervention. |
|
|
134
|
+
|
|
135
|
+
**Automatic escalation triggers (override score):**
|
|
136
|
+
- Confidence below 50 → STOP regardless of score
|
|
137
|
+
- Requires database migration → minimum Level 3 (stop and ask)
|
|
138
|
+
- Touches auth middleware or payment webhooks → minimum Level 3
|
|
139
|
+
- No test suite exists for the area → flag it, write tests first
|
|
140
|
+
- Issue requirements are vague (no acceptance criteria, no reproduction steps) → STOP, ask for clarification
|
|
141
|
+
|
|
142
|
+
**Write to workflow state:**
|
|
143
|
+
```json
|
|
144
|
+
"risk": {
|
|
145
|
+
"score": 5,
|
|
146
|
+
"blast_radius": 1,
|
|
147
|
+
"reversibility": 1,
|
|
148
|
+
"confidence": 85,
|
|
149
|
+
"domain_sensitivity": 2,
|
|
150
|
+
"reasoning": "Billing-adjacent but no Stripe integration. 3 backend files, existing test patterns."
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
If proceeding, move to Phase 3. If stopping, present assessment and wait.
|
|
155
|
+
|
|
156
|
+
### Phase 3: PLAN
|
|
157
|
+
|
|
158
|
+
**For bug fixes (risk 0-5):**
|
|
159
|
+
Skip formal planning. Read the issue, identify root cause, describe the fix approach in 2-3 sentences.
|
|
160
|
+
Write to workflow state and proceed to Phase 4.
|
|
161
|
+
|
|
162
|
+
**For bug fixes (risk 6-8):**
|
|
163
|
+
Brief plan: root cause analysis, proposed fix, files to change, potential side effects.
|
|
164
|
+
Share with user as an FYI (don't wait for approval unless risk >= 9).
|
|
165
|
+
|
|
166
|
+
**For features (any risk):**
|
|
167
|
+
Check if a plan already exists at `.claude/plans/{feature-name}.md`.
|
|
168
|
+
- If yes: read it, verify it's current, use it.
|
|
169
|
+
- If no: create a brief plan. For risk 0-5, write it inline (no team needed).
|
|
170
|
+
For risk 6+, spawn a `/planning` session and wait for the plan.
|
|
171
|
+
|
|
172
|
+
**Scope definition (critical for Phase 6 scope guard):**
|
|
173
|
+
After planning, write the expected scope:
|
|
174
|
+
```json
|
|
175
|
+
"planned_scope": {
|
|
176
|
+
"files": ["backend/app/services/session_service.py", "backend/tests/test_session.py"],
|
|
177
|
+
"layers": ["backend"]
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Update phase to "implement".
|
|
182
|
+
|
|
183
|
+
### Phase 4: IMPLEMENT
|
|
184
|
+
|
|
185
|
+
**Spawn the right agents based on plan layers:**
|
|
186
|
+
|
|
187
|
+
| Layers in plan | Agents to spawn |
|
|
188
|
+
|----------------|----------------|
|
|
189
|
+
| backend only | auto-detect backend agent (Sonnet) — see `/implement` for detection logic |
|
|
190
|
+
| frontend only | frontend (Sonnet) |
|
|
191
|
+
| both | auto-detect backend + frontend (Sonnet each) |
|
|
192
|
+
| infra/deploy | sre (Sonnet) |
|
|
193
|
+
|
|
194
|
+
**Backend agent detection:** Check CLAUDE.md Tech Stack, then project files (`requirements.txt` → python-backend, `package.json` with backend framework → frontend agent as Node backend, `go.mod`/`Cargo.toml` → general-purpose). Default: python-backend.
|
|
195
|
+
|
|
196
|
+
**Use agent teams for multi-agent work:**
|
|
197
|
+
1. Create team `autopilot-{item-number}`
|
|
198
|
+
2. Create tasks from the plan
|
|
199
|
+
3. Spawn agents, assign tasks
|
|
200
|
+
4. Monitor progress via TaskList and teammate messages
|
|
201
|
+
|
|
202
|
+
**For simple fixes (1-3 files, risk 0-3):**
|
|
203
|
+
Skip teams entirely. Use tools directly (Read, Edit, Write, Bash).
|
|
204
|
+
This is faster and cheaper than spawning agents for trivial changes.
|
|
205
|
+
|
|
206
|
+
**Track actual scope:**
|
|
207
|
+
As files are changed, update `actual_scope` in workflow state.
|
|
208
|
+
|
|
209
|
+
Update phase to "qa" when implementation is complete.
|
|
210
|
+
|
|
211
|
+
### Phase 5: QA
|
|
212
|
+
|
|
213
|
+
Run validation appropriate to the change:
|
|
214
|
+
|
|
215
|
+
**Minimum (always):**
|
|
216
|
+
- Run the project's test suite (read CLAUDE.md for the command)
|
|
217
|
+
- Run linter
|
|
218
|
+
- Run type checker
|
|
219
|
+
|
|
220
|
+
**For backend changes:**
|
|
221
|
+
```bash
|
|
222
|
+
cd backend && source .venv/bin/activate && python -m pytest
|
|
223
|
+
cd backend && ruff check .
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
**For frontend changes:**
|
|
227
|
+
```bash
|
|
228
|
+
cd frontend && npm run lint
|
|
229
|
+
cd frontend && npx tsc --noEmit
|
|
230
|
+
cd frontend && npm test
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**If QA fails:**
|
|
234
|
+
1. Analyze the failure. Is it related to your changes?
|
|
235
|
+
2. If yes: fix it (increment `attempts.qa_fixes`).
|
|
236
|
+
3. Re-run QA.
|
|
237
|
+
4. If still failing after 2 fix attempts: **STOP**.
|
|
238
|
+
- Update workflow state: `phase: "blocked"`
|
|
239
|
+
- Report: "QA failed after 2 fix attempts. Here's what's failing and why I'm stuck."
|
|
240
|
+
- Wait for human guidance.
|
|
241
|
+
|
|
242
|
+
**If QA passes:**
|
|
243
|
+
Update phase to "self-review".
|
|
244
|
+
|
|
245
|
+
### Phase 6: SELF-REVIEW
|
|
246
|
+
|
|
247
|
+
Before creating a PR, review your own work. This catches issues QA misses.
|
|
248
|
+
|
|
249
|
+
**Read the full diff:**
|
|
250
|
+
```bash
|
|
251
|
+
git diff --stat
|
|
252
|
+
git diff
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Check against this list:**
|
|
256
|
+
1. **Scope guard**: Compare `actual_scope.files_changed` vs `planned_scope.files`.
|
|
257
|
+
- If actual > planned * 1.5: **STOP**. "Scope grew from {N} to {M} files. Review?"
|
|
258
|
+
- If touching layers not in plan: **STOP**. "Started as backend-only, now touching frontend."
|
|
259
|
+
2. **Hardcoded values**: Any magic numbers, URLs, credentials, API keys?
|
|
260
|
+
3. **Error handling**: Are new code paths handling errors? Especially API calls and DB queries.
|
|
261
|
+
4. **Security**: Any user input flowing into queries or templates without sanitization?
|
|
262
|
+
5. **Test coverage**: Did you write tests for the new code? If not, why?
|
|
263
|
+
6. **Unintended changes**: Files modified that aren't related to the work item?
|
|
264
|
+
|
|
265
|
+
**Risk re-assessment**: Now that code is written, has the risk changed?
|
|
266
|
+
If risk increased (e.g., you discovered the fix needs a migration), re-evaluate.
|
|
267
|
+
If new risk >= 9: **STOP** and present updated assessment.
|
|
268
|
+
|
|
269
|
+
**Discovered issues**: If you find unrelated bugs or tech debt during review:
|
|
270
|
+
- Do NOT fix them inline
|
|
271
|
+
- File separate GitHub issues: `gh issue create --title "..." --body "Found during #141 work"`
|
|
272
|
+
- Record in workflow state: `session_summary.issues_filed`
|
|
273
|
+
|
|
274
|
+
Update phase to "pr" if review passes.
|
|
275
|
+
|
|
276
|
+
### Phase 7: PR (MANDATORY STOP POINT)
|
|
277
|
+
|
|
278
|
+
**Always stop here. Never merge without human approval.**
|
|
279
|
+
|
|
280
|
+
Create the PR with a structured template:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
gh pr create --title "fix: short description (#ISSUE)" --body "$(cat <<'EOF'
|
|
284
|
+
## Summary
|
|
285
|
+
[2-3 bullet points: what changed and why]
|
|
286
|
+
|
|
287
|
+
## Risk Assessment
|
|
288
|
+
- **Score: X/12 (Level Y)**
|
|
289
|
+
- Blast radius: [description] (N/3)
|
|
290
|
+
- Reversibility: [description] (N/3)
|
|
291
|
+
- Confidence: N% — [reasoning]
|
|
292
|
+
- Domain: [description] (N/3)
|
|
293
|
+
|
|
294
|
+
## Scope Check
|
|
295
|
+
- Planned: N files | Actual: M files
|
|
296
|
+
- Layers: [backend/frontend/both]
|
|
297
|
+
- Scope status: [clean / grew — explanation]
|
|
298
|
+
|
|
299
|
+
## QA Results
|
|
300
|
+
- Tests: X/Y passed
|
|
301
|
+
- Lint: clean/N warnings
|
|
302
|
+
- Types: clean/N errors
|
|
303
|
+
- QA fix attempts: N
|
|
304
|
+
|
|
305
|
+
## What I Didn't Do
|
|
306
|
+
- [Things considered but intentionally left out]
|
|
307
|
+
- [Related issues filed: #276, #277]
|
|
308
|
+
|
|
309
|
+
## Test Plan
|
|
310
|
+
- [ ] Verify [specific behavior]
|
|
311
|
+
- [ ] Check [edge case]
|
|
312
|
+
|
|
313
|
+
Closes #ISSUE
|
|
314
|
+
|
|
315
|
+
Co-Authored-By: Claude Autopilot <noreply@anthropic.com>
|
|
316
|
+
EOF
|
|
317
|
+
)"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**Update workflow state:**
|
|
321
|
+
```json
|
|
322
|
+
{
|
|
323
|
+
"phase": "awaiting_merge",
|
|
324
|
+
"pr_number": 275
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Present to user:**
|
|
329
|
+
```
|
|
330
|
+
AUTOPILOT: PR #275 ready for review.
|
|
331
|
+
"fix: short sessions no longer consume credits (#141)"
|
|
332
|
+
|
|
333
|
+
Risk: 5/12 (Level 1 — proceeded autonomously)
|
|
334
|
+
Scope: 3 files planned / 3 actual (clean)
|
|
335
|
+
QA: all tests passing
|
|
336
|
+
|
|
337
|
+
Merge when ready. I'll pick up the next item automatically.
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Wait for user input.** Do not proceed until the user indicates the PR was merged
|
|
341
|
+
(or tells you to move on to the next item).
|
|
342
|
+
|
|
343
|
+
### Phase 8: POST-MERGE
|
|
344
|
+
|
|
345
|
+
When user confirms merge (or says "continue", "next", "merged"):
|
|
346
|
+
|
|
347
|
+
1. Update session summary: add to `completed`
|
|
348
|
+
2. Reset current item and phase to "assess"
|
|
349
|
+
3. Loop back to Phase 1
|
|
350
|
+
|
|
351
|
+
**If there are no more items** (all issues addressed, no PRs pending):
|
|
352
|
+
```
|
|
353
|
+
AUTOPILOT: Session complete.
|
|
354
|
+
|
|
355
|
+
Completed: 3 items
|
|
356
|
+
✓ #141 — short session credit refund (PR #275, merged)
|
|
357
|
+
✓ #162 — feedback nudge fix (PR #276, merged)
|
|
358
|
+
✓ #71 — sentry env vars (PR #277, merged)
|
|
359
|
+
|
|
360
|
+
Filed during work: #278 (stale test cleanup), #279 (billing edge case)
|
|
361
|
+
|
|
362
|
+
Nothing left in queue. /autopilot again when new issues come in.
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Update workflow state: `mode: "idle"`.
|
|
366
|
+
|
|
367
|
+
## Dry Run Mode
|
|
368
|
+
|
|
369
|
+
If `--dry-run` is passed:
|
|
370
|
+
- Run Phase 1 (ASSESS) and Phase 2 (CLASSIFY) normally
|
|
371
|
+
- Present the full priority list, risk assessment, and planned approach
|
|
372
|
+
- Do NOT proceed to Phase 3+
|
|
373
|
+
- Report: "DRY RUN: Would work on #141 (risk 5/12). Plan: [brief]. Approve to start."
|
|
374
|
+
|
|
375
|
+
This lets users build trust before enabling full autonomy.
|
|
376
|
+
|
|
377
|
+
## Exiting Autopilot
|
|
378
|
+
|
|
379
|
+
The user can exit autopilot at any time by:
|
|
380
|
+
- Saying "stop", "pause", "exit autopilot"
|
|
381
|
+
- Giving a specific instruction (triage router detects non-autopilot intent)
|
|
382
|
+
|
|
383
|
+
On exit:
|
|
384
|
+
1. If mid-implementation: commit work-in-progress, note the branch
|
|
385
|
+
2. Update workflow state: `mode: "paused"`, preserve all state
|
|
386
|
+
3. Report current status and how to resume
|
|
387
|
+
|
|
388
|
+
To resume: `/autopilot` (reads existing state and continues).
|
|
389
|
+
|
|
390
|
+
## Communication Rules
|
|
391
|
+
|
|
392
|
+
The agent communicates at natural checkpoints, not continuously:
|
|
393
|
+
|
|
394
|
+
| Event | What to say |
|
|
395
|
+
|-------|-------------|
|
|
396
|
+
| Starting work on an item | "Starting #141 (risk 5/12). Implementing backend fix for short sessions." |
|
|
397
|
+
| QA passed | Nothing (silence = good) |
|
|
398
|
+
| QA failed, fixing | "QA: 2 test failures, fixing..." |
|
|
399
|
+
| QA failed, stuck | "BLOCKED: Can't resolve test failure after 2 attempts. Need help." |
|
|
400
|
+
| Scope grew | "SCOPE: Started at 3 files, now at 6. The fix requires [X]. Continue?" |
|
|
401
|
+
| Risk escalation | "RISK: This needs a migration (was risk 5, now risk 9). Approve?" |
|
|
402
|
+
| PR ready | Full PR summary (see Phase 7) |
|
|
403
|
+
| Moving to next item | "Merged #275. Next: #162 (feedback nudge bug, risk 3/12)." |
|
|
404
|
+
| Session done | Full session summary |
|
|
405
|
+
|
|
406
|
+
**Do NOT:**
|
|
407
|
+
- Narrate every file read or edit
|
|
408
|
+
- Ask "should I continue?" after every phase (just continue if risk allows)
|
|
409
|
+
- Repeat information the user already saw
|
|
410
|
+
- Send messages for Level 0-1 actions (just do them)
|
|
411
|
+
|
|
412
|
+
## Cost Awareness
|
|
413
|
+
|
|
414
|
+
Minimize API spend by choosing the cheapest capable model:
|
|
415
|
+
|
|
416
|
+
| Task | Agent/Model | Cost |
|
|
417
|
+
|------|-------------|------|
|
|
418
|
+
| Project assessment | explore-light (Haiku) or inline | 1x |
|
|
419
|
+
| Simple bug fix (1-3 files) | Inline tools (no agent) | 0x (just Opus) |
|
|
420
|
+
| Backend implementation | auto-detect backend (Sonnet) | 10x |
|
|
421
|
+
| Frontend implementation | frontend (Sonnet) | 10x |
|
|
422
|
+
| QA validation | ops (Haiku) for tests, inline for review | 1x |
|
|
423
|
+
| Complex planning | architect (Opus) | 60x — only for risk 6+ |
|
|
424
|
+
|
|
425
|
+
**Rule: Never spawn an Opus agent for a risk 0-3 task.** Handle it inline or with Sonnet/Haiku.
|