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.
Files changed (514) hide show
  1. package/README.md +76 -97
  2. package/bin/install.js +267 -250
  3. package/manifest.json +5 -18
  4. package/package.json +5 -7
  5. package/src/agents/build-error-resolver.md +114 -0
  6. package/src/agents/ccp-advisor-researcher.md +104 -0
  7. package/src/agents/ccp-assumptions-analyzer.md +105 -0
  8. package/{gsd/agents/gsd-codebase-mapper.md → src/agents/ccp-codebase-mapper.md} +7 -7
  9. package/{gsd/agents/gsd-debugger.md → src/agents/ccp-debugger.md} +125 -8
  10. package/{gsd/agents/gsd-executor.md → src/agents/ccp-executor.md} +31 -20
  11. package/{gsd/agents/gsd-integration-checker.md → src/agents/ccp-integration-checker.md} +2 -2
  12. package/{gsd/agents/gsd-nyquist-auditor.md → src/agents/ccp-nyquist-auditor.md} +3 -3
  13. package/{gsd/agents/gsd-phase-researcher.md → src/agents/ccp-phase-researcher.md} +127 -13
  14. package/{gsd/agents/gsd-plan-checker.md → src/agents/ccp-plan-checker.md} +57 -21
  15. package/{gsd/agents/gsd-planner.md → src/agents/ccp-planner.md} +61 -23
  16. package/{gsd/agents/gsd-project-researcher.md → src/agents/ccp-project-researcher.md} +33 -6
  17. package/{gsd/agents/gsd-research-synthesizer.md → src/agents/ccp-research-synthesizer.md} +11 -11
  18. package/{gsd/agents/gsd-roadmapper.md → src/agents/ccp-roadmapper.md} +39 -10
  19. package/src/agents/ccp-ui-auditor.md +439 -0
  20. package/src/agents/ccp-ui-checker.md +300 -0
  21. package/src/agents/ccp-ui-researcher.md +357 -0
  22. package/{gsd/agents/gsd-verifier.md → src/agents/ccp-verifier.md} +81 -15
  23. package/src/agents/cpp-build-resolver.md +90 -0
  24. package/src/agents/cpp-reviewer.md +72 -0
  25. package/src/agents/database-reviewer.md +91 -0
  26. package/{ecc → src}/agents/doc-updater.md +1 -1
  27. package/src/agents/docs-lookup.md +68 -0
  28. package/src/agents/flutter-reviewer.md +243 -0
  29. package/src/agents/gan-evaluator.md +209 -0
  30. package/src/agents/gan-generator.md +131 -0
  31. package/src/agents/gan-planner.md +99 -0
  32. package/src/agents/go-build-resolver.md +94 -0
  33. package/src/agents/go-reviewer.md +76 -0
  34. package/src/agents/harness-optimizer.md +35 -0
  35. package/src/agents/java-build-resolver.md +153 -0
  36. package/src/agents/java-reviewer.md +92 -0
  37. package/src/agents/kotlin-build-resolver.md +118 -0
  38. package/src/agents/kotlin-reviewer.md +159 -0
  39. package/src/agents/loop-operator.md +36 -0
  40. package/src/agents/opensource-forker.md +198 -0
  41. package/src/agents/opensource-packager.md +249 -0
  42. package/src/agents/opensource-sanitizer.md +188 -0
  43. package/src/agents/performance-optimizer.md +446 -0
  44. package/src/agents/planner.md +212 -0
  45. package/src/agents/python-reviewer.md +98 -0
  46. package/src/agents/pytorch-build-resolver.md +120 -0
  47. package/src/agents/refactor-cleaner.md +85 -0
  48. package/src/agents/rust-build-resolver.md +148 -0
  49. package/src/agents/rust-reviewer.md +94 -0
  50. package/src/agents/typescript-reviewer.md +112 -0
  51. package/src/available-rules/README.md +80 -0
  52. package/src/available-rules/cpp/coding-style.md +44 -0
  53. package/src/available-rules/cpp/hooks.md +39 -0
  54. package/src/available-rules/cpp/patterns.md +51 -0
  55. package/src/available-rules/cpp/security.md +51 -0
  56. package/src/available-rules/cpp/testing.md +44 -0
  57. package/src/available-rules/csharp/coding-style.md +72 -0
  58. package/src/available-rules/csharp/hooks.md +25 -0
  59. package/src/available-rules/csharp/patterns.md +50 -0
  60. package/src/available-rules/csharp/security.md +58 -0
  61. package/src/available-rules/csharp/testing.md +46 -0
  62. package/src/available-rules/java/coding-style.md +114 -0
  63. package/src/available-rules/java/hooks.md +18 -0
  64. package/src/available-rules/java/patterns.md +146 -0
  65. package/src/available-rules/java/security.md +100 -0
  66. package/src/available-rules/java/testing.md +131 -0
  67. package/src/available-rules/kotlin/hooks.md +17 -0
  68. package/src/available-rules/rust/coding-style.md +151 -0
  69. package/src/available-rules/rust/hooks.md +16 -0
  70. package/src/available-rules/rust/patterns.md +168 -0
  71. package/src/available-rules/rust/security.md +141 -0
  72. package/src/available-rules/rust/testing.md +154 -0
  73. package/src/commands/ccp/add-backlog.md +76 -0
  74. package/{gsd/commands-gsd → src/commands/ccp}/add-phase.md +3 -3
  75. package/{gsd/commands-gsd → src/commands/ccp}/add-tests.md +5 -5
  76. package/{gsd/commands-gsd → src/commands/ccp}/add-todo.md +4 -4
  77. package/src/commands/ccp/aside.md +165 -0
  78. package/{gsd/commands-gsd → src/commands/ccp}/audit-milestone.md +3 -3
  79. package/src/commands/ccp/audit-uat.md +24 -0
  80. package/src/commands/ccp/autonomous.md +41 -0
  81. package/src/commands/ccp/build-fix.md +67 -0
  82. package/{gsd/commands-gsd → src/commands/ccp}/check-todos.md +3 -3
  83. package/{ecc/commands → src/commands/ccp}/checkpoint.md +12 -7
  84. package/{gsd/commands-gsd → src/commands/ccp}/cleanup.md +3 -3
  85. package/src/commands/ccp/code-review.md +45 -0
  86. package/{gsd/commands-gsd → src/commands/ccp}/complete-milestone.md +9 -9
  87. package/src/commands/ccp/context-budget.md +30 -0
  88. package/src/commands/ccp/cpp-build.md +174 -0
  89. package/src/commands/ccp/cpp-review.md +133 -0
  90. package/src/commands/ccp/cpp-test.md +252 -0
  91. package/{gsd/commands-gsd → src/commands/ccp}/debug.md +14 -9
  92. package/src/commands/ccp/discuss-phase.md +64 -0
  93. package/src/commands/ccp/do.md +30 -0
  94. package/src/commands/ccp/docs-update.md +48 -0
  95. package/src/commands/ccp/docs.md +32 -0
  96. package/src/commands/ccp/e2e.md +365 -0
  97. package/src/commands/ccp/eval.md +125 -0
  98. package/{ecc/commands → src/commands/ccp}/evolve.md +5 -5
  99. package/src/commands/ccp/execute-phase.md +59 -0
  100. package/src/commands/ccp/fast.md +30 -0
  101. package/src/commands/ccp/forensics.md +56 -0
  102. package/src/commands/ccp/go-build.md +184 -0
  103. package/src/commands/ccp/go-review.md +149 -0
  104. package/src/commands/ccp/go-test.md +269 -0
  105. package/src/commands/ccp/gradle-build.md +71 -0
  106. package/src/commands/ccp/harness-audit.md +76 -0
  107. package/{gsd/commands-gsd → src/commands/ccp}/health.md +3 -3
  108. package/{gsd/commands-gsd → src/commands/ccp}/help.md +5 -5
  109. package/{gsd/commands-gsd → src/commands/ccp}/insert-phase.md +3 -3
  110. package/src/commands/ccp/kotlin-build.md +175 -0
  111. package/src/commands/ccp/kotlin-review.md +141 -0
  112. package/src/commands/ccp/kotlin-test.md +313 -0
  113. package/{ecc/commands → src/commands/ccp}/learn.md +7 -2
  114. package/{gsd/commands-gsd → src/commands/ccp}/list-phase-assumptions.md +2 -2
  115. package/src/commands/ccp/manager.md +39 -0
  116. package/{gsd/commands-gsd → src/commands/ccp}/map-codebase.md +7 -7
  117. package/src/commands/ccp/milestone-summary.md +51 -0
  118. package/{ecc/commands → src/commands/ccp}/model-route.md +6 -1
  119. package/{gsd/commands-gsd → src/commands/ccp}/new-milestone.md +8 -8
  120. package/{gsd/commands-gsd → src/commands/ccp}/new-project.md +8 -8
  121. package/src/commands/ccp/next.md +24 -0
  122. package/src/commands/ccp/note.md +34 -0
  123. package/src/commands/ccp/orchestrate.md +232 -0
  124. package/{gsd/commands-gsd → src/commands/ccp}/pause-work.md +3 -3
  125. package/{gsd/commands-gsd → src/commands/ccp}/plan-milestone-gaps.md +5 -5
  126. package/{gsd/commands-gsd → src/commands/ccp}/plan-phase.md +9 -7
  127. package/src/commands/ccp/plan.md +115 -0
  128. package/src/commands/ccp/plant-seed.md +28 -0
  129. package/src/commands/ccp/pr-branch.md +25 -0
  130. package/src/commands/ccp/profile-user.md +46 -0
  131. package/{gsd/commands-gsd → src/commands/ccp}/progress.md +3 -3
  132. package/src/commands/ccp/prompt-optimize.md +39 -0
  133. package/src/commands/ccp/prune.md +25 -0
  134. package/src/commands/ccp/python-review.md +298 -0
  135. package/{ecc/commands → src/commands/ccp}/quality-gate.md +7 -2
  136. package/{gsd/commands-gsd → src/commands/ccp}/quick.md +10 -8
  137. package/src/commands/ccp/refactor-clean.md +85 -0
  138. package/{gsd/commands-gsd → src/commands/ccp}/remove-phase.md +3 -3
  139. package/{gsd/commands-gsd → src/commands/ccp}/research-phase.md +17 -12
  140. package/{ecc/commands → src/commands/ccp}/resume-session.md +9 -8
  141. package/{gsd/commands-gsd → src/commands/ccp}/resume-work.md +3 -3
  142. package/src/commands/ccp/review-backlog.md +61 -0
  143. package/src/commands/ccp/review.md +37 -0
  144. package/src/commands/ccp/rules-distill.md +12 -0
  145. package/src/commands/ccp/rust-build.md +188 -0
  146. package/src/commands/ccp/rust-review.md +143 -0
  147. package/src/commands/ccp/rust-test.md +309 -0
  148. package/{ecc/commands → src/commands/ccp}/save-session.md +2 -1
  149. package/src/commands/ccp/secure-phase.md +35 -0
  150. package/src/commands/ccp/session-report.md +19 -0
  151. package/{ecc/commands → src/commands/ccp}/sessions.md +39 -34
  152. package/src/commands/ccp/set-profile.md +12 -0
  153. package/{gsd/commands-gsd → src/commands/ccp}/settings.md +5 -5
  154. package/src/commands/ccp/setup-pm.md +81 -0
  155. package/{kit/commands → src/commands/ccp}/setup-refresh.md +4 -3
  156. package/{kit/commands → src/commands/ccp}/setup.md +67 -40
  157. package/src/commands/ccp/ship.md +23 -0
  158. package/src/commands/ccp/skill-create.md +172 -0
  159. package/src/commands/ccp/skill-health.md +51 -0
  160. package/src/commands/ccp/stats.md +18 -0
  161. package/src/commands/ccp/tdd.md +329 -0
  162. package/src/commands/ccp/test-coverage.md +74 -0
  163. package/src/commands/ccp/thread.md +127 -0
  164. package/{kit/commands → src/commands/ccp}/tool-guide.md +2 -1
  165. package/src/commands/ccp/ui-phase.md +34 -0
  166. package/src/commands/ccp/ui-review.md +32 -0
  167. package/src/commands/ccp/update-codemaps.md +77 -0
  168. package/src/commands/ccp/update-docs.md +89 -0
  169. package/{gsd/commands-gsd → src/commands/ccp}/update.md +5 -5
  170. package/{gsd/commands-gsd → src/commands/ccp}/validate-phase.md +3 -3
  171. package/{gsd/commands-gsd → src/commands/ccp}/verify-work.md +5 -5
  172. package/{ecc/commands → src/commands/ccp}/verify.md +5 -0
  173. package/src/commands/ccp/workstreams.md +68 -0
  174. package/{ecc → src}/examples/CLAUDE.md +4 -4
  175. package/{ecc → src}/examples/django-api-CLAUDE.md +5 -5
  176. package/{ecc → src}/examples/go-microservice-CLAUDE.md +6 -6
  177. package/{ecc → src}/examples/rust-api-CLAUDE.md +4 -4
  178. package/{ecc → src}/examples/saas-nextjs-CLAUDE.md +8 -8
  179. package/{gsd/hooks/gsd-context-monitor.js → src/hooks/ccp-context-monitor.js} +3 -3
  180. package/src/hooks/ccp-prompt-guard.js +96 -0
  181. package/{gsd/hooks/gsd-statusline.js → src/hooks/ccp-statusline.js} +7 -7
  182. package/src/hooks/ccp-workflow-guard.js +94 -0
  183. package/src/hooks/config-protection.js +141 -0
  184. package/{kit → src}/hooks/kit-check-update.js +7 -4
  185. package/src/hooks/mcp-health-check.js +620 -0
  186. package/{ecc/scripts → src}/hooks/run-with-flags-shell.sh +1 -1
  187. package/{ecc/scripts → src}/hooks/run-with-flags.js +74 -13
  188. package/src/hooks/session-end-marker.js +29 -0
  189. package/{ecc/scripts → src}/hooks/session-end.js +83 -40
  190. package/{ecc/scripts → src}/hooks/session-start.js +76 -10
  191. package/{ecc/scripts → src}/lib/hook-flags.js +8 -4
  192. package/{ecc/scripts → src}/lib/project-detect.js +2 -1
  193. package/{ecc/scripts → src}/lib/session-manager.d.ts +5 -1
  194. package/{ecc/scripts → src}/lib/session-manager.js +202 -92
  195. package/{ecc/scripts → src}/lib/utils.d.ts +23 -1
  196. package/{ecc/scripts → src}/lib/utils.js +91 -3
  197. package/{gsd/get-shit-done/bin/gsd-tools.cjs → src/pilot/bin/ccp-tools.cjs} +257 -86
  198. package/{gsd/get-shit-done → src/pilot}/bin/lib/commands.cjs +1 -1
  199. package/src/pilot/bin/lib/config.cjs +444 -0
  200. package/src/pilot/bin/lib/core.cjs +1190 -0
  201. package/src/pilot/bin/lib/init.cjs +1281 -0
  202. package/src/pilot/bin/lib/model-profiles.cjs +67 -0
  203. package/{gsd/get-shit-done → src/pilot}/bin/lib/phase.cjs +2 -2
  204. package/src/pilot/bin/lib/security.cjs +382 -0
  205. package/{gsd/get-shit-done → src/pilot}/bin/lib/state.cjs +1 -1
  206. package/src/pilot/bin/lib/uat.cjs +282 -0
  207. package/{gsd/get-shit-done → src/pilot}/bin/lib/verify.cjs +10 -10
  208. package/{gsd/get-shit-done → src/pilot}/references/continuation-format.md +16 -16
  209. package/{gsd/get-shit-done → src/pilot}/references/decimal-phase-calculation.md +5 -5
  210. package/{gsd/get-shit-done → src/pilot}/references/git-integration.md +5 -5
  211. package/{gsd/get-shit-done → src/pilot}/references/git-planning-commit.md +4 -4
  212. package/src/pilot/references/mcp-servers.json +153 -0
  213. package/{gsd/get-shit-done → src/pilot}/references/model-profile-resolution.md +2 -2
  214. package/{gsd/get-shit-done → src/pilot}/references/model-profiles.md +20 -20
  215. package/{gsd/get-shit-done → src/pilot}/references/phase-argument-parsing.md +4 -4
  216. package/{gsd/get-shit-done → src/pilot}/references/planning-config.md +15 -15
  217. package/{gsd/get-shit-done → src/pilot}/references/ui-brand.md +5 -5
  218. package/{gsd/get-shit-done → src/pilot}/references/verification-patterns.md +1 -1
  219. package/{gsd/get-shit-done → src/pilot}/templates/DEBUG.md +1 -1
  220. package/{gsd/get-shit-done → src/pilot}/templates/UAT.md +3 -3
  221. package/src/pilot/templates/UI-SPEC.md +100 -0
  222. package/{gsd/get-shit-done → src/pilot}/templates/VALIDATION.md +1 -1
  223. package/src/pilot/templates/claude-md.md +122 -0
  224. package/{gsd/get-shit-done → src/pilot}/templates/codebase/architecture.md +2 -2
  225. package/{gsd/get-shit-done → src/pilot}/templates/codebase/structure.md +13 -13
  226. package/{gsd/get-shit-done → src/pilot}/templates/context.md +4 -4
  227. package/src/pilot/templates/copilot-instructions.md +7 -0
  228. package/{gsd/get-shit-done → src/pilot}/templates/debug-subagent-prompt.md +4 -4
  229. package/src/pilot/templates/dev-preferences.md +21 -0
  230. package/{gsd/get-shit-done → src/pilot}/templates/discovery.md +2 -2
  231. package/src/pilot/templates/discussion-log.md +63 -0
  232. package/{gsd/get-shit-done → src/pilot}/templates/phase-prompt.md +12 -12
  233. package/{gsd/get-shit-done → src/pilot}/templates/planner-subagent-prompt.md +7 -7
  234. package/{gsd/get-shit-done → src/pilot}/templates/project.md +1 -1
  235. package/{gsd/get-shit-done → src/pilot}/templates/research.md +2 -2
  236. package/{gsd/get-shit-done → src/pilot}/templates/state.md +2 -2
  237. package/{gsd/get-shit-done → src/pilot}/templates/summary-complex.md +1 -1
  238. package/{gsd/get-shit-done → src/pilot}/workflows/add-phase.md +11 -11
  239. package/{gsd/get-shit-done → src/pilot}/workflows/add-tests.md +15 -15
  240. package/{gsd/get-shit-done → src/pilot}/workflows/add-todo.md +7 -7
  241. package/{gsd/get-shit-done → src/pilot}/workflows/audit-milestone.md +24 -16
  242. package/src/pilot/workflows/audit-uat.md +109 -0
  243. package/src/pilot/workflows/autonomous.md +891 -0
  244. package/{gsd/get-shit-done → src/pilot}/workflows/check-todos.md +10 -10
  245. package/{gsd/get-shit-done → src/pilot}/workflows/cleanup.md +3 -3
  246. package/{gsd/get-shit-done → src/pilot}/workflows/complete-milestone.md +19 -16
  247. package/{gsd/get-shit-done → src/pilot}/workflows/diagnose-issues.md +9 -4
  248. package/{gsd/get-shit-done → src/pilot}/workflows/discovery-phase.md +8 -8
  249. package/src/pilot/workflows/discuss-phase-assumptions.md +653 -0
  250. package/{gsd/get-shit-done → src/pilot}/workflows/discuss-phase.md +407 -49
  251. package/src/pilot/workflows/do.md +104 -0
  252. package/src/pilot/workflows/docs-update.md +1165 -0
  253. package/src/pilot/workflows/execute-phase.md +821 -0
  254. package/{gsd/get-shit-done → src/pilot}/workflows/execute-plan.md +79 -28
  255. package/src/pilot/workflows/fast.md +105 -0
  256. package/src/pilot/workflows/forensics.md +265 -0
  257. package/{gsd/get-shit-done → src/pilot}/workflows/health.md +34 -11
  258. package/src/pilot/workflows/help.md +767 -0
  259. package/{gsd/get-shit-done → src/pilot}/workflows/insert-phase.md +10 -10
  260. package/{gsd/get-shit-done → src/pilot}/workflows/list-phase-assumptions.md +4 -4
  261. package/src/pilot/workflows/manager.md +362 -0
  262. package/{gsd/get-shit-done → src/pilot}/workflows/map-codebase.md +27 -17
  263. package/src/pilot/workflows/milestone-summary.md +223 -0
  264. package/{gsd/get-shit-done → src/pilot}/workflows/new-milestone.md +135 -33
  265. package/{gsd/get-shit-done → src/pilot}/workflows/new-project.md +152 -79
  266. package/src/pilot/workflows/next.md +97 -0
  267. package/src/pilot/workflows/node-repair.md +92 -0
  268. package/src/pilot/workflows/note.md +156 -0
  269. package/src/pilot/workflows/pause-work.md +177 -0
  270. package/{gsd/get-shit-done → src/pilot}/workflows/plan-milestone-gaps.md +10 -11
  271. package/src/pilot/workflows/plan-phase.md +859 -0
  272. package/src/pilot/workflows/plant-seed.md +169 -0
  273. package/src/pilot/workflows/pr-branch.md +129 -0
  274. package/src/pilot/workflows/profile-user.md +452 -0
  275. package/{gsd/get-shit-done → src/pilot}/workflows/progress.md +95 -34
  276. package/{gsd/get-shit-done → src/pilot}/workflows/quick.md +33 -21
  277. package/{gsd/get-shit-done → src/pilot}/workflows/remove-phase.md +14 -14
  278. package/{gsd/get-shit-done → src/pilot}/workflows/research-phase.md +18 -10
  279. package/{gsd/get-shit-done → src/pilot}/workflows/resume-project.md +37 -18
  280. package/src/pilot/workflows/review.md +244 -0
  281. package/src/pilot/workflows/secure-phase.md +164 -0
  282. package/src/pilot/workflows/session-report.md +146 -0
  283. package/{gsd/get-shit-done → src/pilot}/workflows/set-profile.md +7 -7
  284. package/{gsd/get-shit-done → src/pilot}/workflows/settings.md +75 -22
  285. package/src/pilot/workflows/ship.md +228 -0
  286. package/src/pilot/workflows/stats.md +60 -0
  287. package/{gsd/get-shit-done → src/pilot}/workflows/transition.md +57 -17
  288. package/src/pilot/workflows/ui-phase.md +302 -0
  289. package/src/pilot/workflows/ui-review.md +165 -0
  290. package/{gsd/get-shit-done → src/pilot}/workflows/update.md +88 -58
  291. package/{gsd/get-shit-done → src/pilot}/workflows/validate-phase.md +24 -17
  292. package/{gsd/get-shit-done → src/pilot}/workflows/verify-phase.md +26 -15
  293. package/{gsd/get-shit-done → src/pilot}/workflows/verify-work.md +89 -37
  294. package/{ecc → src}/rules/common/agents.md +1 -0
  295. package/src/rules/common/code-review.md +124 -0
  296. package/{ecc → src}/rules/common/coding-style.md +21 -0
  297. package/src/rules/zh/README.md +108 -0
  298. package/src/rules/zh/agents.md +50 -0
  299. package/src/rules/zh/code-review.md +124 -0
  300. package/src/rules/zh/coding-style.md +48 -0
  301. package/src/rules/zh/development-workflow.md +44 -0
  302. package/src/rules/zh/git-workflow.md +24 -0
  303. package/src/rules/zh/hooks.md +30 -0
  304. package/src/rules/zh/patterns.md +31 -0
  305. package/src/rules/zh/performance.md +55 -0
  306. package/src/rules/zh/security.md +29 -0
  307. package/src/rules/zh/testing.md +29 -0
  308. package/src/skills/agentic-engineering/SKILL.md +63 -0
  309. package/src/skills/ai-first-engineering/SKILL.md +51 -0
  310. package/src/skills/ai-regression-testing/SKILL.md +385 -0
  311. package/src/skills/api-design/SKILL.md +523 -0
  312. package/src/skills/architecture-decision-records/SKILL.md +179 -0
  313. package/src/skills/autonomous-agent-harness/SKILL.md +267 -0
  314. package/src/skills/autonomous-loops/SKILL.md +610 -0
  315. package/src/skills/backend-patterns/SKILL.md +598 -0
  316. package/src/skills/benchmark/SKILL.md +87 -0
  317. package/src/skills/blueprint/SKILL.md +90 -0
  318. package/src/skills/browser-qa/SKILL.md +81 -0
  319. package/src/skills/bun-runtime/SKILL.md +84 -0
  320. package/src/skills/claude-api/SKILL.md +337 -0
  321. package/src/skills/codebase-onboarding/SKILL.md +233 -0
  322. package/src/skills/coding-standards/SKILL.md +530 -0
  323. package/src/skills/content-hash-cache-pattern/SKILL.md +161 -0
  324. package/src/skills/context-budget/SKILL.md +135 -0
  325. package/{ecc → src}/skills/continuous-learning-v2/SKILL.md +6 -6
  326. package/{ecc → src}/skills/continuous-learning-v2/agents/observer-loop.sh +1 -1
  327. package/{ecc → src}/skills/continuous-learning-v2/agents/observer.md +1 -1
  328. package/src/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  329. package/src/skills/cpp-coding-standards/SKILL.md +723 -0
  330. package/src/skills/cpp-testing/SKILL.md +324 -0
  331. package/src/skills/database-migrations/SKILL.md +429 -0
  332. package/src/skills/deep-research/SKILL.md +155 -0
  333. package/src/skills/deployment-patterns/SKILL.md +427 -0
  334. package/src/skills/design-system/SKILL.md +82 -0
  335. package/src/skills/django-patterns/SKILL.md +734 -0
  336. package/src/skills/django-security/SKILL.md +593 -0
  337. package/src/skills/django-tdd/SKILL.md +729 -0
  338. package/src/skills/django-verification/SKILL.md +469 -0
  339. package/src/skills/docker-patterns/SKILL.md +364 -0
  340. package/src/skills/documentation-lookup/SKILL.md +90 -0
  341. package/src/skills/e2e-testing/SKILL.md +326 -0
  342. package/src/skills/eval-harness/SKILL.md +270 -0
  343. package/src/skills/exa-search/SKILL.md +103 -0
  344. package/src/skills/flutter-dart-code-review/SKILL.md +435 -0
  345. package/src/skills/frontend-patterns/SKILL.md +642 -0
  346. package/src/skills/gan-style-harness/SKILL.md +278 -0
  347. package/src/skills/git-workflow/SKILL.md +715 -0
  348. package/src/skills/golang-patterns/SKILL.md +674 -0
  349. package/src/skills/golang-testing/SKILL.md +720 -0
  350. package/src/skills/hexagonal-architecture/SKILL.md +276 -0
  351. package/src/skills/iterative-retrieval/SKILL.md +211 -0
  352. package/src/skills/java-coding-standards/SKILL.md +147 -0
  353. package/src/skills/jpa-patterns/SKILL.md +151 -0
  354. package/src/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  355. package/src/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  356. package/src/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  357. package/src/skills/kotlin-patterns/SKILL.md +711 -0
  358. package/src/skills/kotlin-testing/SKILL.md +824 -0
  359. package/src/skills/laravel-patterns/SKILL.md +415 -0
  360. package/src/skills/laravel-plugin-discovery/SKILL.md +229 -0
  361. package/src/skills/laravel-security/SKILL.md +285 -0
  362. package/src/skills/laravel-tdd/SKILL.md +283 -0
  363. package/src/skills/laravel-verification/SKILL.md +179 -0
  364. package/src/skills/mcp-server-patterns/SKILL.md +67 -0
  365. package/src/skills/nextjs-turbopack/SKILL.md +44 -0
  366. package/src/skills/nuxt4-patterns/SKILL.md +100 -0
  367. package/src/skills/opensource-pipeline/SKILL.md +255 -0
  368. package/src/skills/perl-patterns/SKILL.md +504 -0
  369. package/src/skills/perl-security/SKILL.md +503 -0
  370. package/src/skills/perl-testing/SKILL.md +475 -0
  371. package/src/skills/postgres-patterns/SKILL.md +147 -0
  372. package/src/skills/project-flow-ops/SKILL.md +111 -0
  373. package/src/skills/project-guidelines-example/SKILL.md +349 -0
  374. package/src/skills/prompt-optimizer/SKILL.md +397 -0
  375. package/src/skills/python-patterns/SKILL.md +750 -0
  376. package/src/skills/python-testing/SKILL.md +816 -0
  377. package/src/skills/pytorch-patterns/SKILL.md +396 -0
  378. package/src/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  379. package/src/skills/repo-scan/SKILL.md +78 -0
  380. package/src/skills/rules-distill/SKILL.md +264 -0
  381. package/src/skills/rules-distill/scripts/scan-rules.sh +58 -0
  382. package/src/skills/rules-distill/scripts/scan-skills.sh +129 -0
  383. package/src/skills/rust-patterns/SKILL.md +499 -0
  384. package/src/skills/rust-testing/SKILL.md +500 -0
  385. package/src/skills/safety-guard/SKILL.md +69 -0
  386. package/src/skills/search-first/SKILL.md +161 -0
  387. package/src/skills/security-review/SKILL.md +495 -0
  388. package/src/skills/security-review/cloud-infrastructure-security.md +361 -0
  389. package/src/skills/security-scan/SKILL.md +165 -0
  390. package/src/skills/springboot-patterns/SKILL.md +314 -0
  391. package/src/skills/springboot-security/SKILL.md +272 -0
  392. package/src/skills/springboot-tdd/SKILL.md +158 -0
  393. package/src/skills/springboot-verification/SKILL.md +231 -0
  394. package/src/skills/swift-concurrency-6-2/SKILL.md +216 -0
  395. package/src/skills/tdd-workflow/SKILL.md +410 -0
  396. package/src/skills/token-budget-advisor/SKILL.md +133 -0
  397. package/{ecc/skills/verification-loop-SKILL.md → src/skills/verification-loop/SKILL.md} +1 -1
  398. package/src/skills/workspace-surface-audit/SKILL.md +125 -0
  399. package/ecc/scripts/hooks/session-end-marker.js +0 -15
  400. package/gsd/LICENSE +0 -21
  401. package/gsd/commands-gsd/discuss-phase.md +0 -90
  402. package/gsd/commands-gsd/execute-phase.md +0 -41
  403. package/gsd/commands-gsd/join-discord.md +0 -18
  404. package/gsd/commands-gsd/reapply-patches.md +0 -123
  405. package/gsd/commands-gsd/set-profile.md +0 -34
  406. package/gsd/get-shit-done/bin/lib/config.cjs +0 -169
  407. package/gsd/get-shit-done/bin/lib/core.cjs +0 -492
  408. package/gsd/get-shit-done/bin/lib/init.cjs +0 -710
  409. package/gsd/get-shit-done/workflows/execute-phase.md +0 -459
  410. package/gsd/get-shit-done/workflows/help.md +0 -489
  411. package/gsd/get-shit-done/workflows/pause-work.md +0 -122
  412. package/gsd/get-shit-done/workflows/plan-phase.md +0 -560
  413. package/gsd/hooks/gsd-check-update.js +0 -81
  414. package/kit/CLAUDE.md +0 -43
  415. package/kit/commands/kit/update.md +0 -46
  416. package/kit/mcp.json +0 -10
  417. package/kit/rules/code-style.md +0 -24
  418. /package/{ecc → src}/agents/architect.md +0 -0
  419. /package/{ecc → src}/agents/code-reviewer.md +0 -0
  420. /package/{ecc → src}/agents/e2e-runner.md +0 -0
  421. /package/{ecc → src}/agents/security-reviewer.md +0 -0
  422. /package/{ecc → src}/agents/tdd-guide.md +0 -0
  423. /package/{ecc/rules → src/available-rules}/golang/coding-style.md +0 -0
  424. /package/{ecc/rules → src/available-rules}/golang/hooks.md +0 -0
  425. /package/{ecc/rules → src/available-rules}/golang/patterns.md +0 -0
  426. /package/{ecc/rules → src/available-rules}/golang/security.md +0 -0
  427. /package/{ecc/rules → src/available-rules}/golang/testing.md +0 -0
  428. /package/{ecc/rules → src/available-rules}/kotlin/coding-style.md +0 -0
  429. /package/{ecc/rules → src/available-rules}/kotlin/patterns.md +0 -0
  430. /package/{ecc/rules → src/available-rules}/kotlin/security.md +0 -0
  431. /package/{ecc/rules → src/available-rules}/kotlin/testing.md +0 -0
  432. /package/{ecc/rules → src/available-rules}/perl/coding-style.md +0 -0
  433. /package/{ecc/rules → src/available-rules}/perl/hooks.md +0 -0
  434. /package/{ecc/rules → src/available-rules}/perl/patterns.md +0 -0
  435. /package/{ecc/rules → src/available-rules}/perl/security.md +0 -0
  436. /package/{ecc/rules → src/available-rules}/perl/testing.md +0 -0
  437. /package/{ecc/rules → src/available-rules}/php/coding-style.md +0 -0
  438. /package/{ecc/rules → src/available-rules}/php/hooks.md +0 -0
  439. /package/{ecc/rules → src/available-rules}/php/patterns.md +0 -0
  440. /package/{ecc/rules → src/available-rules}/php/security.md +0 -0
  441. /package/{ecc/rules → src/available-rules}/php/testing.md +0 -0
  442. /package/{ecc/rules → src/available-rules}/python/coding-style.md +0 -0
  443. /package/{ecc/rules → src/available-rules}/python/hooks.md +0 -0
  444. /package/{ecc/rules → src/available-rules}/python/patterns.md +0 -0
  445. /package/{ecc/rules → src/available-rules}/python/security.md +0 -0
  446. /package/{ecc/rules → src/available-rules}/python/testing.md +0 -0
  447. /package/{ecc/rules → src/available-rules}/swift/coding-style.md +0 -0
  448. /package/{ecc/rules → src/available-rules}/swift/hooks.md +0 -0
  449. /package/{ecc/rules → src/available-rules}/swift/patterns.md +0 -0
  450. /package/{ecc/rules → src/available-rules}/swift/security.md +0 -0
  451. /package/{ecc/rules → src/available-rules}/swift/testing.md +0 -0
  452. /package/{ecc/rules → src/available-rules}/typescript/coding-style.md +0 -0
  453. /package/{ecc/rules → src/available-rules}/typescript/hooks.md +0 -0
  454. /package/{ecc/rules → src/available-rules}/typescript/patterns.md +0 -0
  455. /package/{ecc/rules → src/available-rules}/typescript/security.md +0 -0
  456. /package/{ecc/rules → src/available-rules}/typescript/testing.md +0 -0
  457. /package/{ecc → src}/contexts/dev.md +0 -0
  458. /package/{ecc → src}/contexts/research.md +0 -0
  459. /package/{ecc → src}/contexts/review.md +0 -0
  460. /package/{ecc → src}/examples/user-CLAUDE.md +0 -0
  461. /package/{ecc/scripts → src}/hooks/check-hook-enabled.js +0 -0
  462. /package/{ecc/scripts → src}/hooks/evaluate-session.js +0 -0
  463. /package/{ecc/scripts → src}/hooks/pre-compact.js +0 -0
  464. /package/{ecc/scripts → src}/hooks/suggest-compact.js +0 -0
  465. /package/{ecc/scripts → src}/lib/package-manager.d.ts +0 -0
  466. /package/{ecc/scripts → src}/lib/package-manager.js +0 -0
  467. /package/{ecc/scripts → src}/lib/resolve-formatter.js +0 -0
  468. /package/{ecc/scripts → src}/lib/session-aliases.d.ts +0 -0
  469. /package/{ecc/scripts → src}/lib/session-aliases.js +0 -0
  470. /package/{ecc/scripts → src}/lib/shell-split.js +0 -0
  471. /package/{gsd/get-shit-done → src/pilot}/bin/lib/frontmatter.cjs +0 -0
  472. /package/{gsd/get-shit-done → src/pilot}/bin/lib/milestone.cjs +0 -0
  473. /package/{gsd/get-shit-done → src/pilot}/bin/lib/roadmap.cjs +0 -0
  474. /package/{gsd/get-shit-done → src/pilot}/bin/lib/template.cjs +0 -0
  475. /package/{gsd/get-shit-done → src/pilot}/references/checkpoints.md +0 -0
  476. /package/{gsd/get-shit-done → src/pilot}/references/questioning.md +0 -0
  477. /package/{gsd/get-shit-done → src/pilot}/references/tdd.md +0 -0
  478. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/concerns.md +0 -0
  479. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/conventions.md +0 -0
  480. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/integrations.md +0 -0
  481. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/stack.md +0 -0
  482. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/testing.md +0 -0
  483. /package/{gsd/get-shit-done → src/pilot}/templates/config.json +0 -0
  484. /package/{gsd/get-shit-done → src/pilot}/templates/continue-here.md +0 -0
  485. /package/{gsd/get-shit-done → src/pilot}/templates/milestone-archive.md +0 -0
  486. /package/{gsd/get-shit-done → src/pilot}/templates/milestone.md +0 -0
  487. /package/{gsd/get-shit-done → src/pilot}/templates/requirements.md +0 -0
  488. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/ARCHITECTURE.md +0 -0
  489. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/FEATURES.md +0 -0
  490. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/PITFALLS.md +0 -0
  491. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/STACK.md +0 -0
  492. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/SUMMARY.md +0 -0
  493. /package/{gsd/get-shit-done → src/pilot}/templates/retrospective.md +0 -0
  494. /package/{gsd/get-shit-done → src/pilot}/templates/roadmap.md +0 -0
  495. /package/{gsd/get-shit-done → src/pilot}/templates/summary-minimal.md +0 -0
  496. /package/{gsd/get-shit-done → src/pilot}/templates/summary-standard.md +0 -0
  497. /package/{gsd/get-shit-done → src/pilot}/templates/summary.md +0 -0
  498. /package/{gsd/get-shit-done → src/pilot}/templates/user-setup.md +0 -0
  499. /package/{gsd/get-shit-done → src/pilot}/templates/verification-report.md +0 -0
  500. /package/{ecc → src}/rules/common/development-workflow.md +0 -0
  501. /package/{ecc → src}/rules/common/git-workflow.md +0 -0
  502. /package/{ecc → src}/rules/common/hooks.md +0 -0
  503. /package/{ecc → src}/rules/common/patterns.md +0 -0
  504. /package/{ecc → src}/rules/common/performance.md +0 -0
  505. /package/{ecc → src}/rules/common/security.md +0 -0
  506. /package/{ecc → src}/rules/common/testing.md +0 -0
  507. /package/{ecc → src}/skills/continuous-learning-v2/agents/start-observer.sh +0 -0
  508. /package/{ecc → src}/skills/continuous-learning-v2/config.json +0 -0
  509. /package/{ecc → src}/skills/continuous-learning-v2/hooks/observe.sh +0 -0
  510. /package/{ecc → src}/skills/continuous-learning-v2/scripts/detect-project.sh +0 -0
  511. /package/{ecc → src}/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -0
  512. /package/{ecc → src}/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -0
  513. /package/{ecc → src}/skills/strategic-compact/SKILL.md +0 -0
  514. /package/{ecc → src}/skills/strategic-compact/suggest-compact.sh +0 -0
