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,298 @@
1
+ ---
2
+ name: ccp:python-review
3
+ description: Comprehensive Python code review for PEP 8 compliance, type hints, security, and Pythonic idioms. Invokes the python-reviewer agent.
4
+ ---
5
+
6
+ # Python Code Review
7
+
8
+ This command invokes the **python-reviewer** agent for comprehensive Python-specific code review.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Identify Python Changes**: Find modified `.py` files via `git diff`
13
+ 2. **Run Static Analysis**: Execute `ruff`, `mypy`, `pylint`, `black --check`
14
+ 3. **Security Scan**: Check for SQL injection, command injection, unsafe deserialization
15
+ 4. **Type Safety Review**: Analyze type hints and mypy errors
16
+ 5. **Pythonic Code Check**: Verify code follows PEP 8 and Python best practices
17
+ 6. **Generate Report**: Categorize issues by severity
18
+
19
+ ## When to Use
20
+
21
+ Use `/ccp:python-review` when:
22
+ - After writing or modifying Python code
23
+ - Before committing Python changes
24
+ - Reviewing pull requests with Python code
25
+ - Onboarding to a new Python codebase
26
+ - Learning Pythonic patterns and idioms
27
+
28
+ ## Review Categories
29
+
30
+ ### CRITICAL (Must Fix)
31
+ - SQL/Command injection vulnerabilities
32
+ - Unsafe eval/exec usage
33
+ - Pickle unsafe deserialization
34
+ - Hardcoded credentials
35
+ - YAML unsafe load
36
+ - Bare except clauses hiding errors
37
+
38
+ ### HIGH (Should Fix)
39
+ - Missing type hints on public functions
40
+ - Mutable default arguments
41
+ - Swallowing exceptions silently
42
+ - Not using context managers for resources
43
+ - C-style looping instead of comprehensions
44
+ - Using type() instead of isinstance()
45
+ - Race conditions without locks
46
+
47
+ ### MEDIUM (Consider)
48
+ - PEP 8 formatting violations
49
+ - Missing docstrings on public functions
50
+ - Print statements instead of logging
51
+ - Inefficient string operations
52
+ - Magic numbers without named constants
53
+ - Not using f-strings for formatting
54
+ - Unnecessary list creation
55
+
56
+ ## Automated Checks Run
57
+
58
+ ```bash
59
+ # Type checking
60
+ mypy .
61
+
62
+ # Linting and formatting
63
+ ruff check .
64
+ black --check .
65
+ isort --check-only .
66
+
67
+ # Security scanning
68
+ bandit -r .
69
+
70
+ # Dependency audit
71
+ pip-audit
72
+ safety check
73
+
74
+ # Testing
75
+ pytest --cov=app --cov-report=term-missing
76
+ ```
77
+
78
+ ## Example Usage
79
+
80
+ ```text
81
+ User: /ccp:python-review
82
+
83
+ Agent:
84
+ # Python Code Review Report
85
+
86
+ ## Files Reviewed
87
+ - app/routes/user.py (modified)
88
+ - app/services/auth.py (modified)
89
+
90
+ ## Static Analysis Results
91
+ ✓ ruff: No issues
92
+ ✓ mypy: No errors
93
+ ⚠️ black: 2 files need reformatting
94
+ ✓ bandit: No security issues
95
+
96
+ ## Issues Found
97
+
98
+ [CRITICAL] SQL Injection vulnerability
99
+ File: app/routes/user.py:42
100
+ Issue: User input directly interpolated into SQL query
101
+ ```python
102
+ query = f"SELECT * FROM users WHERE id = {user_id}" # Bad
103
+ ```
104
+ Fix: Use parameterized query
105
+ ```python
106
+ query = "SELECT * FROM users WHERE id = %s" # Good
107
+ cursor.execute(query, (user_id,))
108
+ ```
109
+
110
+ [HIGH] Mutable default argument
111
+ File: app/services/auth.py:18
112
+ Issue: Mutable default argument causes shared state
113
+ ```python
114
+ def process_items(items=[]): # Bad
115
+ items.append("new")
116
+ return items
117
+ ```
118
+ Fix: Use None as default
119
+ ```python
120
+ def process_items(items=None): # Good
121
+ if items is None:
122
+ items = []
123
+ items.append("new")
124
+ return items
125
+ ```
126
+
127
+ [MEDIUM] Missing type hints
128
+ File: app/services/auth.py:25
129
+ Issue: Public function without type annotations
130
+ ```python
131
+ def get_user(user_id): # Bad
132
+ return db.find(user_id)
133
+ ```
134
+ Fix: Add type hints
135
+ ```python
136
+ def get_user(user_id: str) -> Optional[User]: # Good
137
+ return db.find(user_id)
138
+ ```
139
+
140
+ [MEDIUM] Not using context manager
141
+ File: app/routes/user.py:55
142
+ Issue: File not closed on exception
143
+ ```python
144
+ f = open("config.json") # Bad
145
+ data = f.read()
146
+ f.close()
147
+ ```
148
+ Fix: Use context manager
149
+ ```python
150
+ with open("config.json") as f: # Good
151
+ data = f.read()
152
+ ```
153
+
154
+ ## Summary
155
+ - CRITICAL: 1
156
+ - HIGH: 1
157
+ - MEDIUM: 2
158
+
159
+ Recommendation: ❌ Block merge until CRITICAL issue is fixed
160
+
161
+ ## Formatting Required
162
+ Run: `black app/routes/user.py app/services/auth.py`
163
+ ```
164
+
165
+ ## Approval Criteria
166
+
167
+ | Status | Condition |
168
+ |--------|-----------|
169
+ | ✅ Approve | No CRITICAL or HIGH issues |
170
+ | ⚠️ Warning | Only MEDIUM issues (merge with caution) |
171
+ | ❌ Block | CRITICAL or HIGH issues found |
172
+
173
+ ## Integration with Other Commands
174
+
175
+ - Use `/ccp:tdd` first to ensure tests pass
176
+ - Use `/ccp:code-review` for non-Python specific concerns
177
+ - Use `/ccp:python-review` before committing
178
+ - Use `/ccp:build-fix` if static analysis tools fail
179
+
180
+ ## Framework-Specific Reviews
181
+
182
+ ### Django Projects
183
+ The reviewer checks for:
184
+ - N+1 query issues (use `select_related` and `prefetch_related`)
185
+ - Missing migrations for model changes
186
+ - Raw SQL usage when ORM could work
187
+ - Missing `transaction.atomic()` for multi-step operations
188
+
189
+ ### FastAPI Projects
190
+ The reviewer checks for:
191
+ - CORS misconfiguration
192
+ - Pydantic models for request validation
193
+ - Response models correctness
194
+ - Proper async/await usage
195
+ - Dependency injection patterns
196
+
197
+ ### Flask Projects
198
+ The reviewer checks for:
199
+ - Context management (app context, request context)
200
+ - Proper error handling
201
+ - Blueprint organization
202
+ - Configuration management
203
+
204
+ ## Related
205
+
206
+ - Agent: `agents/python-reviewer.md`
207
+ - Skills: `skills/python-patterns/`, `skills/python-testing/`
208
+
209
+ ## Common Fixes
210
+
211
+ ### Add Type Hints
212
+ ```python
213
+ # Before
214
+ def calculate(x, y):
215
+ return x + y
216
+
217
+ # After
218
+ from typing import Union
219
+
220
+ def calculate(x: Union[int, float], y: Union[int, float]) -> Union[int, float]:
221
+ return x + y
222
+ ```
223
+
224
+ ### Use Context Managers
225
+ ```python
226
+ # Before
227
+ f = open("file.txt")
228
+ data = f.read()
229
+ f.close()
230
+
231
+ # After
232
+ with open("file.txt") as f:
233
+ data = f.read()
234
+ ```
235
+
236
+ ### Use List Comprehensions
237
+ ```python
238
+ # Before
239
+ result = []
240
+ for item in items:
241
+ if item.active:
242
+ result.append(item.name)
243
+
244
+ # After
245
+ result = [item.name for item in items if item.active]
246
+ ```
247
+
248
+ ### Fix Mutable Defaults
249
+ ```python
250
+ # Before
251
+ def append(value, items=[]):
252
+ items.append(value)
253
+ return items
254
+
255
+ # After
256
+ def append(value, items=None):
257
+ if items is None:
258
+ items = []
259
+ items.append(value)
260
+ return items
261
+ ```
262
+
263
+ ### Use f-strings (Python 3.6+)
264
+ ```python
265
+ # Before
266
+ name = "Alice"
267
+ greeting = "Hello, " + name + "!"
268
+ greeting2 = "Hello, {}".format(name)
269
+
270
+ # After
271
+ greeting = f"Hello, {name}!"
272
+ ```
273
+
274
+ ### Fix String Concatenation in Loops
275
+ ```python
276
+ # Before
277
+ result = ""
278
+ for item in items:
279
+ result += str(item)
280
+
281
+ # After
282
+ result = "".join(str(item) for item in items)
283
+ ```
284
+
285
+ ## Python Version Compatibility
286
+
287
+ The reviewer notes when code uses features from newer Python versions:
288
+
289
+ | Feature | Minimum Python |
290
+ |---------|----------------|
291
+ | Type hints | 3.5+ |
292
+ | f-strings | 3.6+ |
293
+ | Walrus operator (`:=`) | 3.8+ |
294
+ | Position-only parameters | 3.8+ |
295
+ | Match statements | 3.10+ |
296
+ | Type unions (`x | None`) | 3.10+ |
297
+
298
+ Ensure your project's `pyproject.toml` or `setup.py` specifies the correct minimum Python version.
@@ -1,10 +1,15 @@
1
+ ---
2
+ name: ccp:quality-gate
3
+ description: "Run the CCP quality pipeline on demand for a file or project scope"
4
+ ---
5
+
1
6
  # Quality Gate Command
