claude-code-pilot 2.0.0 → 3.1.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 +76 -97
- package/bin/install.js +267 -250
- package/manifest.json +5 -18
- package/package.json +5 -7
- package/src/agents/build-error-resolver.md +114 -0
- package/src/agents/ccp-advisor-researcher.md +104 -0
- package/src/agents/ccp-assumptions-analyzer.md +105 -0
- package/{gsd/agents/gsd-codebase-mapper.md → src/agents/ccp-codebase-mapper.md} +7 -7
- package/{gsd/agents/gsd-debugger.md → src/agents/ccp-debugger.md} +125 -8
- package/{gsd/agents/gsd-executor.md → src/agents/ccp-executor.md} +31 -20
- package/{gsd/agents/gsd-integration-checker.md → src/agents/ccp-integration-checker.md} +2 -2
- package/{gsd/agents/gsd-nyquist-auditor.md → src/agents/ccp-nyquist-auditor.md} +3 -3
- package/{gsd/agents/gsd-phase-researcher.md → src/agents/ccp-phase-researcher.md} +127 -13
- package/{gsd/agents/gsd-plan-checker.md → src/agents/ccp-plan-checker.md} +57 -21
- package/{gsd/agents/gsd-planner.md → src/agents/ccp-planner.md} +61 -23
- package/{gsd/agents/gsd-project-researcher.md → src/agents/ccp-project-researcher.md} +33 -6
- package/{gsd/agents/gsd-research-synthesizer.md → src/agents/ccp-research-synthesizer.md} +11 -11
- package/{gsd/agents/gsd-roadmapper.md → src/agents/ccp-roadmapper.md} +39 -10
- package/src/agents/ccp-ui-auditor.md +439 -0
- package/src/agents/ccp-ui-checker.md +300 -0
- package/src/agents/ccp-ui-researcher.md +357 -0
- package/{gsd/agents/gsd-verifier.md → src/agents/ccp-verifier.md} +81 -15
- package/src/agents/cpp-build-resolver.md +90 -0
- package/src/agents/cpp-reviewer.md +72 -0
- package/src/agents/database-reviewer.md +91 -0
- package/{ecc → src}/agents/doc-updater.md +1 -1
- package/src/agents/docs-lookup.md +68 -0
- package/src/agents/flutter-reviewer.md +243 -0
- package/src/agents/gan-evaluator.md +209 -0
- package/src/agents/gan-generator.md +131 -0
- package/src/agents/gan-planner.md +99 -0
- package/src/agents/go-build-resolver.md +94 -0
- package/src/agents/go-reviewer.md +76 -0
- package/src/agents/harness-optimizer.md +35 -0
- package/src/agents/java-build-resolver.md +153 -0
- package/src/agents/java-reviewer.md +92 -0
- package/src/agents/kotlin-build-resolver.md +118 -0
- package/src/agents/kotlin-reviewer.md +159 -0
- package/src/agents/loop-operator.md +36 -0
- package/src/agents/opensource-forker.md +198 -0
- package/src/agents/opensource-packager.md +249 -0
- package/src/agents/opensource-sanitizer.md +188 -0
- package/src/agents/performance-optimizer.md +446 -0
- package/src/agents/planner.md +212 -0
- package/src/agents/python-reviewer.md +98 -0
- package/src/agents/pytorch-build-resolver.md +120 -0
- package/src/agents/refactor-cleaner.md +85 -0
- package/src/agents/rust-build-resolver.md +148 -0
- package/src/agents/rust-reviewer.md +94 -0
- package/src/agents/typescript-reviewer.md +112 -0
- package/src/available-rules/README.md +80 -0
- package/src/available-rules/cpp/coding-style.md +44 -0
- package/src/available-rules/cpp/hooks.md +39 -0
- package/src/available-rules/cpp/patterns.md +51 -0
- package/src/available-rules/cpp/security.md +51 -0
- package/src/available-rules/cpp/testing.md +44 -0
- package/src/available-rules/csharp/coding-style.md +72 -0
- package/src/available-rules/csharp/hooks.md +25 -0
- package/src/available-rules/csharp/patterns.md +50 -0
- package/src/available-rules/csharp/security.md +58 -0
- package/src/available-rules/csharp/testing.md +46 -0
- package/src/available-rules/java/coding-style.md +114 -0
- package/src/available-rules/java/hooks.md +18 -0
- package/src/available-rules/java/patterns.md +146 -0
- package/src/available-rules/java/security.md +100 -0
- package/src/available-rules/java/testing.md +131 -0
- package/src/available-rules/kotlin/hooks.md +17 -0
- package/src/available-rules/rust/coding-style.md +151 -0
- package/src/available-rules/rust/hooks.md +16 -0
- package/src/available-rules/rust/patterns.md +168 -0
- package/src/available-rules/rust/security.md +141 -0
- package/src/available-rules/rust/testing.md +154 -0
- package/src/commands/ccp/add-backlog.md +76 -0
- package/{gsd/commands-gsd → src/commands/ccp}/add-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/add-tests.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/add-todo.md +4 -4
- package/src/commands/ccp/aside.md +165 -0
- package/{gsd/commands-gsd → src/commands/ccp}/audit-milestone.md +3 -3
- package/src/commands/ccp/audit-uat.md +24 -0
- package/src/commands/ccp/autonomous.md +41 -0
- package/src/commands/ccp/build-fix.md +67 -0
- package/{gsd/commands-gsd → src/commands/ccp}/check-todos.md +3 -3
- package/{ecc/commands → src/commands/ccp}/checkpoint.md +12 -7
- package/{gsd/commands-gsd → src/commands/ccp}/cleanup.md +3 -3
- package/src/commands/ccp/code-review.md +45 -0
- package/{gsd/commands-gsd → src/commands/ccp}/complete-milestone.md +9 -9
- package/src/commands/ccp/context-budget.md +30 -0
- package/src/commands/ccp/cpp-build.md +174 -0
- package/src/commands/ccp/cpp-review.md +133 -0
- package/src/commands/ccp/cpp-test.md +252 -0
- package/{gsd/commands-gsd → src/commands/ccp}/debug.md +14 -9
- package/src/commands/ccp/discuss-phase.md +64 -0
- package/src/commands/ccp/do.md +30 -0
- package/src/commands/ccp/docs-update.md +48 -0
- package/src/commands/ccp/docs.md +32 -0
- package/src/commands/ccp/e2e.md +365 -0
- package/src/commands/ccp/eval.md +125 -0
- package/{ecc/commands → src/commands/ccp}/evolve.md +5 -5
- package/src/commands/ccp/execute-phase.md +59 -0
- package/src/commands/ccp/fast.md +30 -0
- package/src/commands/ccp/forensics.md +56 -0
- package/src/commands/ccp/go-build.md +184 -0
- package/src/commands/ccp/go-review.md +149 -0
- package/src/commands/ccp/go-test.md +269 -0
- package/src/commands/ccp/gradle-build.md +71 -0
- package/src/commands/ccp/harness-audit.md +76 -0
- package/{gsd/commands-gsd → src/commands/ccp}/health.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/help.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/insert-phase.md +3 -3
- package/src/commands/ccp/kotlin-build.md +175 -0
- package/src/commands/ccp/kotlin-review.md +141 -0
- package/src/commands/ccp/kotlin-test.md +313 -0
- package/{ecc/commands → src/commands/ccp}/learn.md +7 -2
- package/{gsd/commands-gsd → src/commands/ccp}/list-phase-assumptions.md +2 -2
- package/src/commands/ccp/manager.md +39 -0
- package/{gsd/commands-gsd → src/commands/ccp}/map-codebase.md +7 -7
- package/src/commands/ccp/milestone-summary.md +51 -0
- package/{ecc/commands → src/commands/ccp}/model-route.md +6 -1
- package/{gsd/commands-gsd → src/commands/ccp}/new-milestone.md +8 -8
- package/{gsd/commands-gsd → src/commands/ccp}/new-project.md +8 -8
- package/src/commands/ccp/next.md +24 -0
- package/src/commands/ccp/note.md +34 -0
- package/src/commands/ccp/orchestrate.md +232 -0
- package/{gsd/commands-gsd → src/commands/ccp}/pause-work.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/plan-milestone-gaps.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/plan-phase.md +9 -7
- package/src/commands/ccp/plan.md +115 -0
- package/src/commands/ccp/plant-seed.md +28 -0
- package/src/commands/ccp/pr-branch.md +25 -0
- package/src/commands/ccp/profile-user.md +46 -0
- package/{gsd/commands-gsd → src/commands/ccp}/progress.md +3 -3
- package/src/commands/ccp/prompt-optimize.md +39 -0
- package/src/commands/ccp/prune.md +25 -0
- package/src/commands/ccp/python-review.md +298 -0
- package/{ecc/commands → src/commands/ccp}/quality-gate.md +7 -2
- package/{gsd/commands-gsd → src/commands/ccp}/quick.md +10 -8
- package/src/commands/ccp/refactor-clean.md +85 -0
- package/{gsd/commands-gsd → src/commands/ccp}/remove-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/research-phase.md +17 -12
- package/{ecc/commands → src/commands/ccp}/resume-session.md +9 -8
- package/{gsd/commands-gsd → src/commands/ccp}/resume-work.md +3 -3
- package/src/commands/ccp/review-backlog.md +61 -0
- package/src/commands/ccp/review.md +37 -0
- package/src/commands/ccp/rules-distill.md +12 -0
- package/src/commands/ccp/rust-build.md +188 -0
- package/src/commands/ccp/rust-review.md +143 -0
- package/src/commands/ccp/rust-test.md +309 -0
- package/{ecc/commands → src/commands/ccp}/save-session.md +2 -1
- package/src/commands/ccp/secure-phase.md +35 -0
- package/src/commands/ccp/session-report.md +19 -0
- package/{ecc/commands → src/commands/ccp}/sessions.md +39 -34
- package/src/commands/ccp/set-profile.md +12 -0
- package/{gsd/commands-gsd → src/commands/ccp}/settings.md +5 -5
- package/src/commands/ccp/setup-pm.md +81 -0
- package/{kit/commands → src/commands/ccp}/setup-refresh.md +4 -3
- package/{kit/commands → src/commands/ccp}/setup.md +67 -40
- package/src/commands/ccp/ship.md +23 -0
- package/src/commands/ccp/skill-create.md +172 -0
- package/src/commands/ccp/skill-health.md +51 -0
- package/src/commands/ccp/stats.md +18 -0
- package/src/commands/ccp/tdd.md +329 -0
- package/src/commands/ccp/test-coverage.md +74 -0
- package/src/commands/ccp/thread.md +127 -0
- package/{kit/commands → src/commands/ccp}/tool-guide.md +2 -1
- package/src/commands/ccp/ui-phase.md +34 -0
- package/src/commands/ccp/ui-review.md +32 -0
- package/src/commands/ccp/update-codemaps.md +77 -0
- package/src/commands/ccp/update-docs.md +89 -0
- package/{gsd/commands-gsd → src/commands/ccp}/update.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/validate-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/verify-work.md +5 -5
- package/{ecc/commands → src/commands/ccp}/verify.md +5 -0
- package/src/commands/ccp/workstreams.md +68 -0
- package/{ecc → src}/examples/CLAUDE.md +4 -4
- package/{ecc → src}/examples/django-api-CLAUDE.md +5 -5
- package/{ecc → src}/examples/go-microservice-CLAUDE.md +6 -6
- package/{ecc → src}/examples/rust-api-CLAUDE.md +4 -4
- package/{ecc → src}/examples/saas-nextjs-CLAUDE.md +8 -8
- package/{gsd/hooks/gsd-context-monitor.js → src/hooks/ccp-context-monitor.js} +3 -3
- package/src/hooks/ccp-prompt-guard.js +96 -0
- package/{gsd/hooks/gsd-statusline.js → src/hooks/ccp-statusline.js} +7 -7
- package/src/hooks/ccp-workflow-guard.js +94 -0
- package/src/hooks/config-protection.js +141 -0
- package/{kit → src}/hooks/kit-check-update.js +7 -4
- package/src/hooks/mcp-health-check.js +620 -0
- package/{ecc/scripts → src}/hooks/run-with-flags-shell.sh +1 -1
- package/{ecc/scripts → src}/hooks/run-with-flags.js +74 -13
- package/src/hooks/session-end-marker.js +29 -0
- package/{ecc/scripts → src}/hooks/session-end.js +83 -40
- package/{ecc/scripts → src}/hooks/session-start.js +76 -10
- package/{ecc/scripts → src}/lib/hook-flags.js +8 -4
- package/{ecc/scripts → src}/lib/project-detect.js +2 -1
- package/{ecc/scripts → src}/lib/session-manager.d.ts +5 -1
- package/{ecc/scripts → src}/lib/session-manager.js +202 -92
- package/{ecc/scripts → src}/lib/utils.d.ts +23 -1
- package/{ecc/scripts → src}/lib/utils.js +91 -3
- package/{gsd/get-shit-done/bin/gsd-tools.cjs → src/pilot/bin/ccp-tools.cjs} +257 -86
- package/{gsd/get-shit-done → src/pilot}/bin/lib/commands.cjs +1 -1
- package/src/pilot/bin/lib/config.cjs +444 -0
- package/src/pilot/bin/lib/core.cjs +1190 -0
- package/src/pilot/bin/lib/init.cjs +1281 -0
- package/src/pilot/bin/lib/model-profiles.cjs +67 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/phase.cjs +2 -2
- package/src/pilot/bin/lib/security.cjs +382 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/state.cjs +1 -1
- package/src/pilot/bin/lib/uat.cjs +282 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/verify.cjs +10 -10
- package/{gsd/get-shit-done → src/pilot}/references/continuation-format.md +16 -16
- package/{gsd/get-shit-done → src/pilot}/references/decimal-phase-calculation.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/git-integration.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/git-planning-commit.md +4 -4
- package/src/pilot/references/mcp-servers.json +153 -0
- package/{gsd/get-shit-done → src/pilot}/references/model-profile-resolution.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/references/model-profiles.md +20 -20
- package/{gsd/get-shit-done → src/pilot}/references/phase-argument-parsing.md +4 -4
- package/{gsd/get-shit-done → src/pilot}/references/planning-config.md +15 -15
- package/{gsd/get-shit-done → src/pilot}/references/ui-brand.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/verification-patterns.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/DEBUG.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/UAT.md +3 -3
- package/src/pilot/templates/UI-SPEC.md +100 -0
- package/{gsd/get-shit-done → src/pilot}/templates/VALIDATION.md +1 -1
- package/src/pilot/templates/claude-md.md +122 -0
- package/{gsd/get-shit-done → src/pilot}/templates/codebase/architecture.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/codebase/structure.md +13 -13
- package/{gsd/get-shit-done → src/pilot}/templates/context.md +4 -4
- package/src/pilot/templates/copilot-instructions.md +7 -0
- package/{gsd/get-shit-done → src/pilot}/templates/debug-subagent-prompt.md +4 -4
- package/src/pilot/templates/dev-preferences.md +21 -0
- package/{gsd/get-shit-done → src/pilot}/templates/discovery.md +2 -2
- package/src/pilot/templates/discussion-log.md +63 -0
- package/{gsd/get-shit-done → src/pilot}/templates/phase-prompt.md +12 -12
- package/{gsd/get-shit-done → src/pilot}/templates/planner-subagent-prompt.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/templates/project.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/research.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/state.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/summary-complex.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/workflows/add-phase.md +11 -11
- package/{gsd/get-shit-done → src/pilot}/workflows/add-tests.md +15 -15
- package/{gsd/get-shit-done → src/pilot}/workflows/add-todo.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/workflows/audit-milestone.md +24 -16
- package/src/pilot/workflows/audit-uat.md +109 -0
- package/src/pilot/workflows/autonomous.md +891 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/check-todos.md +10 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/cleanup.md +3 -3
- package/{gsd/get-shit-done → src/pilot}/workflows/complete-milestone.md +19 -16
- package/{gsd/get-shit-done → src/pilot}/workflows/diagnose-issues.md +9 -4
- package/{gsd/get-shit-done → src/pilot}/workflows/discovery-phase.md +8 -8
- package/src/pilot/workflows/discuss-phase-assumptions.md +653 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/discuss-phase.md +407 -49
- package/src/pilot/workflows/do.md +104 -0
- package/src/pilot/workflows/docs-update.md +1165 -0
- package/src/pilot/workflows/execute-phase.md +821 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/execute-plan.md +79 -28
- package/src/pilot/workflows/fast.md +105 -0
- package/src/pilot/workflows/forensics.md +265 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/health.md +34 -11
- package/src/pilot/workflows/help.md +767 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/insert-phase.md +10 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/list-phase-assumptions.md +4 -4
- package/src/pilot/workflows/manager.md +362 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/map-codebase.md +27 -17
- package/src/pilot/workflows/milestone-summary.md +223 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/new-milestone.md +135 -33
- package/{gsd/get-shit-done → src/pilot}/workflows/new-project.md +152 -79
- package/src/pilot/workflows/next.md +97 -0
- package/src/pilot/workflows/node-repair.md +92 -0
- package/src/pilot/workflows/note.md +156 -0
- package/src/pilot/workflows/pause-work.md +177 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/plan-milestone-gaps.md +10 -11
- package/src/pilot/workflows/plan-phase.md +859 -0
- package/src/pilot/workflows/plant-seed.md +169 -0
- package/src/pilot/workflows/pr-branch.md +129 -0
- package/src/pilot/workflows/profile-user.md +452 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/progress.md +95 -34
- package/{gsd/get-shit-done → src/pilot}/workflows/quick.md +33 -21
- package/{gsd/get-shit-done → src/pilot}/workflows/remove-phase.md +14 -14
- package/{gsd/get-shit-done → src/pilot}/workflows/research-phase.md +18 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/resume-project.md +37 -18
- package/src/pilot/workflows/review.md +244 -0
- package/src/pilot/workflows/secure-phase.md +164 -0
- package/src/pilot/workflows/session-report.md +146 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/set-profile.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/workflows/settings.md +75 -22
- package/src/pilot/workflows/ship.md +228 -0
- package/src/pilot/workflows/stats.md +60 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/transition.md +57 -17
- package/src/pilot/workflows/ui-phase.md +302 -0
- package/src/pilot/workflows/ui-review.md +165 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/update.md +88 -58
- package/{gsd/get-shit-done → src/pilot}/workflows/validate-phase.md +24 -17
- package/{gsd/get-shit-done → src/pilot}/workflows/verify-phase.md +26 -15
- package/{gsd/get-shit-done → src/pilot}/workflows/verify-work.md +89 -37
- package/{ecc → src}/rules/common/agents.md +1 -0
- package/src/rules/common/code-review.md +124 -0
- package/{ecc → src}/rules/common/coding-style.md +21 -0
- package/src/rules/zh/README.md +108 -0
- package/src/rules/zh/agents.md +50 -0
- package/src/rules/zh/code-review.md +124 -0
- package/src/rules/zh/coding-style.md +48 -0
- package/src/rules/zh/development-workflow.md +44 -0
- package/src/rules/zh/git-workflow.md +24 -0
- package/src/rules/zh/hooks.md +30 -0
- package/src/rules/zh/patterns.md +31 -0
- package/src/rules/zh/performance.md +55 -0
- package/src/rules/zh/security.md +29 -0
- package/src/rules/zh/testing.md +29 -0
- package/src/skills/agentic-engineering/SKILL.md +63 -0
- package/src/skills/ai-first-engineering/SKILL.md +51 -0
- package/src/skills/ai-regression-testing/SKILL.md +385 -0
- package/src/skills/api-design/SKILL.md +523 -0
- package/src/skills/architecture-decision-records/SKILL.md +179 -0
- package/src/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/src/skills/autonomous-loops/SKILL.md +610 -0
- package/src/skills/backend-patterns/SKILL.md +598 -0
- package/src/skills/benchmark/SKILL.md +87 -0
- package/src/skills/blueprint/SKILL.md +90 -0
- package/src/skills/browser-qa/SKILL.md +81 -0
- package/src/skills/bun-runtime/SKILL.md +84 -0
- package/src/skills/claude-api/SKILL.md +337 -0
- package/src/skills/codebase-onboarding/SKILL.md +233 -0
- package/src/skills/coding-standards/SKILL.md +530 -0
- package/src/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/src/skills/context-budget/SKILL.md +135 -0
- package/{ecc → src}/skills/continuous-learning-v2/SKILL.md +6 -6
- package/{ecc → src}/skills/continuous-learning-v2/agents/observer-loop.sh +1 -1
- package/{ecc → src}/skills/continuous-learning-v2/agents/observer.md +1 -1
- package/src/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/src/skills/cpp-coding-standards/SKILL.md +723 -0
- package/src/skills/cpp-testing/SKILL.md +324 -0
- package/src/skills/database-migrations/SKILL.md +429 -0
- package/src/skills/deep-research/SKILL.md +155 -0
- package/src/skills/deployment-patterns/SKILL.md +427 -0
- package/src/skills/design-system/SKILL.md +82 -0
- package/src/skills/django-patterns/SKILL.md +734 -0
- package/src/skills/django-security/SKILL.md +593 -0
- package/src/skills/django-tdd/SKILL.md +729 -0
- package/src/skills/django-verification/SKILL.md +469 -0
- package/src/skills/docker-patterns/SKILL.md +364 -0
- package/src/skills/documentation-lookup/SKILL.md +90 -0
- package/src/skills/e2e-testing/SKILL.md +326 -0
- package/src/skills/eval-harness/SKILL.md +270 -0
- package/src/skills/exa-search/SKILL.md +103 -0
- package/src/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/src/skills/frontend-patterns/SKILL.md +642 -0
- package/src/skills/gan-style-harness/SKILL.md +278 -0
- package/src/skills/git-workflow/SKILL.md +715 -0
- package/src/skills/golang-patterns/SKILL.md +674 -0
- package/src/skills/golang-testing/SKILL.md +720 -0
- package/src/skills/hexagonal-architecture/SKILL.md +276 -0
- package/src/skills/iterative-retrieval/SKILL.md +211 -0
- package/src/skills/java-coding-standards/SKILL.md +147 -0
- package/src/skills/jpa-patterns/SKILL.md +151 -0
- package/src/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/src/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/src/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/src/skills/kotlin-patterns/SKILL.md +711 -0
- package/src/skills/kotlin-testing/SKILL.md +824 -0
- package/src/skills/laravel-patterns/SKILL.md +415 -0
- package/src/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/src/skills/laravel-security/SKILL.md +285 -0
- package/src/skills/laravel-tdd/SKILL.md +283 -0
- package/src/skills/laravel-verification/SKILL.md +179 -0
- package/src/skills/mcp-server-patterns/SKILL.md +67 -0
- package/src/skills/nextjs-turbopack/SKILL.md +44 -0
- package/src/skills/nuxt4-patterns/SKILL.md +100 -0
- package/src/skills/opensource-pipeline/SKILL.md +255 -0
- package/src/skills/perl-patterns/SKILL.md +504 -0
- package/src/skills/perl-security/SKILL.md +503 -0
- package/src/skills/perl-testing/SKILL.md +475 -0
- package/src/skills/postgres-patterns/SKILL.md +147 -0
- package/src/skills/project-flow-ops/SKILL.md +111 -0
- package/src/skills/project-guidelines-example/SKILL.md +349 -0
- package/src/skills/prompt-optimizer/SKILL.md +397 -0
- package/src/skills/python-patterns/SKILL.md +750 -0
- package/src/skills/python-testing/SKILL.md +816 -0
- package/src/skills/pytorch-patterns/SKILL.md +396 -0
- package/src/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/src/skills/repo-scan/SKILL.md +78 -0
- package/src/skills/rules-distill/SKILL.md +264 -0
- package/src/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/src/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/src/skills/rust-patterns/SKILL.md +499 -0
- package/src/skills/rust-testing/SKILL.md +500 -0
- package/src/skills/safety-guard/SKILL.md +69 -0
- package/src/skills/search-first/SKILL.md +161 -0
- package/src/skills/security-review/SKILL.md +495 -0
- package/src/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/src/skills/security-scan/SKILL.md +165 -0
- package/src/skills/springboot-patterns/SKILL.md +314 -0
- package/src/skills/springboot-security/SKILL.md +272 -0
- package/src/skills/springboot-tdd/SKILL.md +158 -0
- package/src/skills/springboot-verification/SKILL.md +231 -0
- package/src/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/src/skills/tdd-workflow/SKILL.md +410 -0
- package/src/skills/token-budget-advisor/SKILL.md +133 -0
- package/{ecc/skills/verification-loop-SKILL.md → src/skills/verification-loop/SKILL.md} +1 -1
- package/src/skills/workspace-surface-audit/SKILL.md +125 -0
- package/ecc/scripts/hooks/session-end-marker.js +0 -15
- package/gsd/LICENSE +0 -21
- package/gsd/commands-gsd/discuss-phase.md +0 -90
- package/gsd/commands-gsd/execute-phase.md +0 -41
- package/gsd/commands-gsd/join-discord.md +0 -18
- package/gsd/commands-gsd/reapply-patches.md +0 -123
- package/gsd/commands-gsd/set-profile.md +0 -34
- package/gsd/get-shit-done/bin/lib/config.cjs +0 -169
- package/gsd/get-shit-done/bin/lib/core.cjs +0 -492
- package/gsd/get-shit-done/bin/lib/init.cjs +0 -710
- package/gsd/get-shit-done/workflows/execute-phase.md +0 -459
- package/gsd/get-shit-done/workflows/help.md +0 -489
- package/gsd/get-shit-done/workflows/pause-work.md +0 -122
- package/gsd/get-shit-done/workflows/plan-phase.md +0 -560
- package/gsd/hooks/gsd-check-update.js +0 -81
- package/kit/CLAUDE.md +0 -43
- package/kit/commands/kit/update.md +0 -46
- package/kit/mcp.json +0 -10
- package/kit/rules/code-style.md +0 -24
- /package/{ecc → src}/agents/architect.md +0 -0
- /package/{ecc → src}/agents/code-reviewer.md +0 -0
- /package/{ecc → src}/agents/e2e-runner.md +0 -0
- /package/{ecc → src}/agents/security-reviewer.md +0 -0
- /package/{ecc → src}/agents/tdd-guide.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/testing.md +0 -0
- /package/{ecc → src}/contexts/dev.md +0 -0
- /package/{ecc → src}/contexts/research.md +0 -0
- /package/{ecc → src}/contexts/review.md +0 -0
- /package/{ecc → src}/examples/user-CLAUDE.md +0 -0
- /package/{ecc/scripts → src}/hooks/check-hook-enabled.js +0 -0
- /package/{ecc/scripts → src}/hooks/evaluate-session.js +0 -0
- /package/{ecc/scripts → src}/hooks/pre-compact.js +0 -0
- /package/{ecc/scripts → src}/hooks/suggest-compact.js +0 -0
- /package/{ecc/scripts → src}/lib/package-manager.d.ts +0 -0
- /package/{ecc/scripts → src}/lib/package-manager.js +0 -0
- /package/{ecc/scripts → src}/lib/resolve-formatter.js +0 -0
- /package/{ecc/scripts → src}/lib/session-aliases.d.ts +0 -0
- /package/{ecc/scripts → src}/lib/session-aliases.js +0 -0
- /package/{ecc/scripts → src}/lib/shell-split.js +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/frontmatter.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/milestone.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/roadmap.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/template.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/checkpoints.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/questioning.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/tdd.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/concerns.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/conventions.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/integrations.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/stack.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/testing.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/config.json +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/continue-here.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/milestone-archive.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/milestone.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/requirements.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/ARCHITECTURE.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/FEATURES.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/PITFALLS.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/STACK.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/SUMMARY.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/retrospective.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/roadmap.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary-minimal.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary-standard.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/user-setup.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/verification-report.md +0 -0
- /package/{ecc → src}/rules/common/development-workflow.md +0 -0
- /package/{ecc → src}/rules/common/git-workflow.md +0 -0
- /package/{ecc → src}/rules/common/hooks.md +0 -0
- /package/{ecc → src}/rules/common/patterns.md +0 -0
- /package/{ecc → src}/rules/common/performance.md +0 -0
- /package/{ecc → src}/rules/common/security.md +0 -0
- /package/{ecc → src}/rules/common/testing.md +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/agents/start-observer.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/config.json +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/hooks/observe.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/detect-project.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -0
- /package/{ecc → src}/skills/strategic-compact/SKILL.md +0 -0
- /package/{ecc → src}/skills/strategic-compact/suggest-compact.sh +0 -0
|
@@ -12,37 +12,41 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
**Load progress context (paths only):**
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
INIT=$(node "$HOME/.claude/
|
|
15
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init progress)
|
|
16
16
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`, `state_path`, `roadmap_path`, `project_path`, `config_path`.
|
|
20
20
|
|
|
21
|
+
```bash
|
|
22
|
+
DISCUSS_MODE=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
|
|
23
|
+
```
|
|
24
|
+
|
|
21
25
|
If `project_exists` is false (no `.planning/` directory):
|
|
22
26
|
|
|
23
27
|
```
|
|
24
28
|
No planning structure found.
|
|
25
29
|
|
|
26
|
-
Run /
|
|
30
|
+
Run /ccp:new-project to start a new project.
|
|
27
31
|
```
|
|
28
32
|
|
|
29
33
|
Exit.
|
|
30
34
|
|
|
31
|
-
If missing STATE.md: suggest `/
|
|
35
|
+
If missing STATE.md: suggest `/ccp:new-project`.
|
|
32
36
|
|
|
33
37
|
**If ROADMAP.md missing but PROJECT.md exists:**
|
|
34
38
|
|
|
35
39
|
This means a milestone was completed and archived. Go to **Route F** (between milestones).
|
|
36
40
|
|
|
37
|
-
If missing both ROADMAP.md and PROJECT.md: suggest `/
|
|
41
|
+
If missing both ROADMAP.md and PROJECT.md: suggest `/ccp:new-project`.
|
|
38
42
|
</step>
|
|
39
43
|
|
|
40
44
|
<step name="load">
|
|
41
|
-
**Use structured extraction from
|
|
45
|
+
**Use structured extraction from ccp-tools:**
|
|
42
46
|
|
|
43
47
|
Instead of reading full files, use targeted tools to get only the data needed for the report:
|
|
44
|
-
- `ROADMAP=$(node "$HOME/.claude/
|
|
45
|
-
- `STATE=$(node "$HOME/.claude/
|
|
48
|
+
- `ROADMAP=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap analyze)`
|
|
49
|
+
- `STATE=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state-snapshot)`
|
|
46
50
|
|
|
47
51
|
This minimizes orchestrator context usage.
|
|
48
52
|
</step>
|
|
@@ -51,7 +55,7 @@ This minimizes orchestrator context usage.
|
|
|
51
55
|
**Get comprehensive roadmap analysis (replaces manual parsing):**
|
|
52
56
|
|
|
53
57
|
```bash
|
|
54
|
-
ROADMAP=$(node "$HOME/.claude/
|
|
58
|
+
ROADMAP=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap analyze)
|
|
55
59
|
```
|
|
56
60
|
|
|
57
61
|
This returns structured JSON with:
|
|
@@ -70,7 +74,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
|
|
|
70
74
|
- Find the 2-3 most recent SUMMARY.md files
|
|
71
75
|
- Use `summary-extract` for efficient parsing:
|
|
72
76
|
```bash
|
|
73
|
-
node "$HOME/.claude/
|
|
77
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" summary-extract <path> --fields one_liner
|
|
74
78
|
```
|
|
75
79
|
- This shows "what we've been working on"
|
|
76
80
|
</step>
|
|
@@ -85,11 +89,11 @@ Use this instead of manually reading/parsing ROADMAP.md.
|
|
|
85
89
|
</step>
|
|
86
90
|
|
|
87
91
|
<step name="report">
|
|
88
|
-
**Generate progress bar from
|
|
92
|
+
**Generate progress bar from ccp-tools, then present rich status report:**
|
|
89
93
|
|
|
90
94
|
```bash
|
|
91
95
|
# Get formatted progress bar
|
|
92
|
-
PROGRESS_BAR=$(node "$HOME/.claude/
|
|
96
|
+
PROGRESS_BAR=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" progress bar --raw)
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
Present:
|
|
@@ -98,7 +102,8 @@ Present:
|
|
|
98
102
|
# [Project Name]
|
|
99
103
|
|
|
100
104
|
**Progress:** {PROGRESS_BAR}
|
|
101
|
-
**Profile:** [quality/balanced/budget]
|
|
105
|
+
**Profile:** [quality/balanced/budget/inherit]
|
|
106
|
+
**Discuss mode:** {DISCUSS_MODE}
|
|
102
107
|
|
|
103
108
|
## Recent Work
|
|
104
109
|
- [Phase X, Plan Y]: [what was accomplished - 1 line from summary-extract]
|
|
@@ -118,10 +123,10 @@ CONTEXT: [✓ if has_context | - if not]
|
|
|
118
123
|
- [e.g. jq -r '.blockers[].text' from state-snapshot]
|
|
119
124
|
|
|
120
125
|
## Pending Todos
|
|
121
|
-
- [count] pending — /
|
|
126
|
+
- [count] pending — /ccp:check-todos to review
|
|
122
127
|
|
|
123
128
|
## Active Debug Sessions
|
|
124
|
-
- [count] active — /
|
|
129
|
+
- [count] active — /ccp:debug to continue
|
|
125
130
|
(Only show this section if count > 0)
|
|
126
131
|
|
|
127
132
|
## What's Next
|
|
@@ -150,17 +155,47 @@ State: "This phase has {X} plans, {Y} summaries."
|
|
|
150
155
|
Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
|
|
151
156
|
|
|
152
157
|
```bash
|
|
153
|
-
# Check for diagnosed UAT with gaps
|
|
154
|
-
grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
158
|
+
# Check for diagnosed UAT with gaps or partial (incomplete) testing
|
|
159
|
+
grep -l "status: diagnosed\|status: partial" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
155
160
|
```
|
|
156
161
|
|
|
157
162
|
Track:
|
|
158
163
|
- `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
|
|
164
|
+
- `uat_partial`: UAT.md files with status "partial" (incomplete testing)
|
|
165
|
+
|
|
166
|
+
**Step 1.6: Cross-phase health check**
|
|
167
|
+
|
|
168
|
+
Scan ALL phases in the current milestone for outstanding verification debt using the CLI:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
DEBT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" audit-uat --raw 2>/dev/null)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Parse JSON for `summary.total_items` and `summary.total_files`.
|
|
175
|
+
|
|
176
|
+
Track: `outstanding_debt` — `summary.total_items` from the audit.
|
|
177
|
+
|
|
178
|
+
**If outstanding_debt > 0:** Add a warning section to the progress report output (in the `report` step), placed between "## What's Next" and the route suggestion:
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
## Verification Debt ({N} files across prior phases)
|
|
182
|
+
|
|
183
|
+
| Phase | File | Issue |
|
|
184
|
+
|-------|------|-------|
|
|
185
|
+
| {phase} | {filename} | {pending_count} pending, {skipped_count} skipped, {blocked_count} blocked |
|
|
186
|
+
| {phase} | {filename} | human_needed — {count} items |
|
|
187
|
+
|
|
188
|
+
Review: `/ccp:audit-uat` — full cross-phase audit
|
|
189
|
+
Resume testing: `/ccp:verify-work {phase}` — retest specific phase
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
This is a WARNING, not a blocker — routing proceeds normally. The debt is visible so the user can make an informed choice.
|
|
159
193
|
|
|
160
194
|
**Step 2: Route based on counts**
|
|
161
195
|
|
|
162
196
|
| Condition | Meaning | Action |
|
|
163
197
|
|-----------|---------|--------|
|
|
198
|
+
| uat_partial > 0 | UAT testing incomplete | Go to **Route E.2** |
|
|
164
199
|
| uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
|
|
165
200
|
| summaries < plans | Unexecuted plans exist | Go to **Route A** |
|
|
166
201
|
| summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
|
|
@@ -180,7 +215,7 @@ Read its `<objective>` section.
|
|
|
180
215
|
|
|
181
216
|
**{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
182
217
|
|
|
183
|
-
`/
|
|
218
|
+
`/ccp:execute-phase {phase}`
|
|
184
219
|
|
|
185
220
|
<sub>`/clear` first → fresh context window</sub>
|
|
186
221
|
|
|
@@ -203,7 +238,7 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
|
203
238
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
204
239
|
<sub>✓ Context gathered, ready to plan</sub>
|
|
205
240
|
|
|
206
|
-
`/
|
|
241
|
+
`/ccp:plan-phase {phase-number}`
|
|
207
242
|
|
|
208
243
|
<sub>`/clear` first → fresh context window</sub>
|
|
209
244
|
|
|
@@ -219,15 +254,15 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
|
219
254
|
|
|
220
255
|
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
221
256
|
|
|
222
|
-
`/
|
|
257
|
+
`/ccp:discuss-phase {phase}` — gather context and clarify approach
|
|
223
258
|
|
|
224
259
|
<sub>`/clear` first → fresh context window</sub>
|
|
225
260
|
|
|
226
261
|
---
|
|
227
262
|
|
|
228
263
|
**Also available:**
|
|
229
|
-
- `/
|
|
230
|
-
- `/
|
|
264
|
+
- `/ccp:plan-phase {phase}` — skip discussion, plan directly
|
|
265
|
+
- `/ccp:list-phase-assumptions {phase}` — see Claude's assumptions
|
|
231
266
|
|
|
232
267
|
---
|
|
233
268
|
```
|
|
@@ -245,15 +280,41 @@ UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
|
|
|
245
280
|
|
|
246
281
|
**{phase_num}-UAT.md** has {N} gaps requiring fixes.
|
|
247
282
|
|
|
248
|
-
`/
|
|
283
|
+
`/ccp:plan-phase {phase} --gaps`
|
|
284
|
+
|
|
285
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
**Also available:**
|
|
290
|
+
- `/ccp:execute-phase {phase}` — execute phase plans
|
|
291
|
+
- `/ccp:verify-work {phase}` — run more UAT testing
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
**Route E.2: UAT testing incomplete (partial)**
|
|
299
|
+
|
|
300
|
+
UAT.md exists with `status: partial` — testing session ended before all items resolved.
|
|
301
|
+
|
|
302
|
+
```
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Incomplete UAT Testing
|
|
306
|
+
|
|
307
|
+
**{phase_num}-UAT.md** has {N} unresolved tests (pending, blocked, or skipped).
|
|
308
|
+
|
|
309
|
+
`/ccp:verify-work {phase}` — resume testing from where you left off
|
|
249
310
|
|
|
250
311
|
<sub>`/clear` first → fresh context window</sub>
|
|
251
312
|
|
|
252
313
|
---
|
|
253
314
|
|
|
254
315
|
**Also available:**
|
|
255
|
-
- `/
|
|
256
|
-
- `/
|
|
316
|
+
- `/ccp:audit-uat` — full cross-phase UAT audit
|
|
317
|
+
- `/ccp:execute-phase {phase}` — execute phase plans
|
|
257
318
|
|
|
258
319
|
---
|
|
259
320
|
```
|
|
@@ -292,15 +353,15 @@ Read ROADMAP.md to get the next phase's name and goal.
|
|
|
292
353
|
|
|
293
354
|
**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
294
355
|
|
|
295
|
-
`/
|
|
356
|
+
`/ccp:discuss-phase {Z+1}` — gather context and clarify approach
|
|
296
357
|
|
|
297
358
|
<sub>`/clear` first → fresh context window</sub>
|
|
298
359
|
|
|
299
360
|
---
|
|
300
361
|
|
|
301
362
|
**Also available:**
|
|
302
|
-
- `/
|
|
303
|
-
- `/
|
|
363
|
+
- `/ccp:plan-phase {Z+1}` — skip discussion, plan directly
|
|
364
|
+
- `/ccp:verify-work {Z}` — user acceptance test before continuing
|
|
304
365
|
|
|
305
366
|
---
|
|
306
367
|
```
|
|
@@ -320,14 +381,14 @@ All {N} phases finished!
|
|
|
320
381
|
|
|
321
382
|
**Complete Milestone** — archive and prepare for next
|
|
322
383
|
|
|
323
|
-
`/
|
|
384
|
+
`/ccp:complete-milestone`
|
|
324
385
|
|
|
325
386
|
<sub>`/clear` first → fresh context window</sub>
|
|
326
387
|
|
|
327
388
|
---
|
|
328
389
|
|
|
329
390
|
**Also available:**
|
|
330
|
-
- `/
|
|
391
|
+
- `/ccp:verify-work` — user acceptance test before completing milestone
|
|
331
392
|
|
|
332
393
|
---
|
|
333
394
|
```
|
|
@@ -351,7 +412,7 @@ Ready to plan the next milestone.
|
|
|
351
412
|
|
|
352
413
|
**Start Next Milestone** — questioning → research → requirements → roadmap
|
|
353
414
|
|
|
354
|
-
`/
|
|
415
|
+
`/ccp:new-milestone`
|
|
355
416
|
|
|
356
417
|
<sub>`/clear` first → fresh context window</sub>
|
|
357
418
|
|
|
@@ -363,10 +424,10 @@ Ready to plan the next milestone.
|
|
|
363
424
|
<step name="edge_cases">
|
|
364
425
|
**Handle edge cases:**
|
|
365
426
|
|
|
366
|
-
- Phase complete but next phase not planned → offer `/
|
|
427
|
+
- Phase complete but next phase not planned → offer `/ccp:plan-phase [next]`
|
|
367
428
|
- All work complete → offer milestone completion
|
|
368
429
|
- Blockers present → highlight before offering to continue
|
|
369
|
-
- Handoff file exists → mention it, offer `/
|
|
430
|
+
- Handoff file exists → mention it, offer `/ccp:resume-work`
|
|
370
431
|
</step>
|
|
371
432
|
|
|
372
433
|
</process>
|
|
@@ -376,7 +437,7 @@ Ready to plan the next milestone.
|
|
|
376
437
|
- [ ] Rich context provided (recent work, decisions, issues)
|
|
377
438
|
- [ ] Current position clear with visual progress
|
|
378
439
|
- [ ] What's next clearly explained
|
|
379
|
-
- [ ] Smart routing: /
|
|
440
|
+
- [ ] Smart routing: /ccp:execute-phase if plans exist, /ccp:plan-phase if not
|
|
380
441
|
- [ ] User confirms before any action
|
|
381
|
-
- [ ] Seamless handoff to appropriate
|
|
442
|
+
- [ ] Seamless handoff to appropriate ccp command
|
|
382
443
|
</success_criteria>
|
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Execute small, ad-hoc tasks with
|
|
2
|
+
Execute small, ad-hoc tasks with CCP guarantees (atomic commits, STATE.md tracking). Quick mode spawns ccp-planner (quick mode) + ccp-executor(s), tracks tasks in `.planning/quick/`, and updates STATE.md's "Quick Tasks Completed" table.
|
|
3
3
|
|
|
4
4
|
With `--discuss` flag: lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md so the planner treats them as locked.
|
|
5
5
|
|
|
6
6
|
With `--full` flag: enables plan-checking (max 2 iterations) and post-execution verification for quality guarantees without full milestone ceremony.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
With `--research` flag: spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls. Use when you're unsure how to approach a task.
|
|
9
|
+
|
|
10
|
+
Flags are composable: `--discuss --research --full` gives discussion + research + plan-checking + verification.
|
|
9
11
|
</purpose>
|
|
10
12
|
|
|
11
13
|
<required_reading>
|
|
12
14
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
13
15
|
</required_reading>
|
|
14
16
|
|
|
17
|
+
<available_agent_types>
|
|
18
|
+
Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
19
|
+
- ccp-phase-researcher — Researches technical approaches for a phase
|
|
20
|
+
- ccp-planner — Creates detailed plans from phase scope
|
|
21
|
+
- ccp-plan-checker — Reviews plan quality before execution
|
|
22
|
+
- ccp-executor — Executes plan tasks, commits, creates SUMMARY.md
|
|
23
|
+
- ccp-verifier — Verifies phase completion, checks quality gates
|
|
24
|
+
</available_agent_types>
|
|
25
|
+
|
|
15
26
|
<process>
|
|
16
27
|
**Step 1: Parse arguments and get task description**
|
|
17
28
|
|
|
18
29
|
Parse `$ARGUMENTS` for:
|
|
19
30
|
- `--full` flag → store as `$FULL_MODE` (true/false)
|
|
20
31
|
- `--discuss` flag → store as `$DISCUSS_MODE` (true/false)
|
|
32
|
+
- `--research` flag → store as `$RESEARCH_MODE` (true/false)
|
|
21
33
|
- Remaining text → use as `$DESCRIPTION` if non-empty
|
|
22
34
|
|
|
23
35
|
If `$DESCRIPTION` is empty after parsing, prompt user interactively:
|
|
@@ -39,7 +51,7 @@ Display banner based on active flags:
|
|
|
39
51
|
If `$DISCUSS_MODE` and `$FULL_MODE`:
|
|
40
52
|
```
|
|
41
53
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
-
|
|
54
|
+
Pilot ► QUICK TASK (DISCUSS + FULL)
|
|
43
55
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
56
|
|
|
45
57
|
◆ Discussion + plan checking + verification enabled
|
|
@@ -48,7 +60,7 @@ If `$DISCUSS_MODE` and `$FULL_MODE`:
|
|
|
48
60
|
If `$DISCUSS_MODE` only:
|
|
49
61
|
```
|
|
50
62
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
51
|
-
|
|
63
|
+
Pilot ► QUICK TASK (DISCUSS)
|
|
52
64
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
53
65
|
|
|
54
66
|
◆ Discussion phase enabled — surfacing gray areas before planning
|
|
@@ -57,7 +69,7 @@ If `$DISCUSS_MODE` only:
|
|
|
57
69
|
If `$FULL_MODE` only:
|
|
58
70
|
```
|
|
59
71
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
-
|
|
72
|
+
Pilot ► QUICK TASK (FULL MODE)
|
|
61
73
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
74
|
|
|
63
75
|
◆ Plan checking + verification enabled
|
|
@@ -68,13 +80,13 @@ If `$FULL_MODE` only:
|
|
|
68
80
|
**Step 2: Initialize**
|
|
69
81
|
|
|
70
82
|
```bash
|
|
71
|
-
INIT=$(node "$HOME/.claude/
|
|
83
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init quick "$DESCRIPTION")
|
|
72
84
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
73
85
|
```
|
|
74
86
|
|
|
75
87
|
Parse JSON for: `planner_model`, `executor_model`, `checker_model`, `verifier_model`, `commit_docs`, `next_num`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
|
|
76
88
|
|
|
77
|
-
**If `roadmap_exists` is false:** Error — Quick mode requires an active project with ROADMAP.md. Run `/
|
|
89
|
+
**If `roadmap_exists` is false:** Error — Quick mode requires an active project with ROADMAP.md. Run `/ccp:new-project` first.
|
|
78
90
|
|
|
79
91
|
Quick tasks can run mid-phase - validation only checks ROADMAP.md exists, not phase status.
|
|
80
92
|
|
|
@@ -114,7 +126,7 @@ Skip this step entirely if NOT `$DISCUSS_MODE`.
|
|
|
114
126
|
Display banner:
|
|
115
127
|
```
|
|
116
128
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
117
|
-
|
|
129
|
+
Pilot ► DISCUSSING QUICK TASK
|
|
118
130
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
131
|
|
|
120
132
|
◆ Surfacing gray areas for: ${DESCRIPTION}
|
|
@@ -264,7 +276,7 @@ Write plan to: ${QUICK_DIR}/${next_num}-PLAN.md
|
|
|
264
276
|
Return: ## PLANNING COMPLETE with plan path
|
|
265
277
|
</output>
|
|
266
278
|
",
|
|
267
|
-
subagent_type="
|
|
279
|
+
subagent_type="ccp-planner",
|
|
268
280
|
model="{planner_model}",
|
|
269
281
|
description="Quick plan: ${DESCRIPTION}"
|
|
270
282
|
)
|
|
@@ -286,7 +298,7 @@ Skip this step entirely if NOT `$FULL_MODE`.
|
|
|
286
298
|
Display banner:
|
|
287
299
|
```
|
|
288
300
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
289
|
-
|
|
301
|
+
Pilot ► CHECKING PLAN
|
|
290
302
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
291
303
|
|
|
292
304
|
◆ Spawning plan checker...
|
|
@@ -326,7 +338,7 @@ ${DISCUSS_MODE ? '- Context compliance: Does the plan honor locked decisions fro
|
|
|
326
338
|
```
|
|
327
339
|
Task(
|
|
328
340
|
prompt=checker_prompt,
|
|
329
|
-
subagent_type="
|
|
341
|
+
subagent_type="ccp-plan-checker",
|
|
330
342
|
model="{checker_model}",
|
|
331
343
|
description="Check quick plan: ${DESCRIPTION}"
|
|
332
344
|
)
|
|
@@ -369,7 +381,7 @@ Return what changed.
|
|
|
369
381
|
```
|
|
370
382
|
Task(
|
|
371
383
|
prompt=revision_prompt,
|
|
372
|
-
subagent_type="
|
|
384
|
+
subagent_type="ccp-planner",
|
|
373
385
|
model="{planner_model}",
|
|
374
386
|
description="Revise quick plan: ${DESCRIPTION}"
|
|
375
387
|
)
|
|
@@ -387,7 +399,7 @@ Offer: 1) Force proceed, 2) Abort
|
|
|
387
399
|
|
|
388
400
|
**Step 6: Spawn executor**
|
|
389
401
|
|
|
390
|
-
Spawn
|
|
402
|
+
Spawn ccp-executor with plan reference:
|
|
391
403
|
|
|
392
404
|
```
|
|
393
405
|
Task(
|
|
@@ -408,7 +420,7 @@ Execute quick task ${next_num}.
|
|
|
408
420
|
- Do NOT update ROADMAP.md (quick tasks are separate from planned phases)
|
|
409
421
|
</constraints>
|
|
410
422
|
",
|
|
411
|
-
subagent_type="
|
|
423
|
+
subagent_type="ccp-executor",
|
|
412
424
|
model="{executor_model}",
|
|
413
425
|
description="Execute: ${DESCRIPTION}"
|
|
414
426
|
)
|
|
@@ -434,7 +446,7 @@ Skip this step entirely if NOT `$FULL_MODE`.
|
|
|
434
446
|
Display banner:
|
|
435
447
|
```
|
|
436
448
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
437
|
-
|
|
449
|
+
Pilot ► VERIFYING RESULTS
|
|
438
450
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
439
451
|
|
|
440
452
|
◆ Spawning verifier...
|
|
@@ -451,7 +463,7 @@ Task goal: ${DESCRIPTION}
|
|
|
451
463
|
</files_to_read>
|
|
452
464
|
|
|
453
465
|
Check must_haves against actual codebase. Create VERIFICATION.md at ${QUICK_DIR}/${next_num}-VERIFICATION.md.",
|
|
454
|
-
subagent_type="
|
|
466
|
+
subagent_type="ccp-verifier",
|
|
455
467
|
model="{verifier_model}",
|
|
456
468
|
description="Verify: ${DESCRIPTION}"
|
|
457
469
|
)
|
|
@@ -539,7 +551,7 @@ Build file list:
|
|
|
539
551
|
- If `$FULL_MODE` and verification file exists: `${QUICK_DIR}/${next_num}-VERIFICATION.md`
|
|
540
552
|
|
|
541
553
|
```bash
|
|
542
|
-
node "$HOME/.claude/
|
|
554
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs(quick-${next_num}): ${DESCRIPTION}" --files ${file_list}
|
|
543
555
|
```
|
|
544
556
|
|
|
545
557
|
Get final commit hash:
|
|
@@ -553,7 +565,7 @@ Display completion output:
|
|
|
553
565
|
```
|
|
554
566
|
---
|
|
555
567
|
|
|
556
|
-
|
|
568
|
+
Pilot > QUICK TASK COMPLETE (FULL MODE)
|
|
557
569
|
|
|
558
570
|
Quick Task ${next_num}: ${DESCRIPTION}
|
|
559
571
|
|
|
@@ -563,14 +575,14 @@ Commit: ${commit_hash}
|
|
|
563
575
|
|
|
564
576
|
---
|
|
565
577
|
|
|
566
|
-
Ready for next task: /
|
|
578
|
+
Ready for next task: /ccp:quick
|
|
567
579
|
```
|
|
568
580
|
|
|
569
581
|
**If NOT `$FULL_MODE`:**
|
|
570
582
|
```
|
|
571
583
|
---
|
|
572
584
|
|
|
573
|
-
|
|
585
|
+
Pilot > QUICK TASK COMPLETE
|
|
574
586
|
|
|
575
587
|
Quick Task ${next_num}: ${DESCRIPTION}
|
|
576
588
|
|
|
@@ -579,7 +591,7 @@ Commit: ${commit_hash}
|
|
|
579
591
|
|
|
580
592
|
---
|
|
581
593
|
|
|
582
|
-
Ready for next task: /
|
|
594
|
+
Ready for next task: /ccp:quick
|
|
583
595
|
```
|
|
584
596
|
|
|
585
597
|
</process>
|
|
@@ -11,15 +11,15 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
11
11
|
<step name="parse_arguments">
|
|
12
12
|
Parse the command arguments:
|
|
13
13
|
- Argument is the phase number to remove (integer or decimal)
|
|
14
|
-
- Example: `/
|
|
15
|
-
- Example: `/
|
|
14
|
+
- Example: `/ccp:remove-phase 17` → phase = 17
|
|
15
|
+
- Example: `/ccp:remove-phase 16.1` → phase = 16.1
|
|
16
16
|
|
|
17
17
|
If no argument provided:
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
ERROR: Phase number required
|
|
21
|
-
Usage: /
|
|
22
|
-
Example: /
|
|
21
|
+
Usage: /ccp:remove-phase <phase-number>
|
|
22
|
+
Example: /ccp:remove-phase 17
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Exit.
|
|
@@ -29,7 +29,7 @@ Exit.
|
|
|
29
29
|
Load phase operation context:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
INIT=$(node "$HOME/.claude/
|
|
32
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${target}")
|
|
33
33
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
34
|
```
|
|
35
35
|
|
|
@@ -53,7 +53,7 @@ Only future phases can be removed:
|
|
|
53
53
|
- Current phase: {current}
|
|
54
54
|
- Phase {target} is current or completed
|
|
55
55
|
|
|
56
|
-
To abandon current work, use /
|
|
56
|
+
To abandon current work, use /ccp:pause-work instead.
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Exit.
|
|
@@ -77,16 +77,16 @@ Wait for confirmation.
|
|
|
77
77
|
</step>
|
|
78
78
|
|
|
79
79
|
<step name="execute_removal">
|
|
80
|
-
**Delegate the entire removal operation to
|
|
80
|
+
**Delegate the entire removal operation to ccp-tools:**
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
RESULT=$(node "$HOME/.claude/
|
|
83
|
+
RESULT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" phase remove "${target}")
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
If the phase has executed plans (SUMMARY.md files),
|
|
86
|
+
If the phase has executed plans (SUMMARY.md files), ccp-tools will error. Use `--force` only if the user confirms:
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
|
-
RESULT=$(node "$HOME/.claude/
|
|
89
|
+
RESULT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" phase remove "${target}" --force)
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
The CLI handles:
|
|
@@ -103,7 +103,7 @@ Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `ren
|
|
|
103
103
|
Stage and commit the removal:
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
|
-
node "$HOME/.claude/
|
|
106
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "chore: remove phase {target} ({original-phase-name})" --files .planning/
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
The commit message preserves the historical record of what was removed.
|
|
@@ -126,7 +126,7 @@ Changes:
|
|
|
126
126
|
## What's Next
|
|
127
127
|
|
|
128
128
|
Would you like to:
|
|
129
|
-
- `/
|
|
129
|
+
- `/ccp:progress` — see updated roadmap status
|
|
130
130
|
- Continue with current phase
|
|
131
131
|
- Review roadmap
|
|
132
132
|
|
|
@@ -140,7 +140,7 @@ Would you like to:
|
|
|
140
140
|
|
|
141
141
|
- Don't remove completed phases (have SUMMARY.md files) without --force
|
|
142
142
|
- Don't remove current or past phases
|
|
143
|
-
- Don't manually renumber — use `
|
|
143
|
+
- Don't manually renumber — use `ccp-tools phase remove` which handles all renumbering
|
|
144
144
|
- Don't add "removed phase" notes to STATE.md — git commit is the record
|
|
145
145
|
- Don't modify completed phase directories
|
|
146
146
|
</anti_patterns>
|
|
@@ -149,7 +149,7 @@ Would you like to:
|
|
|
149
149
|
Phase removal is complete when:
|
|
150
150
|
|
|
151
151
|
- [ ] Target phase validated as future/unstarted
|
|
152
|
-
- [ ] `
|
|
152
|
+
- [ ] `ccp-tools phase remove` executed successfully
|
|
153
153
|
- [ ] Changes committed with descriptive message
|
|
154
154
|
- [ ] User informed of changes
|
|
155
155
|
</success_criteria>
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Research how to implement a phase. Spawns
|
|
2
|
+
Research how to implement a phase. Spawns ccp-phase-researcher with phase context.
|
|
3
3
|
|
|
4
|
-
Standalone research command. For most workflows, use `/
|
|
4
|
+
Standalone research command. For most workflows, use `/ccp:plan-phase` which integrates research automatically.
|
|
5
5
|
</purpose>
|
|
6
6
|
|
|
7
|
+
<available_agent_types>
|
|
8
|
+
Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
9
|
+
- ccp-phase-researcher — Researches technical approaches for a phase
|
|
10
|
+
</available_agent_types>
|
|
11
|
+
|
|
7
12
|
<process>
|
|
8
13
|
|
|
9
14
|
## Step 0: Resolve Model Profile
|
|
10
15
|
|
|
11
|
-
@~/.claude/
|
|
16
|
+
@~/.claude/pilot/references/model-profile-resolution.md
|
|
12
17
|
|
|
13
18
|
Resolve model for:
|
|
14
|
-
- `
|
|
19
|
+
- `ccp-phase-researcher`
|
|
15
20
|
|
|
16
21
|
## Step 1: Normalize and Validate Phase
|
|
17
22
|
|
|
18
|
-
@~/.claude/
|
|
23
|
+
@~/.claude/pilot/references/phase-argument-parsing.md
|
|
19
24
|
|
|
20
25
|
```bash
|
|
21
|
-
PHASE_INFO=$(node "$HOME/.claude/
|
|
26
|
+
PHASE_INFO=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap get-phase "${PHASE}")
|
|
22
27
|
```
|
|
23
28
|
|
|
24
29
|
If `found` is false: Error and exit.
|
|
@@ -26,7 +31,7 @@ If `found` is false: Error and exit.
|
|
|
26
31
|
## Step 2: Check Existing Research
|
|
27
32
|
|
|
28
33
|
```bash
|
|
29
|
-
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
|
|
34
|
+
ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null || true
|
|
30
35
|
```
|
|
31
36
|
|
|
32
37
|
If exists: Offer update/view/skip options.
|
|
@@ -34,9 +39,10 @@ If exists: Offer update/view/skip options.
|
|
|
34
39
|
## Step 3: Gather Phase Context
|
|
35
40
|
|
|
36
41
|
```bash
|
|
37
|
-
INIT=$(node "$HOME/.claude/
|
|
42
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE}")
|
|
38
43
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
39
44
|
# Extract: phase_dir, padded_phase, phase_number, state_path, requirements_path, context_path
|
|
45
|
+
AGENT_SKILLS_RESEARCHER=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" agent-skills ccp-researcher 2>/dev/null)
|
|
40
46
|
```
|
|
41
47
|
|
|
42
48
|
## Step 4: Spawn Researcher
|
|
@@ -48,11 +54,13 @@ Research implementation approach for Phase {phase}: {name}
|
|
|
48
54
|
</objective>
|
|
49
55
|
|
|
50
56
|
<files_to_read>
|
|
51
|
-
- {context_path} (USER DECISIONS from /
|
|
57
|
+
- {context_path} (USER DECISIONS from /ccp:discuss-phase)
|
|
52
58
|
- {requirements_path} (Project requirements)
|
|
53
59
|
- {state_path} (Project decisions and history)
|
|
54
60
|
</files_to_read>
|
|
55
61
|
|
|
62
|
+
${AGENT_SKILLS_RESEARCHER}
|
|
63
|
+
|
|
56
64
|
<additional_context>
|
|
57
65
|
Phase description: {description}
|
|
58
66
|
</additional_context>
|
|
@@ -60,7 +68,7 @@ Phase description: {description}
|
|
|
60
68
|
<output>
|
|
61
69
|
Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
|
|
62
70
|
</output>",
|
|
63
|
-
subagent_type="
|
|
71
|
+
subagent_type="ccp-phase-researcher",
|
|
64
72
|
model="{researcher_model}"
|
|
65
73
|
)
|
|
66
74
|
```
|