@@ -11,7 +11,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
11
11
  </purpose>
12
12
 
13
13
  <required_reading>
14
- @~/.claude/get-shit-done/references/continuation-format.md
14
+ @~/.claude/pilot/references/continuation-format.md
15
15
  </required_reading>
16
16
 
17
17
  <process>
@@ -20,7 +20,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
20
20
  Load all context in one call:
21
21
 
22
22
  ```bash
23
- INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" init resume)
23
+ INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init resume)
24
24
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
25
25
  ```
26
26
 
@@ -28,7 +28,7 @@ Parse JSON for: `state_exists`, `roadmap_exists`, `project_exists`, `planning_ex
28
28
 
29
29
  **If `state_exists` is true:** Proceed to load_state
30
30
  **If `state_exists` is false but `roadmap_exists` or `project_exists` is true:** Offer to reconstruct STATE.md
31
- **If `planning_exists` is false:** This is a new project - route to /gsd:new-project
31
+ **If `planning_exists` is false:** This is a new project - route to /ccp:new-project
32
32
  </step>
33
33
 
34
34
  <step name="load_state">
@@ -63,14 +63,18 @@ cat .planning/PROJECT.md
63
63
  Look for incomplete work that needs attention:
64
64
 
65
65
  ```bash
66
+ # Check for structured handoff (preferred — machine-readable)
67
+ cat .planning/HANDOFF.json 2>/dev/null || true
68
+
66
69
  # Check for continue-here files (mid-plan resumption)