2
7
 
3
- Run the ECC quality pipeline on demand for a file or project scope.
8
+ Run the CCP quality pipeline on demand for a file or project scope.
4
9
 
5
10
  ## Usage
6
11
 
7
- `/quality-gate [path|.] [--fix] [--strict]`
12
+ `/ccp:quality-gate [path|.] [--fix] [--strict]`
8
13
 
9
14
  - default target: current directory (`.`)
10
15
  - `--fix`: allow auto-format/fix where configured
@@ -1,7 +1,7 @@
1
1
  ---
2
- name: gsd:quick
3
- description: Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents
4
- argument-hint: "[--full] [--discuss]"
2
+ name: ccp:quick
3
+ description: Execute a quick task with CCP guarantees (atomic commits, state tracking) but skip optional agents
4
+ argument-hint: "[--full] [--discuss] [--research]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -13,10 +13,10 @@ allowed-tools:
13
13
  - AskUserQuestion
14
14
  ---
15
15
  <objective>
16
- Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking).
16
+ Execute small, ad-hoc tasks with CCP guarantees (atomic commits, STATE.md tracking).
17
17
 
18
18
  Quick mode is the same system with a shorter path:
19
- - Spawns gsd-planner (quick mode) + gsd-executor(s)
19
+ - Spawns ccp-planner (quick mode) + ccp-executor(s)
20
20
  - Quick tasks live in `.planning/quick/` separate from planned phases
