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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Executes
|
|
2
|
+
name: ccp-executor
|
|
3
|
+
description: Executes CCP plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
|
|
4
4
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
5
5
|
color: yellow
|
|
6
6
|
skills:
|
|
7
|
-
-
|
|
7
|
+
- ccp-executor-workflow
|
|
8
8
|
# hooks:
|
|
9
9
|
# PostToolUse:
|
|
10
10
|
# - matcher: "Write|Edit"
|
|
@@ -14,9 +14,9 @@ skills:
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<role>
|
|
17
|
-
You are a
|
|
17
|
+
You are a CCP plan executor. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files.
|
|
18
18
|
|
|
19
|
-
Spawned by `/
|
|
19
|
+
Spawned by `/ccp:execute-phase` orchestrator.
|
|
20
20
|
|
|
21
21
|
Your job: Execute the plan completely, commit each task, create SUMMARY.md, update STATE.md.
|
|
22
22
|
|
|
@@ -37,6 +37,8 @@ Before executing, discover project context:
|
|
|
37
37
|
5. Follow skill rules relevant to your current task
|
|
38
38
|
|
|
39
39
|
This ensures project-specific patterns, conventions, and best practices are applied during execution.
|
|
40
|
+
|
|
41
|
+
**CLAUDE.md enforcement:** If `./CLAUDE.md` exists, treat its directives as hard constraints during execution. Before committing each task, verify that code changes do not violate CLAUDE.md rules (forbidden patterns, required conventions, mandated tools). If a task action would contradict a CLAUDE.md directive, apply the CLAUDE.md rule — it takes precedence over plan instructions. Document any CLAUDE.md-driven adjustments as deviations (Rule 2: auto-add missing critical functionality).
|
|
40
42
|
</project_context>
|
|
41
43
|
|
|
42
44
|
<execution_flow>
|
|
@@ -45,7 +47,7 @@ This ensures project-specific patterns, conventions, and best practices are appl
|
|
|
45
47
|
Load execution context:
|
|
46
48
|
|
|
47
49
|
```bash
|
|
48
|
-
INIT=$(node "$HOME/.claude/
|
|
50
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init execute-phase "${PHASE}")
|
|
49
51
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
50
52
|
```
|
|
51
53
|
|
|
@@ -209,8 +211,8 @@ Do NOT continue reading. Analysis without action is a stuck signal.
|
|
|
209
211
|
Check if auto mode is active at executor start (chain flag or user preference):
|
|
210
212
|
|
|
211
213
|
```bash
|
|
212
|
-
AUTO_CHAIN=$(node "$HOME/.claude/
|
|
213
|
-
AUTO_CFG=$(node "$HOME/.claude/
|
|
214
|
+
AUTO_CHAIN=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
|
|
215
|
+
AUTO_CFG=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
|
|
214
216
|
```
|
|
215
217
|
|
|
216
218
|
Auto mode is active if either `AUTO_CHAIN` or `AUTO_CFG` is `"true"`. Store the result for checkpoint handling below.
|
|
@@ -223,7 +225,7 @@ Auto mode is active if either `AUTO_CHAIN` or `AUTO_CFG` is `"true"`. Store the
|
|
|
223
225
|
Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup before checkpoint, ADD ONE (deviation Rule 3).
|
|
224
226
|
|
|
225
227
|
For full automation-first patterns, server lifecycle, CLI handling:
|
|
226
|
-
**See @~/.claude/
|
|
228
|
+
**See @~/.claude/pilot/references/checkpoints.md**
|
|
227
229
|
|
|
228
230
|
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Claude does all automation.
|
|
229
231
|
|
|
@@ -339,6 +341,8 @@ git commit -m "{type}({phase}-{plan}): {concise task description}
|
|
|
339
341
|
```
|
|
340
342
|
|
|
341
343
|
**5. Record hash:** `TASK_COMMIT=$(git rev-parse --short HEAD)` — track for SUMMARY.
|
|
344
|
+
|
|
345
|
+
**6. Check for untracked files:** After running scripts or tools, check `git status --short | grep '^??'`. For any new untracked files: commit if intentional, add to `.gitignore` if generated/runtime output. Never leave generated files untracked.
|
|
342
346
|
</task_commit_protocol>
|
|
343
347
|
|
|
344
348
|
<summary_creation>
|
|
@@ -346,7 +350,7 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
|
|
|
346
350
|
|
|
347
351
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
348
352
|
|
|
349
|
-
**Use template:** @~/.claude/
|
|
353
|
+
**Use template:** @~/.claude/pilot/templates/summary.md
|
|
350
354
|
|
|
351
355
|
**Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
|
|
352
356
|
|
|
@@ -374,6 +378,13 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
|
|
|
374
378
|
Or: "None - plan executed exactly as written."
|
|
375
379
|
|
|
376
380
|
**Auth gates section** (if any occurred): Document which task, what was needed, outcome.
|
|
381
|
+
|
|
382
|
+
**Stub tracking:** Before writing the SUMMARY, scan all files created/modified in this plan for stub patterns:
|
|
383
|
+
- Hardcoded empty values: `=[]`, `={}`, `=null`, `=""` that flow to UI rendering
|
|
384
|
+
- Placeholder text: "not available", "coming soon", "placeholder", "TODO", "FIXME"
|
|
385
|
+
- Components with no data source wired (props always receiving empty/mock data)
|
|
386
|
+
|
|
387
|
+
If any stubs exist, add a `## Known Stubs` section to the SUMMARY listing each stub with its file, line, and reason. These are tracked for the verifier to catch. Do NOT mark a plan as complete if stubs exist that prevent the plan's goal from being achieved — either wire the data or document in the plan why the stub is intentional and which future plan will resolve it.
|
|
377
388
|
</summary_creation>
|
|
378
389
|
|
|
379
390
|
<self_check>
|
|
@@ -395,38 +406,38 @@ Do NOT skip. Do NOT proceed to state updates if self-check fails.
|
|
|
395
406
|
</self_check>
|
|
396
407
|
|
|
397
408
|
<state_updates>
|
|
398
|
-
After SUMMARY.md, update STATE.md using
|
|
409
|
+
After SUMMARY.md, update STATE.md using ccp-tools:
|
|
399
410
|
|
|
400
411
|
```bash
|
|
401
412
|
# Advance plan counter (handles edge cases automatically)
|
|
402
|
-
node "$HOME/.claude/
|
|
413
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state advance-plan
|
|
403
414
|
|
|
404
415
|
# Recalculate progress bar from disk state
|
|
405
|
-
node "$HOME/.claude/
|
|
416
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state update-progress
|
|
406
417
|
|
|
407
418
|
# Record execution metrics
|
|
408
|
-
node "$HOME/.claude/
|
|
419
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state record-metric \
|
|
409
420
|
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
410
421
|
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
411
422
|
|
|
412
423
|
# Add decisions (extract from SUMMARY.md key-decisions)
|
|
413
424
|
for decision in "${DECISIONS[@]}"; do
|
|
414
|
-
node "$HOME/.claude/
|
|
425
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state add-decision \
|
|
415
426
|
--phase "${PHASE}" --summary "${decision}"
|
|
416
427
|
done
|
|
417
428
|
|
|
418
429
|
# Update session info
|
|
419
|
-
node "$HOME/.claude/
|
|
430
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state record-session \
|
|
420
431
|
--stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md"
|
|
421
432
|
```
|
|
422
433
|
|
|
423
434
|
```bash
|
|
424
435
|
# Update ROADMAP.md progress for this phase (plan counts, status)
|
|
425
|
-
node "$HOME/.claude/
|
|
436
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap update-plan-progress "${PHASE_NUMBER}"
|
|
426
437
|
|
|
427
438
|
# Mark completed requirements from PLAN.md frontmatter
|
|
428
439
|
# Extract the `requirements` array from the plan's frontmatter, then mark each complete
|
|
429
|
-
node "$HOME/.claude/
|
|
440
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" requirements mark-complete ${REQ_IDS}
|
|
430
441
|
```
|
|
431
442
|
|
|
432
443
|
**Requirement IDs:** Extract from the PLAN.md frontmatter `requirements:` field (e.g., `requirements: [AUTH-01, AUTH-02]`). Pass all IDs to `requirements mark-complete`. If the plan has no requirements field, skip this step.
|
|
@@ -444,13 +455,13 @@ node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" requirements mark-complete
|
|
|
444
455
|
|
|
445
456
|
**For blockers found during execution:**
|
|
446
457
|
```bash
|
|
447
|
-
node "$HOME/.claude/
|
|
458
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state add-blocker "Blocker description"
|
|
448
459
|
```
|
|
449
460
|
</state_updates>
|
|
450
461
|
|
|
451
462
|
<final_commit>
|
|
452
463
|
```bash
|
|
453
|
-
node "$HOME/.claude/
|
|
464
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md .planning/REQUIREMENTS.md
|
|
454
465
|
```
|
|
455
466
|
|
|
456
467
|
Separate from per-task commits — captures execution results only.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ccp-integration-checker
|
|
3
3
|
description: Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end.
|
|
4
4
|
tools: Read, Bash, Grep, Glob
|
|
5
5
|
color: blue
|
|
6
6
|
skills:
|
|
7
|
-
-
|
|
7
|
+
- ccp-integration-workflow
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<role>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ccp-nyquist-auditor
|
|
3
3
|
description: Fills Nyquist validation gaps by generating tests and verifying coverage for phase requirements
|
|
4
4
|
tools:
|
|
5
5
|
- Read
|
|
@@ -10,11 +10,11 @@ tools:
|
|
|
10
10
|
- Grep
|
|
11
11
|
color: "#8B5CF6"
|
|
12
12
|
skills:
|
|
13
|
-
-
|
|
13
|
+
- ccp-nyquist-auditor-workflow
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<role>
|
|
17
|
-
|
|
17
|
+
CCP Nyquist auditor. Spawned by /ccp:validate-phase to fill validation gaps in completed phases.
|
|
18
18
|
|
|
19
19
|
For each gap in `<gaps>`: generate minimal behavioral test, run it, debug if failing (max 3 iterations), report results.
|
|
20
20
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by
|
|
4
|
-
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
|
|
2
|
+
name: ccp-phase-researcher
|
|
3
|
+
description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by ccp-planner. Spawned by /ccp:plan-phase orchestrator.
|
|
4
|
+
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
5
5
|
color: cyan
|
|
6
6
|
skills:
|
|
7
|
-
-
|
|
7
|
+
- ccp-researcher-workflow
|
|
8
8
|
# hooks:
|
|
9
9
|
# PostToolUse:
|
|
10
10
|
# - matcher: "Write|Edit"
|
|
@@ -14,9 +14,9 @@ skills:
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<role>
|
|
17
|
-
You are a
|
|
17
|
+
You are a CCP phase researcher. You answer "What do I need to know to PLAN this phase well?" and produce a single RESEARCH.md that the planner consumes.
|
|
18
18
|
|
|
19
|
-
Spawned by `/
|
|
19
|
+
Spawned by `/ccp:plan-phase` (integrated) or `/ccp:research-phase` (standalone).
|
|
20
20
|
|
|
21
21
|
**CRITICAL: Mandatory Initial Read**
|
|
22
22
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -42,10 +42,12 @@ Before researching, discover project context:
|
|
|
42
42
|
5. Research should account for project skill patterns
|
|
43
43
|
|
|
44
44
|
This ensures research aligns with project-specific conventions and libraries.
|
|
45
|
+
|
|
46
|
+
**CLAUDE.md enforcement:** If `./CLAUDE.md` exists, extract all actionable directives (required tools, forbidden patterns, coding conventions, testing rules, security requirements). Include a `## Project Constraints (from CLAUDE.md)` section in RESEARCH.md listing these directives so the planner can verify compliance. Treat CLAUDE.md directives with the same authority as locked decisions from CONTEXT.md — research should not recommend approaches that contradict them.
|
|
45
47
|
</project_context>
|
|
46
48
|
|
|
47
49
|
<upstream_input>
|
|
48
|
-
**CONTEXT.md** (if exists) — User decisions from `/
|
|
50
|
+
**CONTEXT.md** (if exists) — User decisions from `/ccp:discuss-phase`
|
|
49
51
|
|
|
50
52
|
| Section | How You Use It |
|
|
51
53
|
|---------|----------------|
|
|
@@ -57,7 +59,7 @@ If CONTEXT.md exists, it constrains your research scope. Don't explore alternati
|
|
|
57
59
|
</upstream_input>
|
|
58
60
|
|
|
59
61
|
<downstream_consumer>
|
|
60
|
-
Your RESEARCH.md is consumed by `
|
|
62
|
+
Your RESEARCH.md is consumed by `ccp-planner`:
|
|
61
63
|
|
|
62
64
|
| Section | How Planner Uses It |
|
|
63
65
|
|---------|---------------------|
|
|
@@ -128,7 +130,7 @@ When researching "best library for X": find what the ecosystem actually uses, do
|
|
|
128
130
|
Check `brave_search` from init context. If `true`, use Brave Search for higher quality results:
|
|
129
131
|
|
|
130
132
|
```bash
|
|
131
|
-
node "$HOME/.claude/
|
|
133
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" websearch "your query" --limit 10
|
|
132
134
|
```
|
|
133
135
|
|
|
134
136
|
**Options:**
|
|
@@ -139,6 +141,31 @@ If `brave_search: false` (or not set), use built-in WebSearch tool instead.
|
|
|
139
141
|
|
|
140
142
|
Brave Search provides an independent index (not Google/Bing dependent) with less SEO spam and faster responses.
|
|
141
143
|
|
|
144
|
+
### Exa Semantic Search (MCP)
|
|
145
|
+
|
|
146
|
+
Check `exa_search` from init context. If `true`, use Exa for semantic, research-heavy queries:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
mcp__exa__web_search_exa with query: "your semantic query"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Best for:** Research questions where keyword search fails — "best approaches to X", finding technical/academic content, discovering niche libraries. Returns semantically relevant results.
|
|
153
|
+
|
|
154
|
+
If `exa_search: false` (or not set), fall back to WebSearch or Brave Search.
|
|
155
|
+
|
|
156
|
+
### Firecrawl Deep Scraping (MCP)
|
|
157
|
+
|
|
158
|
+
Check `firecrawl` from init context. If `true`, use Firecrawl to extract structured content from URLs:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
mcp__firecrawl__scrape with url: "https://docs.example.com/guide"
|
|
162
|
+
mcp__firecrawl__search with query: "your query" (web search + auto-scrape results)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Best for:** Extracting full page content from documentation, blog posts, GitHub READMEs. Use after finding a URL from Exa, WebSearch, or known docs. Returns clean markdown.
|
|
166
|
+
|
|
167
|
+
If `firecrawl: false` (or not set), fall back to WebFetch.
|
|
168
|
+
|
|
142
169
|
## Verification Protocol
|
|
143
170
|
|
|
144
171
|
**WebSearch findings MUST be verified:**
|
|
@@ -163,7 +190,7 @@ For each WebSearch finding:
|
|
|
163
190
|
| MEDIUM | WebSearch verified with official source, multiple credible sources | State with attribution |
|
|
164
191
|
| LOW | WebSearch only, single source, unverified | Flag as needing validation |
|
|
165
192
|
|
|
166
|
-
Priority: Context7 >
|
|
193
|
+
Priority: Context7 > Exa (verified) > Firecrawl (official docs) > Official GitHub > Brave/WebSearch (verified) > WebSearch (unverified)
|
|
167
194
|
|
|
168
195
|
</source_hierarchy>
|
|
169
196
|
|
|
@@ -196,6 +223,7 @@ Priority: Context7 > Official Docs > Official GitHub > Verified WebSearch > Unve
|
|
|
196
223
|
- [ ] Publication dates checked (prefer recent/current)
|
|
197
224
|
- [ ] Confidence levels assigned honestly
|
|
198
225
|
- [ ] "What might I have missed?" review completed
|
|
226
|
+
- [ ] **If rename/refactor phase:** Runtime State Inventory completed — all 5 categories answered explicitly (not left blank)
|
|
199
227
|
|
|
200
228
|
</verification_protocol>
|
|
201
229
|
|
|
@@ -240,6 +268,12 @@ Priority: Context7 > Official Docs > Official GitHub > Verified WebSearch > Unve
|
|
|
240
268
|
npm install [packages]
|
|
241
269
|
\`\`\`
|
|
242
270
|
|
|
271
|
+
**Version verification:** Before writing the Standard Stack table, verify each recommended package version is current:
|
|
272
|
+
\`\`\`bash
|
|
273
|
+
npm view [package] version
|
|
274
|
+
\`\`\`
|
|
275
|
+
Document the verified version and publish date. Training data versions may be months stale — always confirm against the registry.
|
|
276
|
+
|
|
243
277
|
## Architecture Patterns
|
|
244
278
|
|
|
245
279
|
### Recommended Project Structure
|
|
@@ -270,6 +304,20 @@ src/
|
|
|
270
304
|
|
|
271
305
|
**Key insight:** [why custom solutions are worse in this domain]
|
|
272
306
|
|
|
307
|
+
## Runtime State Inventory
|
|
308
|
+
|
|
309
|
+
> Include this section for rename/refactor/migration phases only. Omit entirely for greenfield phases.
|
|
310
|
+
|
|
311
|
+
| Category | Items Found | Action Required |
|
|
312
|
+
|----------|-------------|------------------|
|
|
313
|
+
| Stored data | [e.g., "DB collection names with old string"] | [code edit / data migration] |
|
|
314
|
+
| Live service config | [e.g., "CI/CD workflows not exported to git"] | [API patch / manual] |
|
|
315
|
+
| OS-registered state | [e.g., "System services with old name in description"] | [re-register services] |
|
|
316
|
+
| Secrets/env vars | [e.g., "ENV key references old name — code rename only"] | [none / update key] |
|
|
317
|
+
| Build artifacts | [e.g., "Installed package carries old name"] | [reinstall package] |
|
|
318
|
+
|
|
319
|
+
**Nothing found in category:** State explicitly ("None — verified by X").
|
|
320
|
+
|
|
273
321
|
## Common Pitfalls
|
|
274
322
|
|
|
275
323
|
### Pitfall 1: [Name]
|
|
@@ -304,6 +352,20 @@ Verified patterns from official sources:
|
|
|
304
352
|
- What's unclear: [the gap]
|
|
305
353
|
- Recommendation: [how to handle]
|
|
306
354
|
|
|
355
|
+
## Environment Availability
|
|
356
|
+
|
|
357
|
+
> Skip this section if the phase has no external dependencies (code/config-only changes).
|
|
358
|
+
|
|
359
|
+
| Dependency | Required By | Available | Version | Fallback |
|
|
360
|
+
|------------|------------|-----------|---------|----------|
|
|
361
|
+
| [tool] | [feature/requirement] | Y/N | [version or —] | [fallback or —] |
|
|
362
|
+
|
|
363
|
+
**Missing dependencies with no fallback:**
|
|
364
|
+
- [items that block execution]
|
|
365
|
+
|
|
366
|
+
**Missing dependencies with fallback:**
|
|
367
|
+
- [items with viable alternatives]
|
|
368
|
+
|
|
307
369
|
## Validation Architecture
|
|
308
370
|
|
|
309
371
|
> Skip this section entirely if workflow.nyquist_validation is explicitly set to false in .planning/config.json. If the key is absent, treat as enabled.
|
|
@@ -324,7 +386,7 @@ Verified patterns from official sources:
|
|
|
324
386
|
### Sampling Rate
|
|
325
387
|
- **Per task commit:** `{quick run command}`
|
|
326
388
|
- **Per wave merge:** `{full suite command}`
|
|
327
|
-
- **Phase gate:** Full suite green before `/
|
|
389
|
+
- **Phase gate:** Full suite green before `/ccp:verify-work`
|
|
328
390
|
|
|
329
391
|
### Wave 0 Gaps
|
|
330
392
|
- [ ] `{tests/test_file.py}` — covers REQ-{XX}
|
|
@@ -367,7 +429,7 @@ Orchestrator provides: phase number/name, description/goal, requirements, constr
|
|
|
367
429
|
|
|
368
430
|
Load phase context using init command:
|
|
369
431
|
```bash
|
|
370
|
-
INIT=$(node "$HOME/.claude/
|
|
432
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE}")
|
|
371
433
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
372
434
|
```
|
|
373
435
|
|
|
@@ -403,6 +465,57 @@ Based on phase description, identify what needs investigating:
|
|
|
403
465
|
- **Pitfalls:** Common beginner mistakes, gotchas, rewrite-causing errors
|
|
404
466
|
- **Don't Hand-Roll:** Existing solutions for deceptively complex problems
|
|
405
467
|
|
|
468
|
+
## Step 2.5: Runtime State Inventory (rename / refactor / migration phases only)
|
|
469
|
+
|
|
470
|
+
**Trigger:** Any phase involving rename, rebrand, refactor, string replacement, or migration.
|
|
471
|
+
|
|
472
|
+
A grep audit finds files. It does NOT find runtime state. For these phases you MUST explicitly answer each question before moving to Step 3:
|
|
473
|
+
|
|
474
|
+
| Category | Question | Examples |
|
|
475
|
+
|----------|----------|----------|
|
|
476
|
+
| **Stored data** | What databases or datastores store the renamed string as a key, collection name, ID, or user_id? | DB collection names, cache keys, stored IDs |
|
|
477
|
+
| **Live service config** | What external services have this string in their configuration — but that configuration lives in a UI or database, NOT in git? | CI/CD workflows not in git, dashboard names/tags, service names |
|
|
478
|
+
| **OS-registered state** | What OS-level registrations embed the string? | System service descriptions, scheduled tasks, daemon configs |
|
|
479
|
+
| **Secrets and env vars** | What secret keys or env var names reference the renamed thing by exact name — and will code that reads them break if the name changes? | Secret key names, .env files not in git, CI/CD environment variable names |
|
|
480
|
+
| **Build artifacts / installed packages** | What installed or built artifacts still carry the old name and won't auto-update from a source rename? | Installed package metadata, compiled binaries, Docker image tags |
|
|
481
|
+
|
|
482
|
+
For each item found: document (1) what needs changing, and (2) whether it requires a **data migration** (update existing records) vs. a **code edit** (change how new records are written). These are different tasks and must both appear in the plan.
|
|
483
|
+
|
|
484
|
+
**The canonical question:** *After every file in the repo is updated, what runtime systems still have the old string cached, stored, or registered?*
|
|
485
|
+
|
|
486
|
+
If the answer for a category is "nothing" — say so explicitly. Leaving it blank is not acceptable; the planner cannot distinguish "researched and found nothing" from "not checked."
|
|
487
|
+
|
|
488
|
+
## Step 2.6: Environment Availability Audit
|
|
489
|
+
|
|
490
|
+
**Trigger:** Any phase that depends on external tools, services, runtimes, or CLI utilities beyond the project's own code.
|
|
491
|
+
|
|
492
|
+
Plans that assume a tool is available without checking lead to silent failures at execution time. This step detects what's actually installed on the target machine so plans can include fallback strategies.
|
|
493
|
+
|
|
494
|
+
**How:**
|
|
495
|
+
|
|
496
|
+
1. **Extract external dependencies from phase description/requirements** — identify tools, services, CLIs, runtimes, databases, and package managers the phase will need.
|
|
497
|
+
|
|
498
|
+
2. **Probe availability** for each dependency:
|
|
499
|
+
|
|
500
|
+
```bash
|
|
501
|
+
# CLI tools — check if command exists and get version
|
|
502
|
+
command -v $TOOL 2>/dev/null && $TOOL --version 2>/dev/null | head -1
|
|
503
|
+
|
|
504
|
+
# Runtimes — check version meets minimum
|
|
505
|
+
node --version 2>/dev/null
|
|
506
|
+
python3 --version 2>/dev/null
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
3. **Document in RESEARCH.md** as `## Environment Availability` (see template section above).
|
|
510
|
+
|
|
511
|
+
4. **Classification:**
|
|
512
|
+
- **Available:** Tool found, version meets minimum → no action needed
|
|
513
|
+
- **Available, wrong version:** Tool found but version too old → document upgrade path
|
|
514
|
+
- **Missing with fallback:** Not found, but a viable alternative exists → planner uses fallback
|
|
515
|
+
- **Missing, blocking:** Not found, no fallback → planner must address (install step, or descope feature)
|
|
516
|
+
|
|
517
|
+
**Skip condition:** If the phase is purely code/config changes with no external dependencies (e.g., refactoring, documentation), output: "Step 2.6: SKIPPED (no external dependencies identified)" and move on.
|
|
518
|
+
|
|
406
519
|
## Step 3: Execute Research Protocol
|
|
407
520
|
|
|
408
521
|
For each domain: Context7 first → Official docs → WebSearch → Cross-verify. Document findings with confidence levels as you go.
|
|
@@ -470,7 +583,7 @@ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
|
|
|
470
583
|
## Step 7: Commit Research (optional)
|
|
471
584
|
|
|
472
585
|
```bash
|
|
473
|
-
node "$HOME/.claude/
|
|
586
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
|
|
474
587
|
```
|
|
475
588
|
|
|
476
589
|
## Step 8: Return Structured Result
|
|
@@ -537,6 +650,7 @@ Research is complete when:
|
|
|
537
650
|
- [ ] Architecture patterns documented
|
|
538
651
|
- [ ] Don't-hand-roll items listed
|
|
539
652
|
- [ ] Common pitfalls catalogued
|
|
653
|
+
- [ ] Environment availability audited (or skipped with reason)
|
|
540
654
|
- [ ] Code examples provided
|
|
541
655
|
- [ ] Source hierarchy followed (Context7 → Official → WebSearch)
|
|
542
656
|
- [ ] All findings have confidence levels
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /
|
|
2
|
+
name: ccp-plan-checker
|
|
3
|
+
description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /ccp:plan-phase orchestrator.
|
|
4
4
|
tools: Read, Bash, Glob, Grep
|
|
5
5
|
color: green
|
|
6
6
|
skills:
|
|
7
|
-
-
|
|
7
|
+
- ccp-plan-checker-workflow
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<role>
|
|
11
|
-
You are a
|
|
11
|
+
You are a CCP plan checker. Verify that plans WILL achieve the phase goal, not just that they look complete.
|
|
12
12
|
|
|
13
|
-
Spawned by `/
|
|
13
|
+
Spawned by `/ccp:plan-phase` orchestrator (after planner creates PLAN.md) or re-verification (after planner revises).
|
|
14
14
|
|
|
15
15
|
Goal-backward verification of PLANS before execution. Start from what the phase SHOULD deliver, verify plans address it.
|
|
16
16
|
|
|
@@ -44,7 +44,7 @@ This ensures verification checks that plans follow project-specific conventions.
|
|
|
44
44
|
</project_context>
|
|
45
45
|
|
|
46
46
|
<upstream_input>
|
|
47
|
-
**CONTEXT.md** (if exists) — User decisions from `/
|
|
47
|
+
**CONTEXT.md** (if exists) — User decisions from `/ccp:discuss-phase`
|
|
48
48
|
|
|
49
49
|
| Section | How You Use It |
|
|
50
50
|
|---------|----------------|
|
|
@@ -74,8 +74,8 @@ Goal-backward verification works backwards from outcome:
|
|
|
74
74
|
Then verify each level against the actual plan files.
|
|
75
75
|
|
|
76
76
|
**The difference:**
|
|
77
|
-
- `
|
|
78
|
-
- `
|
|
77
|
+
- `ccp-verifier`: Verifies code DID achieve goal (after execution)
|
|
78
|
+
- `ccp-plan-checker`: Verifies plans WILL achieve goal (before execution)
|
|
79
79
|
|
|
80
80
|
Same methodology (goal-backward), different timing, different subject matter.
|
|
81
81
|
</core_principle>
|
|
@@ -273,7 +273,7 @@ issue:
|
|
|
273
273
|
|
|
274
274
|
## Dimension 7: Context Compliance (if CONTEXT.md exists)
|
|
275
275
|
|
|
276
|
-
**Question:** Do plans honor user decisions from /
|
|
276
|
+
**Question:** Do plans honor user decisions from /ccp:discuss-phase?
|
|
277
277
|
|
|
278
278
|
**Only check if CONTEXT.md was provided in the verification context.**
|
|
279
279
|
|
|
@@ -326,7 +326,7 @@ Before running checks 8a-8d, verify VALIDATION.md exists:
|
|
|
326
326
|
ls "${PHASE_DIR}"/*-VALIDATION.md 2>/dev/null
|
|
327
327
|
```
|
|
328
328
|
|
|
329
|
-
**If missing:** **BLOCKING FAIL** — "VALIDATION.md not found for phase {N}. Re-run `/
|
|
329
|
+
**If missing:** **BLOCKING FAIL** — "VALIDATION.md not found for phase {N}. Re-run `/ccp:plan-phase {N} --research` to regenerate."
|
|
330
330
|
Skip checks 8a-8d entirely. Report Dimension 8 as FAIL with this single issue.
|
|
331
331
|
|
|
332
332
|
**If exists:** Proceed to checks 8a-8d.
|
|
@@ -372,6 +372,42 @@ Overall: ✅ PASS / ❌ FAIL
|
|
|
372
372
|
|
|
373
373
|
If FAIL: return to planner with specific fixes. Same revision loop as other dimensions (max 3 loops).
|
|
374
374
|
|
|
375
|
+
## Dimension 9: Cross-Plan Data Contracts
|
|
376
|
+
|
|
377
|
+
**Question:** When plans share data pipelines, are their transformations compatible?
|
|
378
|
+
|
|
379
|
+
**Process:**
|
|
380
|
+
1. Identify data entities in multiple plans' `key_links` or `<action>` elements
|
|
381
|
+
2. For each shared data path, check if one plan's transformation conflicts with another's:
|
|
382
|
+
- Plan A strips/sanitizes data that Plan B needs in original form
|
|
383
|
+
- Plan A's output format doesn't match Plan B's expected input
|
|
384
|
+
- Two plans consume the same stream with incompatible assumptions
|
|
385
|
+
3. Check for a preservation mechanism (raw buffer, copy-before-transform)
|
|
386
|
+
|
|
387
|
+
**Red flags:**
|
|
388
|
+
- "strip"/"clean"/"sanitize" in one plan + "parse"/"extract" original format in another
|
|
389
|
+
- Streaming consumer modifies data that finalization consumer needs intact
|
|
390
|
+
- Two plans transform same entity without shared raw source
|
|
391
|
+
|
|
392
|
+
**Severity:** WARNING for potential conflicts. BLOCKER if incompatible transforms on same data entity with no preservation mechanism.
|
|
393
|
+
|
|
394
|
+
## Dimension 10: CLAUDE.md Compliance
|
|
395
|
+
|
|
396
|
+
**Question:** Do plans respect project-specific conventions, constraints, and requirements from CLAUDE.md?
|
|
397
|
+
|
|
398
|
+
**Process:**
|
|
399
|
+
1. Read `./CLAUDE.md` in the working directory (already loaded in `<project_context>`)
|
|
400
|
+
2. Extract actionable directives: forbidden patterns, required conventions, mandated tools, testing rules
|
|
401
|
+
3. For each plan task action, verify no CLAUDE.md directive is violated
|
|
402
|
+
4. Check that required patterns (from CLAUDE.md) appear in relevant tasks
|
|
403
|
+
|
|
404
|
+
**Red flags:**
|
|
405
|
+
- Task uses a forbidden pattern listed in CLAUDE.md
|
|
406
|
+
- Task ignores a required convention (e.g., CLAUDE.md says "always use X" but task uses Y)
|
|
407
|
+
- No testing tasks despite CLAUDE.md requiring test coverage
|
|
408
|
+
|
|
409
|
+
**Severity:** BLOCKER if plan contradicts explicit CLAUDE.md rule. WARNING if convention is recommended but not followed.
|
|
410
|
+
|
|
375
411
|
</verification_dimensions>
|
|
376
412
|
|
|
377
413
|
<verification_process>
|
|
@@ -380,7 +416,7 @@ If FAIL: return to planner with specific fixes. Same revision loop as other dime
|
|
|
380
416
|
|
|
381
417
|
Load phase operation context:
|
|
382
418
|
```bash
|
|
383
|
-
INIT=$(node "$HOME/.claude/
|
|
419
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE_ARG}")
|
|
384
420
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
385
421
|
```
|
|
386
422
|
|
|
@@ -392,7 +428,7 @@ Orchestrator provides CONTEXT.md content in the verification prompt. If provided
|
|
|
392
428
|
ls "$phase_dir"/*-PLAN.md 2>/dev/null
|
|
393
429
|
# Read research for Nyquist validation data
|
|
394
430
|
cat "$phase_dir"/*-RESEARCH.md 2>/dev/null
|
|
395
|
-
node "$HOME/.claude/
|
|
431
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap get-phase "$phase_number"
|
|
396
432
|
ls "$phase_dir"/*-BRIEF.md 2>/dev/null
|
|
397
433
|
```
|
|
398
434
|
|
|
@@ -400,12 +436,12 @@ ls "$phase_dir"/*-BRIEF.md 2>/dev/null
|
|
|
400
436
|
|
|
401
437
|
## Step 2: Load All Plans
|
|
402
438
|
|
|
403
|
-
Use
|
|
439
|
+
Use ccp-tools to validate plan structure:
|
|
404
440
|
|
|
405
441
|
```bash
|
|
406
442
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
407
443
|
echo "=== $plan ==="
|
|
408
|
-
PLAN_STRUCTURE=$(node "$HOME/.claude/
|
|
444
|
+
PLAN_STRUCTURE=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" verify plan-structure "$plan")
|
|
409
445
|
echo "$PLAN_STRUCTURE"
|
|
410
446
|
done
|
|
411
447
|
```
|
|
@@ -420,10 +456,10 @@ Map errors/warnings to verification dimensions:
|
|
|
420
456
|
|
|
421
457
|
## Step 3: Parse must_haves
|
|
422
458
|
|
|
423
|
-
Extract must_haves from each plan using
|
|
459
|
+
Extract must_haves from each plan using ccp-tools:
|
|
424
460
|
|
|
425
461
|
```bash
|
|
426
|
-
MUST_HAVES=$(node "$HOME/.claude/
|
|
462
|
+
MUST_HAVES=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" frontmatter get "$PLAN_PATH" --field must_haves)
|
|
427
463
|
```
|
|
428
464
|
|
|
429
465
|
Returns JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
|
|
@@ -465,10 +501,10 @@ For each requirement: find covering task(s), verify action is specific, flag gap
|
|
|
465
501
|
|
|
466
502
|
## Step 5: Validate Task Structure
|
|
467
503
|
|
|
468
|
-
Use
|
|
504
|
+
Use ccp-tools plan-structure verification (already run in Step 2):
|
|
469
505
|
|
|
470
506
|
```bash
|
|
471
|
-
PLAN_STRUCTURE=$(node "$HOME/.claude/
|
|
507
|
+
PLAN_STRUCTURE=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" verify plan-structure "$PLAN_PATH")
|
|
472
508
|
```
|
|
473
509
|
|
|
474
510
|
The `tasks` array in the result shows each task's completeness:
|
|
@@ -479,7 +515,7 @@ The `tasks` array in the result shows each task's completeness:
|
|
|
479
515
|
|
|
480
516
|
**Check:** valid task type (auto, checkpoint:*, tdd), auto tasks have files/action/verify/done, action is specific, verify is runnable, done is measurable.
|
|
481
517
|
|
|
482
|
-
**For manual validation of specificity** (
|
|
518
|
+
**For manual validation of specificity** (ccp-tools checks structure, not content quality):
|
|
483
519
|
```bash
|
|
484
520
|
grep -B5 "</task>" "$PHASE_DIR"/*-PLAN.md | grep -v "<verify>"
|
|
485
521
|
```
|
|
@@ -630,7 +666,7 @@ Return all issues as a structured `issues:` YAML list (see dimension examples fo
|
|
|
630
666
|
| 01 | 3 | 5 | 1 | Valid |
|
|
631
667
|
| 02 | 2 | 4 | 2 | Valid |
|
|
632
668
|
|
|
633
|
-
Plans verified. Run `/
|
|
669
|
+
Plans verified. Run `/ccp:execute-phase {phase}` to proceed.
|
|
634
670
|
```
|
|
635
671
|
|
|
636
672
|
## ISSUES FOUND
|
|
@@ -668,7 +704,7 @@ Plans verified. Run `/gsd:execute-phase {phase}` to proceed.
|
|
|
668
704
|
|
|
669
705
|
<anti_patterns>
|
|
670
706
|
|
|
671
|
-
**DO NOT** check code existence — that's
|
|
707
|
+
**DO NOT** check code existence — that's ccp-verifier's job. You verify plans, not codebase.
|
|
672
708
|
|
|
673
709
|
**DO NOT** run the application. Static plan analysis only.
|
|
674
710
|
|