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
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: ccp:fast
3
+ description: Execute a trivial task inline — no subagents, no planning overhead
4
+ argument-hint: "[task description]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Grep
11
+ - Glob
12
+ ---
13
+
14
+ <objective>
15
+ Execute a trivial task directly in the current context without spawning subagents
16
+ or generating PLAN.md files. For tasks too small to justify planning overhead:
17
+ typo fixes, config changes, small refactors, forgotten commits, simple additions.
18
+
19
+ This is NOT a replacement for /ccp:quick — use /ccp:quick for anything that
20
+ needs research, multi-step planning, or verification. /ccp:fast is for tasks
21
+ you could describe in one sentence and execute in under 2 minutes.
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.claude/pilot/workflows/fast.md
26
+ </execution_context>
27
+
28
+ <process>
29
+ Execute the fast workflow from @~/.claude/pilot/workflows/fast.md end-to-end.
30
+ </process>
@@ -0,0 +1,56 @@
1
+ ---
2
+ type: prompt
3
+ name: ccp:forensics
4
+ description: Post-mortem investigation for failed CCP workflows — analyzes git history, artifacts, and state to diagnose what went wrong
5
+ argument-hint: "[problem description]"
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Grep
11
+ - Glob
12
+ ---
13
+
14
+ <objective>
15
+ Investigate what went wrong during a CCP workflow execution. Analyzes git history, `.planning/` artifacts, and file system state to detect anomalies and generate a structured diagnostic report.
16
+
17
+ Purpose: Diagnose failed or stuck workflows so the user can understand root cause and take corrective action.
18
+ Output: Forensic report saved to `.planning/forensics/`, presented inline, with optional issue creation.
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/pilot/workflows/forensics.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ **Data sources:**
27
+ - `git log` (recent commits, patterns, time gaps)
28
+ - `git status` / `git diff` (uncommitted work, conflicts)
29
+ - `.planning/STATE.md` (current position, session history)
30
+ - `.planning/ROADMAP.md` (phase scope and progress)
31
+ - `.planning/phases/*/` (PLAN.md, SUMMARY.md, VERIFICATION.md, CONTEXT.md)
32
+ - `.planning/reports/SESSION_REPORT.md` (last session outcomes)
33
+
34
+ **User input:**
35
+ - Problem description: $ARGUMENTS (optional — will ask if not provided)
36
+ </context>
37
+
38
+ <process>
39
+ Read and execute the forensics workflow from @~/.claude/pilot/workflows/forensics.md end-to-end.
40
+ </process>
41
+
42
+ <success_criteria>
43
+ - Evidence gathered from all available data sources
44
+ - At least 4 anomaly types checked (stuck loop, missing artifacts, abandoned work, crash/interruption)
45
+ - Structured forensic report written to `.planning/forensics/report-{timestamp}.md`
46
+ - Report presented inline with findings, anomalies, and recommendations
47
+ - Interactive investigation offered for deeper analysis
48
+ - GitHub issue creation offered if actionable findings exist
49
+ </success_criteria>
50
+
51
+ <critical_rules>
52
+ - **Read-only investigation:** Do not modify project source files during forensics. Only write the forensic report and update STATE.md session tracking.
53
+ - **Redact sensitive data:** Strip absolute paths, API keys, tokens from reports and issues.
54
+ - **Ground findings in evidence:** Every anomaly must cite specific commits, files, or state data.
55
+ - **No speculation without evidence:** If data is insufficient, say so — do not fabricate root causes.
56
+ </critical_rules>
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: ccp:go-build
3
+ description: Fix Go build errors, go vet warnings, and linter issues incrementally. Invokes the go-build-resolver agent for minimal, surgical fixes.
4
+ ---
5
+
6
+ # Go Build and Fix
7
+
8
+ This command invokes the **go-build-resolver** agent to incrementally fix Go build errors with minimal changes.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Run Diagnostics**: Execute `go build`, `go vet`, `staticcheck`
13
+ 2. **Parse Errors**: Group by file and sort by severity
14
+ 3. **Fix Incrementally**: One error at a time
15
+ 4. **Verify Each Fix**: Re-run build after each change
16
+ 5. **Report Summary**: Show what was fixed and what remains
17
+
18
+ ## When to Use
19
+
20
+ Use `/ccp:go-build` when:
21
+ - `go build ./...` fails with errors
22
+ - `go vet ./...` reports issues
23
+ - `golangci-lint run` shows warnings
24
+ - Module dependencies are broken
25
+ - After pulling changes that break the build
26
+
27
+ ## Diagnostic Commands Run
28
+
29
+ ```bash
30
+ # Primary build check
31
+ go build ./...
32
+
33
+ # Static analysis
34
+ go vet ./...
35
+
36
+ # Extended linting (if available)
37
+ staticcheck ./...
38
+ golangci-lint run
39
+
40
+ # Module issues
41
+ go mod verify
42
+ go mod tidy -v
43
+ ```
44
+
45
+ ## Example Session
46
+
47
+ ```text
48
+ User: /ccp:go-build
49
+
50
+ Agent:
51
+ # Go Build Resolution
52
+
53
+ ## Initial Diagnostics
54
+
55
+ ```bash
56
+ $ go build ./...
57
+ internal/service/user.go:25:15: undefined: UserRepository
58
+ internal/handler/api.go:42:9: cannot use x (type string) as type int
59
+ internal/handler/api.go:58:2: missing return at end of function
60
+ ```
61
+
62
+ Errors found: 3
63
+
64
+ ## Fix 1: Undefined Identifier
65
+
66
+ File: internal/service/user.go:25
67
+ Error: undefined: UserRepository
68
+ Cause: Missing import
69
+
70
+ ```go
71
+ // Added import
72
+ import "project/internal/repository"
73
+
74
+ // Changed
75
+ var repo UserRepository
76
+ // To
77
+ var repo repository.UserRepository
78
+ ```
79
+
80
+ ```bash
81
+ $ go build ./...
82
+ # 2 errors remaining
83
+ ```
84
+
85
+ ## Fix 2: Type Mismatch
86
+
87
+ File: internal/handler/api.go:42
88
+ Error: cannot use x (type string) as type int
89
+
90
+ ```go
91
+ // Changed
92
+ count := params.Get("count")
93
+ // To
94
+ countStr := params.Get("count")
95
+ count, _ := strconv.Atoi(countStr)
96
+ ```
97
+
98
+ ```bash
99
+ $ go build ./...
100
+ # 1 error remaining
101
+ ```
102
+
103
+ ## Fix 3: Missing Return
104
+
105
+ File: internal/handler/api.go:58
106
+ Error: missing return at end of function
107
+
108
+ ```go
109
+ func GetUser(id string) (*User, error) {
110
+ if id == "" {
111
+ return nil, ErrInvalidID
112
+ }
113
+ user := findUser(id)
114
+ // Added missing return
115
+ return user, nil
116
+ }
117
+ ```
118
+
119
+ ```bash
120
+ $ go build ./...
121
+ # Build successful!
122
+ ```
123
+
124
+ ## Final Verification
125
+
126
+ ```bash
127
+ $ go vet ./...
128
+ # No issues
129
+
130
+ $ go test ./...
131
+ ok project/internal/service 0.015s
132
+ ok project/internal/handler 0.023s
133
+ ```
134
+
135
+ ## Summary
136
+
137
+ | Metric | Count |
138
+ |--------|-------|
139
+ | Build errors fixed | 3 |
140
+ | Vet warnings fixed | 0 |
141
+ | Files modified | 2 |
142
+ | Remaining issues | 0 |
143
+
144
+ Build Status: ✅ SUCCESS
145
+ ```
146
+
147
+ ## Common Errors Fixed
148
+
149
+ | Error | Typical Fix |
150
+ |-------|-------------|
151
+ | `undefined: X` | Add import or fix typo |
152
+ | `cannot use X as Y` | Type conversion or fix assignment |
153
+ | `missing return` | Add return statement |
154
+ | `X does not implement Y` | Add missing method |
155
+ | `import cycle` | Restructure packages |
156
+ | `declared but not used` | Remove or use variable |
157
+ | `cannot find package` | `go get` or `go mod tidy` |
158
+
159
+ ## Fix Strategy
160
+
161
+ 1. **Build errors first** - Code must compile
162
+ 2. **Vet warnings second** - Fix suspicious constructs
163
+ 3. **Lint warnings third** - Style and best practices
164
+ 4. **One fix at a time** - Verify each change
165
+ 5. **Minimal changes** - Don't refactor, just fix
166
+
167
+ ## Stop Conditions
168
+
169
+ The agent will stop and report if:
170
+ - Same error persists after 3 attempts
171
+ - Fix introduces more errors
172
+ - Requires architectural changes
173
+ - Missing external dependencies
174
+
175
+ ## Related Commands
176
+
177
+ - `/ccp:go-test` - Run tests after build succeeds
178
+ - `/ccp:go-review` - Review code quality
179
+ - `/ccp:verify` - Full verification loop
180
+
181
+ ## Related
182
+
183
+ - Agent: `agents/go-build-resolver.md`
184
+ - Skill: `skills/golang-patterns/`
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: ccp:go-review
3
+ description: Comprehensive Go code review for idiomatic patterns, concurrency safety, error handling, and security. Invokes the go-reviewer agent.
4
+ ---
5
+
6
+ # Go Code Review
7
+
8
+ This command invokes the **go-reviewer** agent for comprehensive Go-specific code review.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Identify Go Changes**: Find modified `.go` files via `git diff`
13
+ 2. **Run Static Analysis**: Execute `go vet`, `staticcheck`, and `golangci-lint`
14
+ 3. **Security Scan**: Check for SQL injection, command injection, race conditions
15
+ 4. **Concurrency Review**: Analyze goroutine safety, channel usage, mutex patterns
16
+ 5. **Idiomatic Go Check**: Verify code follows Go conventions and best practices
17
+ 6. **Generate Report**: Categorize issues by severity
18
+
19
+ ## When to Use
20
+
21
+ Use `/ccp:go-review` when:
22
+ - After writing or modifying Go code
23
+ - Before committing Go changes
24
+ - Reviewing pull requests with Go code
25
+ - Onboarding to a new Go codebase
26
+ - Learning idiomatic Go patterns
27
+
28
+ ## Review Categories
29
+
30
+ ### CRITICAL (Must Fix)
31
+ - SQL/Command injection vulnerabilities
32
+ - Race conditions without synchronization
33
+ - Goroutine leaks
34
+ - Hardcoded credentials
35
+ - Unsafe pointer usage
36
+ - Ignored errors in critical paths
37
+
38
+ ### HIGH (Should Fix)
39
+ - Missing error wrapping with context
40
+ - Panic instead of error returns
41
+ - Context not propagated
42
+ - Unbuffered channels causing deadlocks
43
+ - Interface not satisfied errors
44
+ - Missing mutex protection
45
+
46
+ ### MEDIUM (Consider)
47
+ - Non-idiomatic code patterns
48
+ - Missing godoc comments on exports
49
+ - Inefficient string concatenation
50
+ - Slice not preallocated
51
+ - Table-driven tests not used
52
+
53
+ ## Automated Checks Run
54
+
55
+ ```bash
56
+ # Static analysis
57
+ go vet ./...
58
+
59
+ # Advanced checks (if installed)
60
+ staticcheck ./...
61
+ golangci-lint run
62
+
63
+ # Race detection
64
+ go build -race ./...
65
+
66
+ # Security vulnerabilities
67
+ govulncheck ./...
68
+ ```
69
+
70
+ ## Example Usage
71
+
72
+ ```text
73
+ User: /ccp:go-review
74
+
75
+ Agent:
76
+ # Go Code Review Report
77
+
78
+ ## Files Reviewed
79
+ - internal/handler/user.go (modified)
80
+ - internal/service/auth.go (modified)
81
+
82
+ ## Static Analysis Results
83
+ ✓ go vet: No issues
84
+ ✓ staticcheck: No issues
85
+
86
+ ## Issues Found
87
+
88
+ [CRITICAL] Race Condition
89
+ File: internal/service/auth.go:45
90
+ Issue: Shared map accessed without synchronization
91
+ ```go
92
+ var cache = map[string]*Session{} // Concurrent access!
93
+
94
+ func GetSession(id string) *Session {
95
+ return cache[id] // Race condition
96
+ }
97
+ ```
98
+ Fix: Use sync.RWMutex or sync.Map
99
+ ```go
100
+ var (
101
+ cache = map[string]*Session{}
102
+ cacheMu sync.RWMutex
103
+ )
104
+
105
+ func GetSession(id string) *Session {
106
+ cacheMu.RLock()
107
+ defer cacheMu.RUnlock()
108
+ return cache[id]
109
+ }
110
+ ```
111
+
112
+ [HIGH] Missing Error Context
113
+ File: internal/handler/user.go:28
114
+ Issue: Error returned without context
115
+ ```go
116
+ return err // No context
117
+ ```
118
+ Fix: Wrap with context
119
+ ```go
120
+ return fmt.Errorf("get user %s: %w", userID, err)
121
+ ```
122
+
123
+ ## Summary
124
+ - CRITICAL: 1
125
+ - HIGH: 1
126
+ - MEDIUM: 0
127
+
128
+ Recommendation: ❌ Block merge until CRITICAL issue is fixed
129
+ ```
130
+
131
+ ## Approval Criteria
132
+
133
+ | Status | Condition |
134
+ |--------|-----------|
135
+ | ✅ Approve | No CRITICAL or HIGH issues |
136
+ | ⚠️ Warning | Only MEDIUM issues (merge with caution) |
137
+ | ❌ Block | CRITICAL or HIGH issues found |
138
+
139
+ ## Integration with Other Commands
140
+
141
+ - Use `/ccp:go-test` first to ensure tests pass
142
+ - Use `/ccp:go-build` if build errors occur
143
+ - Use `/ccp:go-review` before committing
144
+ - Use `/ccp:code-review` for non-Go specific concerns
145
+
146
+ ## Related
147
+
148
+ - Agent: `agents/go-reviewer.md`
149
+ - Skills: `skills/golang-patterns/`, `skills/golang-testing/`
@@ -0,0 +1,269 @@
1
+ ---
2
+ name: ccp:go-test
3
+ description: Enforce TDD workflow for Go. Write table-driven tests first, then implement. Verify 80%+ coverage with go test -cover.
4
+ ---
5
+
6
+ # Go TDD Command
7
+
8
+ This command enforces test-driven development methodology for Go code using idiomatic Go testing patterns.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Define Types/Interfaces**: Scaffold function signatures first
13
+ 2. **Write Table-Driven Tests**: Create comprehensive test cases (RED)
14
+ 3. **Run Tests**: Verify tests fail for the right reason
15
+ 4. **Implement Code**: Write minimal code to pass (GREEN)
16
+ 5. **Refactor**: Improve while keeping tests green
17
+ 6. **Check Coverage**: Ensure 80%+ coverage
18
+
19
+ ## When to Use
20
+
21
+ Use `/ccp:go-test` when:
22
+ - Implementing new Go functions
23
+ - Adding test coverage to existing code
24
+ - Fixing bugs (write failing test first)
25
+ - Building critical business logic
26
+ - Learning TDD workflow in Go
27
+
28
+ ## TDD Cycle
29
+
30
+ ```
31
+ RED → Write failing table-driven test
32
+ GREEN → Implement minimal code to pass
33
+ REFACTOR → Improve code, tests stay green
34
+ REPEAT → Next test case
35
+ ```
36
+
37
+ ## Example Session
38
+
39
+ ````
40
+ User: /ccp:go-test I need a function to validate email addresses
41
+
42
+ Agent:
43
+ # TDD Session: Email Validator
44
+
45
+ ## Step 1: Define Interface
46
+
47
+ ```go
48
+ // validator/email.go
49
+ package validator
50
+
51
+ // ValidateEmail checks if the given string is a valid email address.
52
+ // Returns nil if valid, error describing the issue otherwise.
53
+ func ValidateEmail(email string) error {
54
+ panic("not implemented")
55
+ }
56
+ ```
57
+
58
+ ## Step 2: Write Table-Driven Tests (RED)
59
+
60
+ ```go
61
+ // validator/email_test.go
62
+ package validator
63
+
64
+ import (
65
+ "testing"
66
+ )
67
+
68
+ func TestValidateEmail(t *testing.T) {
69
+ tests := []struct {
70
+ name string
71
+ email string
72
+ wantErr bool
73
+ }{
74
+ // Valid emails
75
+ {"simple email", "user@example.com", false},
76
+ {"with subdomain", "user@mail.example.com", false},
77
+ {"with plus", "user+tag@example.com", false},
78
+ {"with dots", "first.last@example.com", false},
79
+
80
+ // Invalid emails
81
+ {"empty string", "", true},
82
+ {"no at sign", "userexample.com", true},
83
+ {"no domain", "user@", true},
84
+ {"no local part", "@example.com", true},
85
+ {"double at", "user@@example.com", true},
86
+ {"spaces", "user @example.com", true},
87
+ {"no tld", "user@example", true},
88
+ }
89
+
90
+ for _, tt := range tests {
91
+ t.Run(tt.name, func(t *testing.T) {
92
+ err := ValidateEmail(tt.email)
93
+ if tt.wantErr && err == nil {
94
+ t.Errorf("ValidateEmail(%q) = nil; want error", tt.email)
95
+ }
96
+ if !tt.wantErr && err != nil {
97
+ t.Errorf("ValidateEmail(%q) = %v; want nil", tt.email, err)
98
+ }
99
+ })
100
+ }
101
+ }
102
+ ```
103
+
104
+ ## Step 3: Run Tests - Verify FAIL
105
+
106
+ ```bash
107
+ $ go test ./validator/...
108
+
109
+ --- FAIL: TestValidateEmail (0.00s)
110
+ --- FAIL: TestValidateEmail/simple_email (0.00s)
111
+ panic: not implemented
112
+
113
+ FAIL
114
+ ```
115
+
116
+ ✓ Tests fail as expected (panic).
117
+
118
+ ## Step 4: Implement Minimal Code (GREEN)
119
+
120
+ ```go
121
+ // validator/email.go
122
+ package validator
123
+
124
+ import (
125
+ "errors"
126
+ "regexp"
127
+ )
128
+
129
+ var emailRegex = regexp.MustCompile(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`)
130
+
131
+ var (
132
+ ErrEmailEmpty = errors.New("email cannot be empty")
133
+ ErrEmailInvalid = errors.New("email format is invalid")
134
+ )
135
+
136
+ func ValidateEmail(email string) error {
137
+ if email == "" {
138
+ return ErrEmailEmpty
139
+ }
140
+ if !emailRegex.MatchString(email) {
141
+ return ErrEmailInvalid
142
+ }
143
+ return nil
144
+ }
145
+ ```
146
+
147
+ ## Step 5: Run Tests - Verify PASS
148
+
149
+ ```bash
150
+ $ go test ./validator/...
151
+
152
+ PASS
153
+ ok project/validator 0.003s
154
+ ```
155
+
156
+ ✓ All tests passing!
157
+
158
+ ## Step 6: Check Coverage
159
+
160
+ ```bash
161
+ $ go test -cover ./validator/...
162
+
163
+ PASS
164
+ coverage: 100.0% of statements
165
+ ok project/validator 0.003s
166
+ ```
167
+
168
+ ✓ Coverage: 100%
169
+
170
+ ## TDD Complete!
171
+ ````
172
+
173
+ ## Test Patterns
174
+
175
+ ### Table-Driven Tests
176
+ ```go
177
+ tests := []struct {
178
+ name string
179
+ input InputType
180
+ want OutputType
181
+ wantErr bool
182
+ }{
183
+ {"case 1", input1, want1, false},
184
+ {"case 2", input2, want2, true},
185
+ }
186
+
187
+ for _, tt := range tests {
188
+ t.Run(tt.name, func(t *testing.T) {
189
+ got, err := Function(tt.input)
190
+ // assertions
191
+ })
192
+ }
193
+ ```
194
+
195
+ ### Parallel Tests
196
+ ```go
197
+ for _, tt := range tests {
198
+ tt := tt // Capture
199
+ t.Run(tt.name, func(t *testing.T) {
200
+ t.Parallel()
201
+ // test body
202
+ })
203
+ }
204
+ ```
205
+
206
+ ### Test Helpers
207
+ ```go
208
+ func setupTestDB(t *testing.T) *sql.DB {
209
+ t.Helper()
210
+ db := createDB()
211
+ t.Cleanup(func() { db.Close() })
212
+ return db
213
+ }
214
+ ```
215
+
216
+ ## Coverage Commands
217
+
218
+ ```bash
219
+ # Basic coverage
220
+ go test -cover ./...
221
+
222
+ # Coverage profile
223
+ go test -coverprofile=coverage.out ./...
224
+
225
+ # View in browser
226
+ go tool cover -html=coverage.out
227
+
228
+ # Coverage by function
229
+ go tool cover -func=coverage.out
230
+
231
+ # With race detection
232
+ go test -race -cover ./...
233
+ ```
234
+
235
+ ## Coverage Targets
236
+
237
+ | Code Type | Target |
238
+ |-----------|--------|
239
+ | Critical business logic | 100% |
240
+ | Public APIs | 90%+ |
241
+ | General code | 80%+ |
242
+ | Generated code | Exclude |
243
+
244
+ ## TDD Best Practices
245
+
246
+ **DO:**
247
+ - Write test FIRST, before any implementation
248
+ - Run tests after each change
249
+ - Use table-driven tests for comprehensive coverage
250
+ - Test behavior, not implementation details
251
+ - Include edge cases (empty, nil, max values)
252
+
253
+ **DON'T:**
254
+ - Write implementation before tests
255
+ - Skip the RED phase
256
+ - Test private functions directly
257
+ - Use `time.Sleep` in tests
258
+ - Ignore flaky tests
259
+
260
+ ## Related Commands
261
+
262
+ - `/ccp:go-build` - Fix build errors
263
+ - `/ccp:go-review` - Review code after implementation
264
+ - `/ccp:verify` - Run full verification loop
265
+
266
+ ## Related
267
+
268
+ - Skill: `skills/golang-testing/`
269
+ - Skill: `skills/tdd-workflow/`