21
21
  - Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md)
22
22
 
@@ -26,11 +26,13 @@ Quick mode is the same system with a shorter path:
26
26
 
27
27
  **`--full` flag:** Enables plan-checking (max 2 iterations) and post-execution verification. Use when you want quality guarantees without full milestone ceremony.
28
28
 
29
- Flags are composable: `--discuss --full` gives discussion + plan-checking + verification.
29
+ **`--research` flag:** Spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls for the task. Use when you're unsure of the best approach.
30
+
31
+ Flags are composable: `--discuss --research --full` gives discussion + research + plan-checking + verification.
30
32
  </objective>
31
33
 
32
34
  <execution_context>
33
- @~/.claude/get-shit-done/workflows/quick.md
35
+ @~/.claude/pilot/workflows/quick.md
34
36
  </execution_context>
35
37
 
36
38
  <context>
@@ -40,6 +42,6 @@ Context files are resolved inside the workflow (`init quick`) and delegated via
40
42
  </context>
41
43
 
42
44
  <process>
43
- Execute the quick workflow from @~/.claude/get-shit-done/workflows/quick.md end-to-end.
45
+ Execute the quick workflow from @~/.claude/pilot/workflows/quick.md end-to-end.
44
46
  Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
45
47
  </process>
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: ccp:refactor-clean
3
+ description: "Safely identify and remove dead code with test verification"
4
+ ---
5
+
6
+ # Refactor Clean
7
+
8
+ Safely identify and remove dead code with test verification at every step.
9
+
10
+ ## Step 1: Detect Dead Code
11
+
12
+ Run analysis tools based on project type:
13
+
14
+ | Tool | What It Finds | Command |
15
+ |------|--------------|---------|
16
+ | knip | Unused exports, files, dependencies | `npx knip` |
17
+ | depcheck | Unused npm dependencies | `npx depcheck` |
18
+ | ts-prune | Unused TypeScript exports | `npx ts-prune` |
19
+ | vulture | Unused Python code | `vulture src/` |
20
+ | deadcode | Unused Go code | `deadcode ./...` |
21
+ | cargo-udeps | Unused Rust dependencies | `cargo +nightly udeps` |
22
+
23
+ If no tool is available, use Grep to find exports with zero imports:
24
+ ```
25
+ # Find exports, then check if they're imported anywhere
26
+ ```
27
+
28
+ ## Step 2: Categorize Findings
29
+
30
+ Sort findings into safety tiers:
31
+
32
+ | Tier | Examples | Action |
33
+ |------|----------|--------|
34
+ | **SAFE** | Unused utilities, test helpers, internal functions | Delete with confidence |
35
+ | **CAUTION** | Components, API routes, middleware | Verify no dynamic imports or external consumers |
36
+ | **DANGER** | Config files, entry points, type definitions | Investigate before touching |
37
+
38
+ ## Step 3: Safe Deletion Loop
39
+
40
+ For each SAFE item:
41
+
42
+ 1. **Run full test suite** — Establish baseline (all green)
43
+ 2. **Delete the dead code** — Use Edit tool for surgical removal
44
+ 3. **Re-run test suite** — Verify nothing broke
45
+ 4. **If tests fail** — Immediately revert with `git checkout -- <file>` and skip this item
46
+ 5. **If tests pass** — Move to next item
47
+
48
+ ## Step 4: Handle CAUTION Items
49
+
50
+ Before deleting CAUTION items:
51
+ - Search for dynamic imports: `import()`, `require()`, `__import__`
52
+ - Search for string references: route names, component names in configs
53
+ - Check if exported from a public package API
54
+ - Verify no external consumers (check dependents if published)
55
+
56
+ ## Step 5: Consolidate Duplicates
57
+
58
+ After removing dead code, look for:
59
+ - Near-duplicate functions (>80% similar) — merge into one
60
+ - Redundant type definitions — consolidate
61
+ - Wrapper functions that add no value — inline them
62
+ - Re-exports that serve no purpose — remove indirection
63
+
64
+ ## Step 6: Summary
65
+
66
+ Report results:
67
+
68
+ ```
69
+ Dead Code Cleanup
70
+ ──────────────────────────────
71
+ Deleted: 12 unused functions
72
+ 3 unused files
73
+ 5 unused dependencies
74
+ Skipped: 2 items (tests failed)
75
+ Saved: ~450 lines removed
76
+ ──────────────────────────────
77
+ All tests passing ✅
78
+ ```
79
+
80
+ ## Rules
81
+
82
+ - **Never delete without running tests first**
83
+ - **One deletion at a time** — Atomic changes make rollback easy
84
+ - **Skip if uncertain** — Better to keep dead code than break production
85
+ - **Don't refactor while cleaning** — Separate concerns (clean first, refactor later)
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: gsd:remove-phase
2
+ name: ccp:remove-phase
3
3
  description: Remove a future phase from roadmap and renumber subsequent phases