67
- ls .planning/phases/*/.continue-here*.md 2>/dev/null
70
+ ls .planning/phases/*/.continue-here*.md 2>/dev/null || true
68
71
 
69
72
  # Check for plans without summaries (incomplete execution)
70
73
  for plan in .planning/phases/*/*-PLAN.md; do
74
+ [ -e "$plan" ] || continue
71
75
  summary="${plan/PLAN/SUMMARY}"
72
76
  [ ! -f "$summary" ] && echo "Incomplete: $plan"
73
- done 2>/dev/null
77
+ done 2>/dev/null || true
74
78
 
75
79
  # Check for interrupted agents (use has_interrupted_agent and interrupted_agent_id from init)
76
80
  if [ "$has_interrupted_agent" = "true" ]; then
@@ -78,7 +82,18 @@ if [ "$has_interrupted_agent" = "true" ]; then
78
82
  fi
79
83
  ```
80
84
 
81
- **If .continue-here file exists:**
85
+ **If HANDOFF.json exists:**
86
+
87
+ - This is the primary resumption source — structured data from `/ccp:pause-work`
88
+ - Parse `status`, `phase`, `plan`, `task`, `total_tasks`, `next_action`
89
+ - Check `blockers` and `human_actions_pending` — surface these immediately
90
+ - Check `completed_tasks` for `in_progress` items — these need attention first
91
+ - Validate `uncommitted_files` against `git status` — flag divergence
92
+ - Use `context_notes` to restore mental model
93
+ - Flag: "Found structured handoff — resuming from task {task}/{total_tasks}"
94
+ - **After successful resumption, delete HANDOFF.json** (it's a one-shot artifact)
95
+
96
+ **If .continue-here file exists (fallback):**
82
97
 
83
98
  - This is a mid-plan resumption point
84
99
  - Read the file for specific resumption context
@@ -125,7 +140,7 @@ Present complete project status to user:
125
140
  Resume with: Task tool (resume parameter with agent ID)
126
141
 
127
142
  [If pending todos exist:]
128
- 📋 [N] pending todos — /gsd:check-todos to review
143
+ 📋 [N] pending todos — /ccp:check-todos to review
129
144
 
130
145
  [If blockers exist:]
131
146
  ⚠️ Carried concerns:
@@ -145,8 +160,12 @@ Based on project state, determine the most logical next action:
145
160
  → Primary: Resume interrupted agent (Task tool with resume parameter)
146
161
  → Option: Start fresh (abandon agent work)
147
162
 
148
- **If .continue-here file exists:**
149
- → Primary: Resume from checkpoint
163
+ **If HANDOFF.json exists:**
164
+ → Primary: Resume from structured handoff (highest priority — specific task/blocker context)
165
+ → Option: Discard handoff and reassess from files
166
+
167
+ **If .continue-here file exists (fallback):**
168
+ → Fallback: Resume from checkpoint
150
169
  → Option: Start fresh on current plan
151
170
 
152
171
  **If incomplete plan (PLAN without SUMMARY):**
@@ -181,11 +200,11 @@ What would you like to do?
181
200
  [Primary action based on state - e.g.:]
182
201
  1. Resume interrupted agent [if interrupted agent found]
183
202
  OR
184
- 1. Execute phase (/gsd:execute-phase {phase})
203
+ 1. Execute phase (/ccp:execute-phase {phase})
185
204
  OR
186
- 1. Discuss Phase 3 context (/gsd:discuss-phase 3) [if CONTEXT.md missing]
205
+ 1. Discuss Phase 3 context (/ccp:discuss-phase 3) [if CONTEXT.md missing]
187
206
  OR
188
- 1. Plan Phase 3 (/gsd:plan-phase 3) [if CONTEXT.md exists or discuss option declined]
207
+ 1. Plan Phase 3 (/ccp:plan-phase 3) [if CONTEXT.md exists or discuss option declined]
189
208
 
190
209
  [Secondary options:]
191
210
  2. Review current phase status
@@ -197,7 +216,7 @@ What would you like to do?
197
216
  **Note:** When offering phase planning, check for CONTEXT.md existence first:
198
217
 
199
218
  ```bash
200
- ls .planning/phases/XX-name/*-CONTEXT.md 2>/dev/null
219
+ ls .planning/phases/XX-name/*-CONTEXT.md 2>/dev/null || true
201
220
  ```
202
221
 
203
222
  If missing, suggest discuss-phase before plan. If exists, offer plan directly.
@@ -216,7 +235,7 @@ Based on user selection, route to appropriate workflow:
216
235
 
217
236
  **{phase}-{plan}: [Plan Name]** — [objective from PLAN.md]
218
237
 
219
- `/gsd:execute-phase {phase}`
238
+ `/ccp:execute-phase {phase}`
220
239
 
221
240
  <sub>`/clear` first → fresh context window</sub>
222
241
 
@@ -230,19 +249,19 @@ Based on user selection, route to appropriate workflow:
230
249
 
231
250
  **Phase [N]: [Name]** — [Goal from ROADMAP.md]
232
251
 
233
- `/gsd:plan-phase [phase-number]`
252
+ `/ccp:plan-phase [phase-number]`
234
253
 
235
254
  <sub>`/clear` first → fresh context window</sub>
236
255
 
237
256
  ---
238
257
 
239
258
  **Also available:**
240
- - `/gsd:discuss-phase [N]` — gather context first
241
- - `/gsd:research-phase [N]` — investigate unknowns
259
+ - `/ccp:discuss-phase [N]` — gather context first
260
+ - `/ccp:research-phase [N]` — investigate unknowns
242
261
 
243
262
  ---
244
263
  ```
245
- - **Transition** → ./transition.md
264
+ - **Advance to next phase** → ./transition.md (internal workflow, invoked inline — NOT a user command)
246
265
  - **Check todos** → Read .planning/todos/pending/, present summary
247
266
  - **Review alignment** → Read PROJECT.md, compare to current state
248
267
  - **Something else** → Ask what they need
@@ -0,0 +1,244 @@
1
+ <purpose>
2
+ Cross-AI peer review — invoke external AI CLIs to independently review phase plans.
3
+ Each CLI gets the same prompt (PROJECT.md context, phase plans, requirements) and
4
+ produces structured feedback. Results are combined into REVIEWS.md for the planner
5
+ to incorporate via --reviews flag.
6
+
7
+ This implements adversarial review: different AI models catch different blind spots.
8
+ A plan that survives review from 2-3 independent AI systems is more robust.
9
+ </purpose>
10
+
11
+ <process>
12
+
13
+ <step name="detect_clis">
14
+ Check which AI CLIs are available on the system:
15
+
16
+ ```bash
17
+ # Check each CLI
18
+ command -v gemini >/dev/null 2>&1 && echo "gemini:available" || echo "gemini:missing"
19
+ command -v claude >/dev/null 2>&1 && echo "claude:available" || echo "claude:missing"
20
+ command -v codex >/dev/null 2>&1 && echo "codex:available" || echo "codex:missing"
21
+ command -v coderabbit >/dev/null 2>&1 && echo "coderabbit:available" || echo "coderabbit:missing"
22
+ ```
23
+
24
+ Parse flags from `$ARGUMENTS`:
25
+ - `--gemini` → include Gemini
26
+ - `--claude` → include Claude
27
+ - `--codex` → include Codex
28
+ - `--coderabbit` → include CodeRabbit
29
+ - `--all` → include all available
30
+ - No flags → include all available
31
+
32
+ If no CLIs are available:
33
+ ```
34
+ No external AI CLIs found. Install at least one:
35
+ - gemini: https://github.com/google-gemini/gemini-cli
36
+ - codex: https://github.com/openai/codex
37
+ - claude: https://github.com/anthropics/claude-code
38
+
39
+ Then run /ccp:review again.
40
+ ```
41
+ Exit.
42
+
43
+ If only one CLI is the current runtime (e.g. running inside Claude), skip it for the review
44
+ to ensure independence. At least one DIFFERENT CLI must be available.
45
+ </step>
46
+
47
+ <step name="gather_context">
48
+ Collect phase artifacts for the review prompt:
49
+
50
+ ```bash
51
+ INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE_ARG}")
52
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
53
+ ```
54
+
55
+ Read from init: `phase_dir`, `phase_number`, `padded_phase`.
56
+
57
+ Then read:
58
+ 1. `.planning/PROJECT.md` (first 80 lines — project context)
59
+ 2. Phase section from `.planning/ROADMAP.md`
60
+ 3. All `*-PLAN.md` files in the phase directory
61
+ 4. `*-CONTEXT.md` if present (user decisions)
62
+ 5. `*-RESEARCH.md` if present (domain research)
63
+ 6. `.planning/REQUIREMENTS.md` (requirements this phase addresses)
64
+ </step>
65
+
66
+ <step name="build_prompt">
67
+ Build a structured review prompt:
68
+
69
+ ```markdown
70
+ # Cross-AI Plan Review Request
71
+
72
+ You are reviewing implementation plans for a software project phase.
73
+ Provide structured feedback on plan quality, completeness, and risks.
74
+
75
+ ## Project Context
76
+ {first 80 lines of PROJECT.md}
77
+
78
+ ## Phase {N}: {phase name}
79
+ ### Roadmap Section
80
+ {roadmap phase section}
81
+
82
+ ### Requirements Addressed
83
+ {requirements for this phase}
84
+
85
+ ### User Decisions (CONTEXT.md)
86
+ {context if present}
87
+
88
+ ### Research Findings
89
+ {research if present}
90
+
91
+ ### Plans to Review
92
+ {all PLAN.md contents}
93
+
94
+ ## Review Instructions
95
+
96
+ Analyze each plan and provide:
97
+
98
+ 1. **Summary** — One-paragraph assessment
99
+ 2. **Strengths** — What's well-designed (bullet points)
100
+ 3. **Concerns** — Potential issues, gaps, risks (bullet points with severity: HIGH/MEDIUM/LOW)
101
+ 4. **Suggestions** — Specific improvements (bullet points)
102
+ 5. **Risk Assessment** — Overall risk level (LOW/MEDIUM/HIGH) with justification
103
+
104
+ Focus on:
105
+ - Missing edge cases or error handling
106
+ - Dependency ordering issues
107
+ - Scope creep or over-engineering
108
+ - Security considerations
109
+ - Performance implications
110
+ - Whether the plans actually achieve the phase goals
111
+
112
+ Output your review in markdown format.
113
+ ```
114
+
115
+ Write to a temp file: `/tmp/ccp-review-prompt-{phase}.md`
116
+ </step>
117
+
118
+ <step name="invoke_reviewers">
119
+ For each selected CLI, invoke in sequence (not parallel — avoid rate limits):
120
+
121
+ **Gemini:**
122
+ ```bash
123
+ gemini -p "$(cat /tmp/ccp-review-prompt-{phase}.md)" 2>/dev/null > /tmp/ccp-review-gemini-{phase}.md
124
+ ```
125
+
126
+ **Claude (separate session):**
127
+ ```bash
128
+ claude -p "$(cat /tmp/ccp-review-prompt-{phase}.md)" --no-input 2>/dev/null > /tmp/ccp-review-claude-{phase}.md
129
+ ```
130
+
131
+ **Codex:**
132
+ ```bash
133
+ codex exec --skip-git-repo-check "$(cat /tmp/ccp-review-prompt-{phase}.md)" 2>/dev/null > /tmp/ccp-review-codex-{phase}.md
134
+ ```
135
+
136
+ **CodeRabbit:**
137
+
138
+ Note: CodeRabbit reviews the current git diff/working tree — it does not accept a prompt. It may take up to 5 minutes. Use `timeout: 360000` on the Bash tool call.
139
+
140
+ ```bash
141
+ coderabbit review --prompt-only 2>/dev/null > /tmp/ccp-review-coderabbit-{phase}.md
142
+ ```
143
+
144
+ If a CLI fails, log the error and continue with remaining CLIs.
145
+
146
+ Display progress:
147
+ ```
148
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
149
+ CCP > CROSS-AI REVIEW — Phase {N}
150
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
151
+
152
+ ◆ Reviewing with {CLI}... done ✓
153
+ ◆ Reviewing with {CLI}... done ✓
154
+ ```
155
+ </step>
156
+
157
+ <step name="write_reviews">
158
+ Combine all review responses into `{phase_dir}/{padded_phase}-REVIEWS.md`:
159
+
160
+ ```markdown
161
+ ---
162
+ phase: {N}
163
+ reviewers: [gemini, claude, codex, coderabbit]
164
+ reviewed_at: {ISO timestamp}
165
+ plans_reviewed: [{list of PLAN.md files}]
166
+ ---
167
+
168
+ # Cross-AI Plan Review — Phase {N}
169
+
170
+ ## Gemini Review
171
+
172
+ {gemini review content}
173
+
174
+ ---
175
+
176
+ ## Claude Review
177
+
178
+ {claude review content}
179
+
180
+ ---
181
+
182
+ ## Codex Review
183
+
184
+ {codex review content}
185
+
186
+ ---
187
+
188
+ ## CodeRabbit Review
189
+
190
+ {coderabbit review content}
191
+
192
+ ---
193
+
194
+ ## Consensus Summary
195
+
196
+ {synthesize common concerns across all reviewers}
197
+
198
+ ### Agreed Strengths
199
+ {strengths mentioned by 2+ reviewers}
200
+
201
+ ### Agreed Concerns
202
+ {concerns raised by 2+ reviewers — highest priority}
203
+
204
+ ### Divergent Views
205
+ {where reviewers disagreed — worth investigating}
206
+ ```
207
+
208
+ Commit:
209
+ ```bash
210
+ node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs: cross-AI review for phase {N}" --files {phase_dir}/{padded_phase}-REVIEWS.md
211
+ ```
212
+ </step>
213
+
214
+ <step name="present_results">
215
+ Display summary:
216
+
217
+ ```
218
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
219
+ CCP > REVIEW COMPLETE
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ Phase {N} reviewed by {count} AI systems.
223
+
224
+ Consensus concerns:
225
+ {top 3 shared concerns}
226
+
227
+ Full review: {padded_phase}-REVIEWS.md
228
+
229
+ To incorporate feedback into planning:
230
+ /ccp:plan-phase {N} --reviews
231
+ ```
232
+
233
+ Clean up temp files.
234
+ </step>
235
+
236
+ </process>
237
+
238
+ <success_criteria>
239
+ - [ ] At least one external CLI invoked successfully
240
+ - [ ] REVIEWS.md written with structured feedback
241
+ - [ ] Consensus summary synthesized from multiple reviewers
242
+ - [ ] Temp files cleaned up
243
+ - [ ] User knows how to use feedback (/ccp:plan-phase --reviews)
244
+ </success_criteria>
@@ -0,0 +1,164 @@
1
+ <purpose>
2
+ Verify threat mitigations for a completed phase. Confirm PLAN.md threat register dispositions are resolved. Update SECURITY.md.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ @~/.claude/pilot/references/ui-brand.md
7
+ </required_reading>
8
+
9
+ <available_agent_types>
10
+ Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
11
+ - ccp-security-auditor — Verifies threat mitigation coverage
12
+ </available_agent_types>
13
+
14
+ <process>
15
+
16
+ ## 0. Initialize
17
+
18
+ ```bash
19
+ INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE_ARG}")
20
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
21
+ AGENT_SKILLS_AUDITOR=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" agent-skills ccp-security-auditor 2>/dev/null)
22
+ ```
23
+
24
+ Parse: `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`.
25
+
26
+ ```bash
27
+ AUDITOR_MODEL=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" resolve-model ccp-security-auditor --raw)
28
+ SECURITY_CFG=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-get workflow.security_enforcement --raw 2>/dev/null || echo "true")
29
+ ```
30
+
31
+ If `SECURITY_CFG` is `false`: exit with "Security enforcement disabled. Enable via /ccp:settings."
32
+
33
+ Display banner: `CCP > SECURE PHASE {N}: {name}`
34
+
35
+ ## 1. Detect Input State
36
+
37
+ ```bash
38
+ SECURITY_FILE=$(ls "${PHASE_DIR}"/*-SECURITY.md 2>/dev/null | head -1)
39
+ PLAN_FILES=$(ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null)
40
+ SUMMARY_FILES=$(ls "${PHASE_DIR}"/*-SUMMARY.md 2>/dev/null)
41
+ ```
42
+
43
+ - **State A** (`SECURITY_FILE` non-empty): Audit existing
44
+ - **State B** (`SECURITY_FILE` empty, `PLAN_FILES` and `SUMMARY_FILES` non-empty): Run from artifacts
45
+ - **State C** (`SUMMARY_FILES` empty): Exit — "Phase {N} not executed. Run /ccp:execute-phase {N} first."
46
+
47
+ ## 2. Discovery
48
+
49
+ ### 2a. Read Phase Artifacts
50
+
51
+ Read PLAN.md — extract `<threat_model>` block: trust boundaries, STRIDE register (`threat_id`, `category`, `component`, `disposition`, `mitigation_plan`).
52
+
53
+ ### 2b. Read Summary Threat Flags
54
+
55
+ Read SUMMARY.md — extract `## Threat Flags` entries.
56
+
57
+ ### 2c. Build Threat Register
58
+
59
+ Per threat: `{ threat_id, category, component, disposition, mitigation_pattern, files_to_check }`
60
+
61
+ ## 3. Threat Classification
62
+
63
+ Classify each threat:
64
+
65
+ | Status | Criteria |
66
+ |--------|----------|
67
+ | CLOSED | mitigation found OR accepted risk documented in SECURITY.md OR transfer documented |
68
+ | OPEN | none of the above |
69
+
70
+ Build: `{ threat_id, category, component, disposition, status, evidence }`
71
+
72
+ If `threats_open: 0` → skip to Step 6 directly.
73
+
74
+ ## 4. Present Threat Plan
75
+
76
+ Call AskUserQuestion with threat table and options:
77
+ 1. "Verify all open threats" → Step 5
78
+ 2. "Accept all open — document in accepted risks log" → add to SECURITY.md accepted risks, set all CLOSED, Step 6
79
+ 3. "Cancel" → exit
80
+
81
+ ## 5. Spawn ccp-security-auditor
82
+
83
+ ```
84
+ Task(
85
+ prompt="Read ./.claude/agents/ccp-security-auditor.md for instructions.\n\n" +
86
+ "<files_to_read>{PLAN, SUMMARY, impl files, SECURITY.md}</files_to_read>" +
87
+ "<threat_register>{threat register}</threat_register>" +
88
+ "<config>asvs_level: {SECURITY_ASVS}, block_on: {SECURITY_BLOCK_ON}</config>" +
89
+ "<constraints>Never modify implementation files. Verify mitigations exist — do not scan for new threats. Escalate implementation gaps.</constraints>" +
90
+ "${AGENT_SKILLS_AUDITOR}",
91
+ subagent_type="ccp-security-auditor",
92
+ model="{AUDITOR_MODEL}",
93
+ description="Verify threat mitigations for Phase {N}"
94
+ )
95
+ ```
96
+
97
+ Handle return:
98
+ - `## SECURED` → record closures → Step 6
99
+ - `## OPEN_THREATS` → record closed + open, present user with accept/block choice → Step 6
100
+ - `## ESCALATE` → present to user → Step 6
101
+
102
+ ## 6. Write/Update SECURITY.md
103
+
104
+ **State B (create):**
105
+ 1. Read template from `./.claude/pilot/templates/SECURITY.md`
106
+ 2. Fill: frontmatter, threat register, accepted risks, audit trail
107
+ 3. Write to `${PHASE_DIR}/${PADDED_PHASE}-SECURITY.md`
108
+
109
+ **State A (update):**
110
+ 1. Update threat register statuses, append to audit trail:
111
+
112
+ ```markdown
113
+ ## Security Audit {date}
114
+ | Metric | Count |
115
+ |--------|-------|
116
+ | Threats found | {N} |
117
+ | Closed | {M} |
118
+ | Open | {K} |
119
+ ```
120
+
121
+ **ENFORCING GATE:** If `threats_open > 0` after all options exhausted (user did not accept, not all verified closed):
122
+
123
+ ```
124
+ CCP > PHASE {N} SECURITY BLOCKED
125
+ {K} threats open — phase advancement blocked until threats_open: 0
126
+ ▶ Fix mitigations then re-run: /ccp:secure-phase {N}
127
+ ▶ Or document accepted risks in SECURITY.md and re-run.
128
+ ```
129
+
130
+ Do NOT emit next-phase routing. Stop here.
131
+
132
+ ## 7. Commit
133
+
134
+ ```bash
135
+ node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs(phase-${PHASE}): add/update security threat verification"
136
+ ```
137
+
138
+ ## 8. Results + Routing
139
+
140
+ **Secured (threats_open: 0):**
141
+ ```
142
+ CCP > PHASE {N} THREAT-SECURE
143
+ threats_open: 0 — all threats have dispositions.
144
+ ▶ /ccp:validate-phase {N} validate test coverage
145
+ ▶ /ccp:verify-work {N} run UAT
146
+ ```
147
+
148
+ Display `/clear` reminder.
149
+
150
+ </process>
151
+
152
+ <success_criteria>
153
+ - [ ] Security enforcement checked — exit if false
154
+ - [ ] Input state detected (A/B/C) — state C exits cleanly
155
+ - [ ] PLAN.md threat model parsed, register built
156
+ - [ ] SUMMARY.md threat flags incorporated
157
+ - [ ] threats_open: 0 → skip directly to Step 6
158
+ - [ ] User gate with threat table presented
159
+ - [ ] Auditor spawned with complete context
160
+ - [ ] All three return formats (SECURED/OPEN_THREATS/ESCALATE) handled
161
+ - [ ] SECURITY.md created or updated
162
+ - [ ] threats_open > 0 BLOCKS advancement (no next-phase routing emitted)
163
+ - [ ] Results with routing presented on success
164
+ </success_criteria>
@@ -0,0 +1,146 @@
1
+ <purpose>
2
+ Generate a post-session summary document capturing work performed, outcomes achieved, and estimated resource usage. Writes SESSION_REPORT.md to .planning/reports/ for human review and stakeholder sharing.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ Read all files referenced by the invoking prompt's execution_context before starting.
7
+ </required_reading>
8
+
9
+ <process>
10
+
11
+ <step name="gather_session_data">
12
+ Collect session data from available sources:
13
+
14
+ 1. **STATE.md** — current phase, milestone, progress, blockers, decisions
15
+ 2. **Git log** — commits made during this session (last 24h or since last report)
16
+ 3. **Plan/Summary files** — plans executed, summaries written
17
+ 4. **ROADMAP.md** — milestone context and phase goals
18
+
19
+ ```bash
20
+ # Get recent commits (last 24 hours)
21
+ git log --oneline --since="24 hours ago" --no-merges 2>/dev/null || echo "No recent commits"
22
+
23
+ # Count files changed
24
+ git diff --stat HEAD~10 HEAD 2>/dev/null | tail -1 || echo "No diff available"
25
+ ```
26
+
27
+ Read `.planning/STATE.md` to get:
28
+ - Current milestone and phase
29
+ - Progress percentage
30
+ - Active blockers
31
+ - Recent decisions
32
+
33
+ Read `.planning/ROADMAP.md` to get milestone name and goals.
34
+
35
+ Check for existing reports:
36
+ ```bash
37
+ ls -la .planning/reports/SESSION_REPORT*.md 2>/dev/null || echo "No previous reports"
38
+ ```
39
+ </step>
40
+
41
+ <step name="estimate_usage">
42
+ Estimate token usage from observable signals:
43
+
44
+ - Count of tool calls is not directly available, so estimate from git activity and file operations
45
+ - Note: This is an **estimate** — exact token counts require API-level instrumentation not available to hooks
46
+
47
+ Estimation heuristics:
48
+ - Each commit ≈ 1 plan cycle (research + plan + execute + verify)
49
+ - Each plan file ≈ 2,000-5,000 tokens of agent context
50
+ - Each summary file ≈ 1,000-2,000 tokens generated
51
+ - Subagent spawns multiply by ~1.5x per agent type used
52
+ </step>
53
+
54
+ <step name="generate_report">
55
+ Create the report directory and file:
56
+
57
+ ```bash
58
+ mkdir -p .planning/reports
59
+ ```
60
+
61
+ Write `.planning/reports/SESSION_REPORT.md` (or `.planning/reports/YYYYMMDD-session-report.md` if previous reports exist):
62
+
63
+ ```markdown
64
+ # CCP Session Report
65
+
66
+ **Generated:** [timestamp]
67
+ **Project:** [from PROJECT.md title or directory name]
68
+ **Milestone:** [N] — [milestone name from ROADMAP.md]
69
+
70
+ ---
71
+
72
+ ## Session Summary
73
+
74
+ **Duration:** [estimated from first to last commit timestamp, or "Single session"]
75
+ **Phase Progress:** [from STATE.md]
76
+ **Plans Executed:** [count of summaries written this session]
77
+ **Commits Made:** [count from git log]
78
+
79
+ ## Work Performed
80
+
81
+ ### Phases Touched
82
+ [List phases worked on with brief description of what was done]
83
+
84
+ ### Key Outcomes
85
+ [Bullet list of concrete deliverables: files created, features implemented, bugs fixed]
86
+
87
+ ### Decisions Made
88
+ [From STATE.md decisions table, if any were added this session]
89
+
90
+ ## Files Changed
91
+
92
+ [Summary of files modified, created, deleted — from git diff stat]
93
+
94
+ ## Blockers & Open Items
95
+
96
+ [Active blockers from STATE.md]
97
+ [Any TODO items created during session]
98
+
99
+ ## Estimated Resource Usage
100
+
101
+ | Metric | Estimate |
102
+ |--------|----------|
103
+ | Commits | [N] |
104
+ | Files changed | [N] |
105
+ | Plans executed | [N] |
106
+ | Subagents spawned | [estimated] |
107
+
108
+ > **Note:** Token and cost estimates require API-level instrumentation.
109
+ > These metrics reflect observable session activity only.
110
+
111
+ ---
112
+
113
+ *Generated by `/ccp:session-report`*
114
+ ```
115
+ </step>
116
+
117
+ <step name="display_result">
118
+ Show the user:
119
+
120
+ ```
121
+ ## Session Report Generated
122
+
123
+ 📄 `.planning/reports/[filename].md`
124
+
125
+ ### Highlights
126
+ - **Commits:** [N]
127
+ - **Files changed:** [N]
128
+ - **Phase progress:** [X]%
129
+ - **Plans executed:** [N]
130
+ ```
131
+
132
+ If this is the first report, mention:
133
+ ```
134
+ 💡 Run `/ccp:session-report` at the end of each session to build a history of project activity.
135
+ ```
136
+ </step>
137
+
138
+ </process>
139
+
140
+ <success_criteria>
141
+ - [ ] Session data gathered from STATE.md, git log, and plan files
142
+ - [ ] Report written to .planning/reports/
143
+ - [ ] Report includes work summary, outcomes, and file changes
144
+ - [ ] Filename includes date to prevent overwrites
145
+ - [ ] Result summary displayed to user
146
+ </success_criteria>