4
4
  argument-hint: <phase-number>
5
5
  allowed-tools:
@@ -16,7 +16,7 @@ Output: Phase deleted, all subsequent phases renumbered, git commit as historica
16
16
  </objective>
17
17
 
18
18
  <execution_context>
19
- @~/.claude/get-shit-done/workflows/remove-phase.md
19
+ @~/.claude/pilot/workflows/remove-phase.md
20
20
  </execution_context>
21
21
 
22
22
  <context>
@@ -26,6 +26,6 @@ Roadmap and state are resolved in-workflow via `init phase-op` and targeted read
26
26
  </context>
27
27
 
28
28
  <process>
29
- Execute the remove-phase workflow from @~/.claude/get-shit-done/workflows/remove-phase.md end-to-end.
29
+ Execute the remove-phase workflow from @~/.claude/pilot/workflows/remove-phase.md end-to-end.
30
30
  Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
31
31
  </process>
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: gsd:research-phase
3
- description: Research how to implement a phase (standalone - usually use /gsd:plan-phase instead)
2
+ name: ccp:research-phase
3
+ description: Research how to implement a phase (standalone - usually use /ccp:plan-phase instead)
4
4
  argument-hint: "[phase]"
5
5
  allowed-tools:
6
6
  - Read
@@ -9,9 +9,9 @@ allowed-tools:
9
9
  ---
10
10
 
11
11
  <objective>
12
- Research how to implement a phase. Spawns gsd-phase-researcher agent with phase context.
12
+ Research how to implement a phase. Spawns ccp-phase-researcher agent with phase context.
13
13
 
14
- **Note:** This is a standalone research command. For most workflows, use `/gsd:plan-phase` which integrates research automatically.
14
+ **Note:** This is a standalone research command. For most workflows, use `/ccp:plan-phase` which integrates research automatically.
15
15
 
16
16
  **Use this command when:**
17
17
  - You want to research without planning yet
@@ -23,6 +23,11 @@ Research how to implement a phase. Spawns gsd-phase-researcher agent with phase
23
23
  **Why subagent:** Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
24
24
  </objective>
25
25
 
26
+ <available_agent_types>
27
+ Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
28
+ - ccp-phase-researcher — Researches technical approaches for a phase
29
+ </available_agent_types>
30
+
26
31
  <context>
27
32
  Phase number: $ARGUMENTS (required)
28
33
 
@@ -34,7 +39,7 @@ Normalize phase input in step 1 before any directory lookups.
34
39
  ## 0. Initialize Context
35
40
 
36
41
  ```bash
37
- INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" init phase-op "$ARGUMENTS")
42
+ INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "$ARGUMENTS")
38
43
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
39
44
  ```
40
45
 
@@ -42,13 +47,13 @@ Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`
42
47
 
43
48
  Resolve researcher model:
44
49
  ```bash
45
- RESEARCHER_MODEL=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-phase-researcher --raw)
50
+ RESEARCHER_MODEL=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" resolve-model ccp-phase-researcher --raw)
46
51
  ```
47
52
 
48
53
  ## 1. Validate Phase
49
54
 
50
55
  ```bash
51
- PHASE_INFO=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${phase_number}")
56
+ PHASE_INFO=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" roadmap get-phase "${phase_number}")
52
57
  ```
53
58
 
54
59
  **If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
@@ -72,7 +77,7 @@ Use paths from INIT (do not inline file contents in orchestrator context):
72
77
 
73
78
  Present summary with phase description and what files the researcher will load.
74
79
 
75
- ## 4. Spawn gsd-phase-researcher Agent
80
+ ## 4. Spawn ccp-phase-researcher Agent
76
81
 
77
82
  Research modes: ecosystem (default), feasibility, implementation, comparison.
78
83
 
@@ -110,7 +115,7 @@ Mode: ecosystem
110
115
  </additional_context>
111
116
 
112
117
  <downstream_consumer>
113
- Your RESEARCH.md will be loaded by `/gsd:plan-phase` which uses specific sections:
118
+ Your RESEARCH.md will be loaded by `/ccp:plan-phase` which uses specific sections:
114
119
  - `## Standard Stack` → Plans use these libraries
115
120
  - `## Architecture Patterns` → Task structure follows these
116
121
  - `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
@@ -137,7 +142,7 @@ Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
137
142
  ```
138
143
  Task(
139
144
  prompt=filled_prompt,
140
- subagent_type="gsd-phase-researcher",
145
+ subagent_type="ccp-phase-researcher",
141
146
  model="{researcher_model}",
142
147
  description="Research Phase {phase}"
143
148
  )
@@ -173,7 +178,7 @@ Continue research for Phase {phase_number}: {phase_name}
173
178
  ```
174
179
  Task(
175
180
  prompt=continuation_prompt,
176
- subagent_type="gsd-phase-researcher",
181
+ subagent_type="ccp-phase-researcher",
177
182
  model="{researcher_model}",
178
183
  description="Continue research Phase {phase}"
179
184
  )
@@ -184,7 +189,7 @@ Task(
184
189
  <success_criteria>
185
190
  - [ ] Phase validated against roadmap
186
191
  - [ ] Existing research checked
187
- - [ ] gsd-phase-researcher spawned with context
192
+ - [ ] ccp-phase-researcher spawned with context
188
193
  - [ ] Checkpoints handled correctly
189
194
  - [ ] User knows next steps
190
195
  </success_criteria>
@@ -1,11 +1,12 @@
1
1
  ---
2
+ name: ccp:resume-session
2
3
  description: Load the most recent session file from ~/.claude/sessions/ and resume work with full context from where the last session ended.
3
4
  ---
4
5
 
5
6
  # Resume Session Command
6
7
 
7
8
  Load the last saved session state and orient fully before doing any work.
8
- This command is the counterpart to `/save-session`.
9
+ This command is the counterpart to `/ccp:save-session`.
9
10
 
10
11
  ## When to Use
11
12
 
@@ -17,10 +18,10 @@ This command is the counterpart to `/save-session`.
17
18
  ## Usage
18
19
 
19
20
  ```
20
- /resume-session # loads most recent file in ~/.claude/sessions/
21
- /resume-session 2024-01-15 # loads most recent session for that date
22
- /resume-session ~/.claude/sessions/2024-01-15-session.tmp # loads a specific legacy-format file
23
- /resume-session ~/.claude/sessions/2024-01-15-abc123de-session.tmp # loads a current short-id session file
21
+ /ccp:resume-session # loads most recent file in ~/.claude/sessions/
22
+ /ccp:resume-session 2024-01-15 # loads most recent session for that date
23
+ /ccp:resume-session ~/.claude/sessions/2024-01-15-session.tmp # loads a specific legacy-format file
24
+ /ccp:resume-session ~/.claude/sessions/2024-01-15-abc123de-session.tmp # loads a current short-id session file
24
25
  ```
25
26
 
26
27
  ## Process
@@ -34,7 +35,7 @@ If no argument provided:
34
35
  3. If the folder does not exist or has no matching files, tell the user:
35
36
  ```
36
37
  No session files found in ~/.claude/sessions/
37
- Run /save-session at the end of a session to create one.
38
+ Run /ccp:save-session at the end of a session to create one.
38
39
  ```
39
40
  Then stop.
40
41
 
@@ -107,7 +108,7 @@ Note the gap — "⚠️ This session is from N days ago (threshold: 7 days). Th
107
108
  Read it and follow the same briefing process — the format is the same regardless of source.
108
109
 
109
110
  **Session file is empty or malformed:**
110
- Report: "Session file found but appears empty or unreadable. You may need to create a new one with /save-session."
111
+ Report: "Session file found but appears empty or unreadable. You may need to create a new one with /ccp:save-session."
111
112
 
112
113
  ---
113
114
 
@@ -152,4 +153,4 @@ Ready to continue. What would you like to do?
152
153
  - Never modify the session file when loading it — it's a read-only historical record
153
154
  - The briefing format is fixed — do not skip sections even if they are empty
154
155
  - "What Not To Retry" must always be shown, even if it just says "None" — it's too important to miss
155
- - After resuming, the user may want to run `/save-session` again at the end of the new session to create a new dated file
156
+ - After resuming, the user may want to run `/ccp:save-session` again at the end of the new session to create a new dated file
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: gsd:resume-work
2
+ name: ccp:resume-work
3
3
  description: Resume work from previous session with full context restoration
4
4
  allowed-tools:
5
5
  - Read
@@ -22,11 +22,11 @@ Routes to the resume-project workflow which handles:
22
22
  </objective>
23
23
 
24
24
  <execution_context>
25
- @~/.claude/get-shit-done/workflows/resume-project.md
25
+ @~/.claude/pilot/workflows/resume-project.md
26
26
  </execution_context>
27
27
 
28
28
  <process>
29
- **Follow the resume-project workflow** from `@~/.claude/get-shit-done/workflows/resume-project.md`.
29
+ **Follow the resume-project workflow** from `@~/.claude/pilot/workflows/resume-project.md`.
30
30
 
31
31
  The workflow handles all resumption logic including:
32
32