claude-code-pilot 2.0.0 → 3.0.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 (455) hide show
  1. package/bin/install.js +267 -250
  2. package/manifest.json +5 -18
  3. package/package.json +5 -7
  4. package/src/agents/build-error-resolver.md +114 -0
  5. package/src/agents/ccp-advisor-researcher.md +104 -0
  6. package/src/agents/ccp-assumptions-analyzer.md +105 -0
  7. package/{gsd/agents/gsd-codebase-mapper.md → src/agents/ccp-codebase-mapper.md} +7 -7
  8. package/{gsd/agents/gsd-debugger.md → src/agents/ccp-debugger.md} +125 -8
  9. package/{gsd/agents/gsd-executor.md → src/agents/ccp-executor.md} +31 -20
  10. package/{gsd/agents/gsd-integration-checker.md → src/agents/ccp-integration-checker.md} +2 -2
  11. package/{gsd/agents/gsd-nyquist-auditor.md → src/agents/ccp-nyquist-auditor.md} +3 -3
  12. package/{gsd/agents/gsd-phase-researcher.md → src/agents/ccp-phase-researcher.md} +127 -13
  13. package/{gsd/agents/gsd-plan-checker.md → src/agents/ccp-plan-checker.md} +57 -21
  14. package/{gsd/agents/gsd-planner.md → src/agents/ccp-planner.md} +61 -23
  15. package/{gsd/agents/gsd-project-researcher.md → src/agents/ccp-project-researcher.md} +33 -6
  16. package/{gsd/agents/gsd-research-synthesizer.md → src/agents/ccp-research-synthesizer.md} +11 -11
  17. package/{gsd/agents/gsd-roadmapper.md → src/agents/ccp-roadmapper.md} +39 -10
  18. package/src/agents/ccp-ui-auditor.md +439 -0
  19. package/src/agents/ccp-ui-checker.md +300 -0
  20. package/src/agents/ccp-ui-researcher.md +357 -0
  21. package/{gsd/agents/gsd-verifier.md → src/agents/ccp-verifier.md} +81 -15
  22. package/src/agents/cpp-build-resolver.md +90 -0
  23. package/src/agents/cpp-reviewer.md +72 -0
  24. package/src/agents/database-reviewer.md +91 -0
  25. package/src/agents/docs-lookup.md +68 -0
  26. package/src/agents/flutter-reviewer.md +243 -0
  27. package/src/agents/go-build-resolver.md +94 -0
  28. package/src/agents/go-reviewer.md +76 -0
  29. package/src/agents/java-build-resolver.md +153 -0
  30. package/src/agents/java-reviewer.md +92 -0
  31. package/src/agents/kotlin-build-resolver.md +118 -0
  32. package/src/agents/kotlin-reviewer.md +159 -0
  33. package/src/agents/planner.md +212 -0
  34. package/src/agents/python-reviewer.md +98 -0
  35. package/src/agents/pytorch-build-resolver.md +120 -0
  36. package/src/agents/refactor-cleaner.md +85 -0
  37. package/src/agents/rust-build-resolver.md +148 -0
  38. package/src/agents/rust-reviewer.md +94 -0
  39. package/src/agents/typescript-reviewer.md +112 -0
  40. package/src/available-rules/README.md +80 -0
  41. package/src/available-rules/cpp/coding-style.md +44 -0
  42. package/src/available-rules/cpp/hooks.md +39 -0
  43. package/src/available-rules/cpp/patterns.md +51 -0
  44. package/src/available-rules/cpp/security.md +51 -0
  45. package/src/available-rules/cpp/testing.md +44 -0
  46. package/src/available-rules/csharp/coding-style.md +72 -0
  47. package/src/available-rules/csharp/hooks.md +25 -0
  48. package/src/available-rules/csharp/patterns.md +50 -0
  49. package/src/available-rules/csharp/security.md +58 -0
  50. package/src/available-rules/csharp/testing.md +46 -0
  51. package/src/available-rules/java/coding-style.md +114 -0
  52. package/src/available-rules/java/hooks.md +18 -0
  53. package/src/available-rules/java/patterns.md +146 -0
  54. package/src/available-rules/java/security.md +100 -0
  55. package/src/available-rules/java/testing.md +131 -0
  56. package/src/available-rules/kotlin/hooks.md +17 -0
  57. package/src/available-rules/rust/coding-style.md +151 -0
  58. package/src/available-rules/rust/hooks.md +16 -0
  59. package/src/available-rules/rust/patterns.md +168 -0
  60. package/src/available-rules/rust/security.md +141 -0
  61. package/src/available-rules/rust/testing.md +154 -0
  62. package/src/commands/aside.md +164 -0
  63. package/src/commands/build-fix.md +62 -0
  64. package/src/commands/ccp/add-backlog.md +76 -0
  65. package/{gsd/commands-gsd → src/commands/ccp}/add-phase.md +3 -3
  66. package/{gsd/commands-gsd → src/commands/ccp}/add-tests.md +5 -5
  67. package/{gsd/commands-gsd → src/commands/ccp}/add-todo.md +4 -4
  68. package/{gsd/commands-gsd → src/commands/ccp}/audit-milestone.md +3 -3
  69. package/src/commands/ccp/audit-uat.md +24 -0
  70. package/src/commands/ccp/autonomous.md +41 -0
  71. package/{gsd/commands-gsd → src/commands/ccp}/check-todos.md +3 -3
  72. package/{gsd/commands-gsd → src/commands/ccp}/cleanup.md +3 -3
  73. package/{gsd/commands-gsd → src/commands/ccp}/complete-milestone.md +9 -9
  74. package/{gsd/commands-gsd → src/commands/ccp}/debug.md +14 -9
  75. package/src/commands/ccp/discuss-phase.md +64 -0
  76. package/src/commands/ccp/do.md +30 -0
  77. package/src/commands/ccp/execute-phase.md +59 -0
  78. package/src/commands/ccp/fast.md +30 -0
  79. package/src/commands/ccp/forensics.md +56 -0
  80. package/{gsd/commands-gsd → src/commands/ccp}/health.md +3 -3
  81. package/{gsd/commands-gsd → src/commands/ccp}/help.md +5 -5
  82. package/{gsd/commands-gsd → src/commands/ccp}/insert-phase.md +3 -3
  83. package/{gsd/commands-gsd → src/commands/ccp}/list-phase-assumptions.md +2 -2
  84. package/src/commands/ccp/manager.md +39 -0
  85. package/{gsd/commands-gsd → src/commands/ccp}/map-codebase.md +7 -7
  86. package/src/commands/ccp/milestone-summary.md +51 -0
  87. package/{gsd/commands-gsd → src/commands/ccp}/new-milestone.md +8 -8
  88. package/{gsd/commands-gsd → src/commands/ccp}/new-project.md +8 -8
  89. package/src/commands/ccp/next.md +24 -0
  90. package/src/commands/ccp/note.md +34 -0
  91. package/{gsd/commands-gsd → src/commands/ccp}/pause-work.md +3 -3
  92. package/{gsd/commands-gsd → src/commands/ccp}/plan-milestone-gaps.md +5 -5
  93. package/{gsd/commands-gsd → src/commands/ccp}/plan-phase.md +9 -7
  94. package/src/commands/ccp/plant-seed.md +28 -0
  95. package/src/commands/ccp/pr-branch.md +25 -0
  96. package/{gsd/commands-gsd → src/commands/ccp}/progress.md +3 -3
  97. package/{gsd/commands-gsd → src/commands/ccp}/quick.md +10 -8
  98. package/{gsd/commands-gsd → src/commands/ccp}/remove-phase.md +3 -3
  99. package/{gsd/commands-gsd → src/commands/ccp}/research-phase.md +17 -12
  100. package/{gsd/commands-gsd → src/commands/ccp}/resume-work.md +3 -3
  101. package/src/commands/ccp/review-backlog.md +61 -0
  102. package/src/commands/ccp/session-report.md +19 -0
  103. package/src/commands/ccp/set-profile.md +12 -0
  104. package/{gsd/commands-gsd → src/commands/ccp}/settings.md +5 -5
  105. package/src/commands/ccp/ship.md +23 -0
  106. package/src/commands/ccp/stats.md +18 -0
  107. package/src/commands/ccp/thread.md +127 -0
  108. package/src/commands/ccp/ui-phase.md +34 -0
  109. package/src/commands/ccp/ui-review.md +32 -0
  110. package/{gsd/commands-gsd → src/commands/ccp}/update.md +5 -5
  111. package/{gsd/commands-gsd → src/commands/ccp}/validate-phase.md +3 -3
  112. package/{gsd/commands-gsd → src/commands/ccp}/verify-work.md +5 -5
  113. package/src/commands/code-review.md +40 -0
  114. package/src/commands/context-budget.md +29 -0
  115. package/src/commands/cpp-build.md +173 -0
  116. package/src/commands/cpp-review.md +132 -0
  117. package/src/commands/cpp-test.md +251 -0
  118. package/src/commands/docs.md +31 -0
  119. package/src/commands/e2e.md +364 -0
  120. package/src/commands/eval.md +120 -0
  121. package/{ecc → src}/commands/evolve.md +2 -2
  122. package/src/commands/go-build.md +183 -0
  123. package/src/commands/go-review.md +148 -0
  124. package/src/commands/go-test.md +268 -0
  125. package/src/commands/gradle-build.md +70 -0
  126. package/src/commands/harness-audit.md +71 -0
  127. package/src/commands/kotlin-build.md +174 -0
  128. package/src/commands/kotlin-review.md +140 -0
  129. package/src/commands/kotlin-test.md +312 -0
  130. package/src/commands/orchestrate.md +231 -0
  131. package/src/commands/plan.md +114 -0
  132. package/src/commands/prompt-optimize.md +38 -0
  133. package/src/commands/prune.md +25 -0
  134. package/src/commands/python-review.md +297 -0
  135. package/{ecc → src}/commands/quality-gate.md +1 -1
  136. package/src/commands/refactor-clean.md +80 -0
  137. package/src/commands/rules-distill.md +11 -0
  138. package/src/commands/rust-build.md +187 -0
  139. package/src/commands/rust-review.md +142 -0
  140. package/src/commands/rust-test.md +308 -0
  141. package/{ecc → src}/commands/sessions.md +10 -10
  142. package/src/commands/setup-pm.md +80 -0
  143. package/{kit → src}/commands/setup.md +45 -19
  144. package/src/commands/skill-create.md +172 -0
  145. package/src/commands/skill-health.md +51 -0
  146. package/src/commands/tdd.md +328 -0
  147. package/src/commands/test-coverage.md +69 -0
  148. package/src/commands/update-codemaps.md +72 -0
  149. package/src/commands/update-docs.md +84 -0
  150. package/{gsd/hooks/gsd-context-monitor.js → src/hooks/ccp-context-monitor.js} +3 -3
  151. package/src/hooks/ccp-prompt-guard.js +96 -0
  152. package/{gsd/hooks/gsd-statusline.js → src/hooks/ccp-statusline.js} +7 -7
  153. package/src/hooks/ccp-workflow-guard.js +94 -0
  154. package/src/hooks/config-protection.js +141 -0
  155. package/{kit → src}/hooks/kit-check-update.js +7 -4
  156. package/src/hooks/mcp-health-check.js +620 -0
  157. package/{ecc/scripts → src}/hooks/run-with-flags-shell.sh +1 -1
  158. package/{ecc/scripts → src}/hooks/run-with-flags.js +74 -13
  159. package/src/hooks/session-end-marker.js +29 -0
  160. package/{ecc/scripts → src}/hooks/session-end.js +83 -40
  161. package/{ecc/scripts → src}/hooks/session-start.js +75 -9
  162. package/{ecc/scripts → src}/lib/hook-flags.js +8 -4
  163. package/{ecc/scripts → src}/lib/project-detect.js +2 -1
  164. package/{ecc/scripts → src}/lib/session-manager.d.ts +5 -1
  165. package/{ecc/scripts → src}/lib/session-manager.js +202 -92
  166. package/{ecc/scripts → src}/lib/utils.d.ts +23 -1
  167. package/{ecc/scripts → src}/lib/utils.js +91 -3
  168. package/{gsd/get-shit-done/bin/gsd-tools.cjs → src/pilot/bin/ccp-tools.cjs} +257 -86
  169. package/{gsd/get-shit-done → src/pilot}/bin/lib/commands.cjs +1 -1
  170. package/src/pilot/bin/lib/config.cjs +444 -0
  171. package/src/pilot/bin/lib/core.cjs +1190 -0
  172. package/src/pilot/bin/lib/init.cjs +1281 -0
  173. package/src/pilot/bin/lib/model-profiles.cjs +67 -0
  174. package/{gsd/get-shit-done → src/pilot}/bin/lib/phase.cjs +2 -2
  175. package/src/pilot/bin/lib/security.cjs +382 -0
  176. package/{gsd/get-shit-done → src/pilot}/bin/lib/state.cjs +1 -1
  177. package/src/pilot/bin/lib/uat.cjs +282 -0
  178. package/{gsd/get-shit-done → src/pilot}/bin/lib/verify.cjs +10 -10
  179. package/{gsd/get-shit-done → src/pilot}/references/continuation-format.md +16 -16
  180. package/{gsd/get-shit-done → src/pilot}/references/decimal-phase-calculation.md +5 -5
  181. package/{gsd/get-shit-done → src/pilot}/references/git-integration.md +5 -5
  182. package/{gsd/get-shit-done → src/pilot}/references/git-planning-commit.md +4 -4
  183. package/src/pilot/references/mcp-servers.json +153 -0
  184. package/{gsd/get-shit-done → src/pilot}/references/model-profile-resolution.md +2 -2
  185. package/{gsd/get-shit-done → src/pilot}/references/model-profiles.md +20 -20
  186. package/{gsd/get-shit-done → src/pilot}/references/phase-argument-parsing.md +4 -4
  187. package/{gsd/get-shit-done → src/pilot}/references/planning-config.md +15 -15
  188. package/{gsd/get-shit-done → src/pilot}/references/ui-brand.md +5 -5
  189. package/{gsd/get-shit-done → src/pilot}/references/verification-patterns.md +1 -1
  190. package/{gsd/get-shit-done → src/pilot}/templates/DEBUG.md +1 -1
  191. package/{gsd/get-shit-done → src/pilot}/templates/UAT.md +3 -3
  192. package/src/pilot/templates/UI-SPEC.md +100 -0
  193. package/{gsd/get-shit-done → src/pilot}/templates/VALIDATION.md +1 -1
  194. package/src/pilot/templates/claude-md.md +122 -0
  195. package/{gsd/get-shit-done → src/pilot}/templates/codebase/architecture.md +2 -2
  196. package/{gsd/get-shit-done → src/pilot}/templates/codebase/structure.md +13 -13
  197. package/{gsd/get-shit-done → src/pilot}/templates/context.md +4 -4
  198. package/src/pilot/templates/copilot-instructions.md +7 -0
  199. package/{gsd/get-shit-done → src/pilot}/templates/debug-subagent-prompt.md +4 -4
  200. package/src/pilot/templates/dev-preferences.md +21 -0
  201. package/{gsd/get-shit-done → src/pilot}/templates/discovery.md +2 -2
  202. package/src/pilot/templates/discussion-log.md +63 -0
  203. package/{gsd/get-shit-done → src/pilot}/templates/phase-prompt.md +12 -12
  204. package/{gsd/get-shit-done → src/pilot}/templates/planner-subagent-prompt.md +7 -7
  205. package/{gsd/get-shit-done → src/pilot}/templates/project.md +1 -1
  206. package/{gsd/get-shit-done → src/pilot}/templates/research.md +2 -2
  207. package/{gsd/get-shit-done → src/pilot}/templates/state.md +2 -2
  208. package/{gsd/get-shit-done → src/pilot}/templates/summary-complex.md +1 -1
  209. package/{gsd/get-shit-done → src/pilot}/workflows/add-phase.md +11 -11
  210. package/{gsd/get-shit-done → src/pilot}/workflows/add-tests.md +15 -15
  211. package/{gsd/get-shit-done → src/pilot}/workflows/add-todo.md +7 -7
  212. package/{gsd/get-shit-done → src/pilot}/workflows/audit-milestone.md +24 -16
  213. package/src/pilot/workflows/audit-uat.md +109 -0
  214. package/src/pilot/workflows/autonomous.md +891 -0
  215. package/{gsd/get-shit-done → src/pilot}/workflows/check-todos.md +10 -10
  216. package/{gsd/get-shit-done → src/pilot}/workflows/cleanup.md +3 -3
  217. package/{gsd/get-shit-done → src/pilot}/workflows/complete-milestone.md +19 -16
  218. package/{gsd/get-shit-done → src/pilot}/workflows/diagnose-issues.md +9 -4
  219. package/{gsd/get-shit-done → src/pilot}/workflows/discovery-phase.md +8 -8
  220. package/src/pilot/workflows/discuss-phase-assumptions.md +653 -0
  221. package/{gsd/get-shit-done → src/pilot}/workflows/discuss-phase.md +407 -49
  222. package/src/pilot/workflows/do.md +104 -0
  223. package/src/pilot/workflows/execute-phase.md +821 -0
  224. package/{gsd/get-shit-done → src/pilot}/workflows/execute-plan.md +79 -28
  225. package/src/pilot/workflows/fast.md +105 -0
  226. package/src/pilot/workflows/forensics.md +265 -0
  227. package/{gsd/get-shit-done → src/pilot}/workflows/health.md +34 -11
  228. package/src/pilot/workflows/help.md +775 -0
  229. package/{gsd/get-shit-done → src/pilot}/workflows/insert-phase.md +10 -10
  230. package/{gsd/get-shit-done → src/pilot}/workflows/list-phase-assumptions.md +4 -4
  231. package/src/pilot/workflows/manager.md +362 -0
  232. package/{gsd/get-shit-done → src/pilot}/workflows/map-codebase.md +27 -17
  233. package/src/pilot/workflows/milestone-summary.md +223 -0
  234. package/{gsd/get-shit-done → src/pilot}/workflows/new-milestone.md +135 -33
  235. package/{gsd/get-shit-done → src/pilot}/workflows/new-project.md +152 -79
  236. package/src/pilot/workflows/next.md +97 -0
  237. package/src/pilot/workflows/node-repair.md +92 -0
  238. package/src/pilot/workflows/note.md +156 -0
  239. package/src/pilot/workflows/pause-work.md +177 -0
  240. package/{gsd/get-shit-done → src/pilot}/workflows/plan-milestone-gaps.md +10 -11
  241. package/src/pilot/workflows/plan-phase.md +859 -0
  242. package/src/pilot/workflows/plant-seed.md +169 -0
  243. package/src/pilot/workflows/pr-branch.md +129 -0
  244. package/{gsd/get-shit-done → src/pilot}/workflows/progress.md +95 -34
  245. package/{gsd/get-shit-done → src/pilot}/workflows/quick.md +33 -21
  246. package/{gsd/get-shit-done → src/pilot}/workflows/remove-phase.md +14 -14
  247. package/{gsd/get-shit-done → src/pilot}/workflows/research-phase.md +18 -10
  248. package/{gsd/get-shit-done → src/pilot}/workflows/resume-project.md +37 -18
  249. package/src/pilot/workflows/session-report.md +146 -0
  250. package/{gsd/get-shit-done → src/pilot}/workflows/set-profile.md +7 -7
  251. package/{gsd/get-shit-done → src/pilot}/workflows/settings.md +75 -22
  252. package/src/pilot/workflows/ship.md +228 -0
  253. package/src/pilot/workflows/stats.md +60 -0
  254. package/{gsd/get-shit-done → src/pilot}/workflows/transition.md +57 -17
  255. package/src/pilot/workflows/ui-phase.md +302 -0
  256. package/src/pilot/workflows/ui-review.md +165 -0
  257. package/{gsd/get-shit-done → src/pilot}/workflows/update.md +88 -58
  258. package/{gsd/get-shit-done → src/pilot}/workflows/validate-phase.md +24 -17
  259. package/{gsd/get-shit-done → src/pilot}/workflows/verify-phase.md +26 -15
  260. package/{gsd/get-shit-done → src/pilot}/workflows/verify-work.md +89 -37
  261. package/{ecc → src}/rules/common/agents.md +1 -0
  262. package/{ecc → src}/rules/common/coding-style.md +21 -0
  263. package/src/skills/agentic-engineering/SKILL.md +63 -0
  264. package/src/skills/ai-first-engineering/SKILL.md +51 -0
  265. package/src/skills/ai-regression-testing/SKILL.md +385 -0
  266. package/src/skills/api-design/SKILL.md +523 -0
  267. package/src/skills/architecture-decision-records/SKILL.md +179 -0
  268. package/src/skills/backend-patterns/SKILL.md +598 -0
  269. package/src/skills/benchmark/SKILL.md +87 -0
  270. package/src/skills/blueprint/SKILL.md +90 -0
  271. package/src/skills/browser-qa/SKILL.md +81 -0
  272. package/src/skills/claude-api/SKILL.md +337 -0
  273. package/src/skills/codebase-onboarding/SKILL.md +233 -0
  274. package/src/skills/coding-standards/SKILL.md +530 -0
  275. package/src/skills/context-budget/SKILL.md +135 -0
  276. package/{ecc → src}/skills/continuous-learning-v2/SKILL.md +2 -2
  277. package/{ecc → src}/skills/continuous-learning-v2/agents/observer-loop.sh +1 -1
  278. package/src/skills/cpp-coding-standards/SKILL.md +723 -0
  279. package/src/skills/cpp-testing/SKILL.md +324 -0
  280. package/src/skills/database-migrations/SKILL.md +429 -0
  281. package/src/skills/deep-research/SKILL.md +155 -0
  282. package/src/skills/deployment-patterns/SKILL.md +427 -0
  283. package/src/skills/django-patterns/SKILL.md +734 -0
  284. package/src/skills/django-security/SKILL.md +593 -0
  285. package/src/skills/django-tdd/SKILL.md +729 -0
  286. package/src/skills/django-verification/SKILL.md +469 -0
  287. package/src/skills/docker-patterns/SKILL.md +364 -0
  288. package/src/skills/documentation-lookup/SKILL.md +90 -0
  289. package/src/skills/e2e-testing/SKILL.md +326 -0
  290. package/src/skills/exa-search/SKILL.md +103 -0
  291. package/src/skills/frontend-patterns/SKILL.md +642 -0
  292. package/src/skills/golang-patterns/SKILL.md +674 -0
  293. package/src/skills/golang-testing/SKILL.md +720 -0
  294. package/src/skills/java-coding-standards/SKILL.md +147 -0
  295. package/src/skills/jpa-patterns/SKILL.md +151 -0
  296. package/src/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  297. package/src/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  298. package/src/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  299. package/src/skills/kotlin-patterns/SKILL.md +711 -0
  300. package/src/skills/kotlin-testing/SKILL.md +824 -0
  301. package/src/skills/laravel-patterns/SKILL.md +415 -0
  302. package/src/skills/laravel-security/SKILL.md +285 -0
  303. package/src/skills/laravel-tdd/SKILL.md +283 -0
  304. package/src/skills/laravel-verification/SKILL.md +179 -0
  305. package/src/skills/mcp-server-patterns/SKILL.md +67 -0
  306. package/src/skills/perl-patterns/SKILL.md +504 -0
  307. package/src/skills/perl-testing/SKILL.md +475 -0
  308. package/src/skills/postgres-patterns/SKILL.md +147 -0
  309. package/src/skills/prompt-optimizer/SKILL.md +397 -0
  310. package/src/skills/python-patterns/SKILL.md +750 -0
  311. package/src/skills/python-testing/SKILL.md +816 -0
  312. package/src/skills/rust-patterns/SKILL.md +499 -0
  313. package/src/skills/rust-testing/SKILL.md +500 -0
  314. package/src/skills/safety-guard/SKILL.md +69 -0
  315. package/src/skills/search-first/SKILL.md +161 -0
  316. package/src/skills/security-review/SKILL.md +495 -0
  317. package/src/skills/security-review/cloud-infrastructure-security.md +361 -0
  318. package/src/skills/security-scan/SKILL.md +165 -0
  319. package/src/skills/springboot-patterns/SKILL.md +314 -0
  320. package/src/skills/springboot-security/SKILL.md +272 -0
  321. package/src/skills/springboot-tdd/SKILL.md +158 -0
  322. package/src/skills/springboot-verification/SKILL.md +231 -0
  323. package/src/skills/tdd-workflow/SKILL.md +410 -0
  324. package/ecc/scripts/hooks/session-end-marker.js +0 -15
  325. package/gsd/LICENSE +0 -21
  326. package/gsd/commands-gsd/discuss-phase.md +0 -90
  327. package/gsd/commands-gsd/execute-phase.md +0 -41
  328. package/gsd/commands-gsd/join-discord.md +0 -18
  329. package/gsd/commands-gsd/reapply-patches.md +0 -123
  330. package/gsd/commands-gsd/set-profile.md +0 -34
  331. package/gsd/get-shit-done/bin/lib/config.cjs +0 -169
  332. package/gsd/get-shit-done/bin/lib/core.cjs +0 -492
  333. package/gsd/get-shit-done/bin/lib/init.cjs +0 -710
  334. package/gsd/get-shit-done/workflows/execute-phase.md +0 -459
  335. package/gsd/get-shit-done/workflows/help.md +0 -489
  336. package/gsd/get-shit-done/workflows/pause-work.md +0 -122
  337. package/gsd/get-shit-done/workflows/plan-phase.md +0 -560
  338. package/gsd/hooks/gsd-check-update.js +0 -81
  339. package/kit/CLAUDE.md +0 -43
  340. package/kit/commands/kit/update.md +0 -46
  341. package/kit/mcp.json +0 -10
  342. package/kit/rules/code-style.md +0 -24
  343. /package/{ecc → src}/agents/architect.md +0 -0
  344. /package/{ecc → src}/agents/code-reviewer.md +0 -0
  345. /package/{ecc → src}/agents/doc-updater.md +0 -0
  346. /package/{ecc → src}/agents/e2e-runner.md +0 -0
  347. /package/{ecc → src}/agents/security-reviewer.md +0 -0
  348. /package/{ecc → src}/agents/tdd-guide.md +0 -0
  349. /package/{ecc/rules → src/available-rules}/golang/coding-style.md +0 -0
  350. /package/{ecc/rules → src/available-rules}/golang/hooks.md +0 -0
  351. /package/{ecc/rules → src/available-rules}/golang/patterns.md +0 -0
  352. /package/{ecc/rules → src/available-rules}/golang/security.md +0 -0
  353. /package/{ecc/rules → src/available-rules}/golang/testing.md +0 -0
  354. /package/{ecc/rules → src/available-rules}/kotlin/coding-style.md +0 -0
  355. /package/{ecc/rules → src/available-rules}/kotlin/patterns.md +0 -0
  356. /package/{ecc/rules → src/available-rules}/kotlin/security.md +0 -0
  357. /package/{ecc/rules → src/available-rules}/kotlin/testing.md +0 -0
  358. /package/{ecc/rules → src/available-rules}/perl/coding-style.md +0 -0
  359. /package/{ecc/rules → src/available-rules}/perl/hooks.md +0 -0
  360. /package/{ecc/rules → src/available-rules}/perl/patterns.md +0 -0
  361. /package/{ecc/rules → src/available-rules}/perl/security.md +0 -0
  362. /package/{ecc/rules → src/available-rules}/perl/testing.md +0 -0
  363. /package/{ecc/rules → src/available-rules}/php/coding-style.md +0 -0
  364. /package/{ecc/rules → src/available-rules}/php/hooks.md +0 -0
  365. /package/{ecc/rules → src/available-rules}/php/patterns.md +0 -0
  366. /package/{ecc/rules → src/available-rules}/php/security.md +0 -0
  367. /package/{ecc/rules → src/available-rules}/php/testing.md +0 -0
  368. /package/{ecc/rules → src/available-rules}/python/coding-style.md +0 -0
  369. /package/{ecc/rules → src/available-rules}/python/hooks.md +0 -0
  370. /package/{ecc/rules → src/available-rules}/python/patterns.md +0 -0
  371. /package/{ecc/rules → src/available-rules}/python/security.md +0 -0
  372. /package/{ecc/rules → src/available-rules}/python/testing.md +0 -0
  373. /package/{ecc/rules → src/available-rules}/swift/coding-style.md +0 -0
  374. /package/{ecc/rules → src/available-rules}/swift/hooks.md +0 -0
  375. /package/{ecc/rules → src/available-rules}/swift/patterns.md +0 -0
  376. /package/{ecc/rules → src/available-rules}/swift/security.md +0 -0
  377. /package/{ecc/rules → src/available-rules}/swift/testing.md +0 -0
  378. /package/{ecc/rules → src/available-rules}/typescript/coding-style.md +0 -0
  379. /package/{ecc/rules → src/available-rules}/typescript/hooks.md +0 -0
  380. /package/{ecc/rules → src/available-rules}/typescript/patterns.md +0 -0
  381. /package/{ecc/rules → src/available-rules}/typescript/security.md +0 -0
  382. /package/{ecc/rules → src/available-rules}/typescript/testing.md +0 -0
  383. /package/{ecc → src}/commands/checkpoint.md +0 -0
  384. /package/{ecc → src}/commands/learn.md +0 -0
  385. /package/{ecc → src}/commands/model-route.md +0 -0
  386. /package/{ecc → src}/commands/resume-session.md +0 -0
  387. /package/{ecc → src}/commands/save-session.md +0 -0
  388. /package/{kit → src}/commands/setup-refresh.md +0 -0
  389. /package/{kit → src}/commands/tool-guide.md +0 -0
  390. /package/{ecc → src}/commands/verify.md +0 -0
  391. /package/{ecc → src}/contexts/dev.md +0 -0
  392. /package/{ecc → src}/contexts/research.md +0 -0
  393. /package/{ecc → src}/contexts/review.md +0 -0
  394. /package/{ecc → src}/examples/CLAUDE.md +0 -0
  395. /package/{ecc → src}/examples/django-api-CLAUDE.md +0 -0
  396. /package/{ecc → src}/examples/go-microservice-CLAUDE.md +0 -0
  397. /package/{ecc → src}/examples/rust-api-CLAUDE.md +0 -0
  398. /package/{ecc → src}/examples/saas-nextjs-CLAUDE.md +0 -0
  399. /package/{ecc → src}/examples/user-CLAUDE.md +0 -0
  400. /package/{ecc/scripts → src}/hooks/check-hook-enabled.js +0 -0
  401. /package/{ecc/scripts → src}/hooks/evaluate-session.js +0 -0
  402. /package/{ecc/scripts → src}/hooks/pre-compact.js +0 -0
  403. /package/{ecc/scripts → src}/hooks/suggest-compact.js +0 -0
  404. /package/{ecc/scripts → src}/lib/package-manager.d.ts +0 -0
  405. /package/{ecc/scripts → src}/lib/package-manager.js +0 -0
  406. /package/{ecc/scripts → src}/lib/resolve-formatter.js +0 -0
  407. /package/{ecc/scripts → src}/lib/session-aliases.d.ts +0 -0
  408. /package/{ecc/scripts → src}/lib/session-aliases.js +0 -0
  409. /package/{ecc/scripts → src}/lib/shell-split.js +0 -0
  410. /package/{gsd/get-shit-done → src/pilot}/bin/lib/frontmatter.cjs +0 -0
  411. /package/{gsd/get-shit-done → src/pilot}/bin/lib/milestone.cjs +0 -0
  412. /package/{gsd/get-shit-done → src/pilot}/bin/lib/roadmap.cjs +0 -0
  413. /package/{gsd/get-shit-done → src/pilot}/bin/lib/template.cjs +0 -0
  414. /package/{gsd/get-shit-done → src/pilot}/references/checkpoints.md +0 -0
  415. /package/{gsd/get-shit-done → src/pilot}/references/questioning.md +0 -0
  416. /package/{gsd/get-shit-done → src/pilot}/references/tdd.md +0 -0
  417. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/concerns.md +0 -0
  418. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/conventions.md +0 -0
  419. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/integrations.md +0 -0
  420. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/stack.md +0 -0
  421. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/testing.md +0 -0
  422. /package/{gsd/get-shit-done → src/pilot}/templates/config.json +0 -0
  423. /package/{gsd/get-shit-done → src/pilot}/templates/continue-here.md +0 -0
  424. /package/{gsd/get-shit-done → src/pilot}/templates/milestone-archive.md +0 -0
  425. /package/{gsd/get-shit-done → src/pilot}/templates/milestone.md +0 -0
  426. /package/{gsd/get-shit-done → src/pilot}/templates/requirements.md +0 -0
  427. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/ARCHITECTURE.md +0 -0
  428. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/FEATURES.md +0 -0
  429. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/PITFALLS.md +0 -0
  430. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/STACK.md +0 -0
  431. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/SUMMARY.md +0 -0
  432. /package/{gsd/get-shit-done → src/pilot}/templates/retrospective.md +0 -0
  433. /package/{gsd/get-shit-done → src/pilot}/templates/roadmap.md +0 -0
  434. /package/{gsd/get-shit-done → src/pilot}/templates/summary-minimal.md +0 -0
  435. /package/{gsd/get-shit-done → src/pilot}/templates/summary-standard.md +0 -0
  436. /package/{gsd/get-shit-done → src/pilot}/templates/summary.md +0 -0
  437. /package/{gsd/get-shit-done → src/pilot}/templates/user-setup.md +0 -0
  438. /package/{gsd/get-shit-done → src/pilot}/templates/verification-report.md +0 -0
  439. /package/{ecc → src}/rules/common/development-workflow.md +0 -0
  440. /package/{ecc → src}/rules/common/git-workflow.md +0 -0
  441. /package/{ecc → src}/rules/common/hooks.md +0 -0
  442. /package/{ecc → src}/rules/common/patterns.md +0 -0
  443. /package/{ecc → src}/rules/common/performance.md +0 -0
  444. /package/{ecc → src}/rules/common/security.md +0 -0
  445. /package/{ecc → src}/rules/common/testing.md +0 -0
  446. /package/{ecc → src}/skills/continuous-learning-v2/agents/observer.md +0 -0
  447. /package/{ecc → src}/skills/continuous-learning-v2/agents/start-observer.sh +0 -0
  448. /package/{ecc → src}/skills/continuous-learning-v2/config.json +0 -0
  449. /package/{ecc → src}/skills/continuous-learning-v2/hooks/observe.sh +0 -0
  450. /package/{ecc → src}/skills/continuous-learning-v2/scripts/detect-project.sh +0 -0
  451. /package/{ecc → src}/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -0
  452. /package/{ecc → src}/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -0
  453. /package/{ecc → src}/skills/strategic-compact/SKILL.md +0 -0
  454. /package/{ecc → src}/skills/strategic-compact/suggest-compact.sh +0 -0
  455. /package/{ecc/skills/verification-loop-SKILL.md → src/skills/verification-loop/SKILL.md} +0 -0
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: kotlin-build-resolver
3
+ description: Kotlin/Gradle build, compilation, and dependency error resolution specialist. Fixes build errors, Kotlin compiler errors, and Gradle issues with minimal changes. Use when Kotlin builds fail.
4
+ tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
5
+ model: sonnet
6
+ ---
7
+
8
+ # Kotlin Build Error Resolver
9
+
10
+ You are an expert Kotlin/Gradle build error resolution specialist. Your mission is to fix Kotlin build errors, Gradle configuration issues, and dependency resolution failures with **minimal, surgical changes**.
11
+
12
+ ## Core Responsibilities
13
+
14
+ 1. Diagnose Kotlin compilation errors
15
+ 2. Fix Gradle build configuration issues
16
+ 3. Resolve dependency conflicts and version mismatches
17
+ 4. Handle Kotlin compiler errors and warnings
18
+ 5. Fix detekt and ktlint violations
19
+
20
+ ## Diagnostic Commands
21
+
22
+ Run these in order:
23
+
24
+ ```bash
25
+ ./gradlew build 2>&1
26
+ ./gradlew detekt 2>&1 || echo "detekt not configured"
27
+ ./gradlew ktlintCheck 2>&1 || echo "ktlint not configured"
28
+ ./gradlew dependencies --configuration runtimeClasspath 2>&1 | head -100
29
+ ```
30
+
31
+ ## Resolution Workflow
32
+
33
+ ```text
34
+ 1. ./gradlew build -> Parse error message
35
+ 2. Read affected file -> Understand context
36
+ 3. Apply minimal fix -> Only what's needed
37
+ 4. ./gradlew build -> Verify fix
38
+ 5. ./gradlew test -> Ensure nothing broke
39
+ ```
40
+
41
+ ## Common Fix Patterns
42
+
43
+ | Error | Cause | Fix |
44
+ |-------|-------|-----|
45
+ | `Unresolved reference: X` | Missing import, typo, missing dependency | Add import or dependency |
46
+ | `Type mismatch: Required X, Found Y` | Wrong type, missing conversion | Add conversion or fix type |
47
+ | `None of the following candidates is applicable` | Wrong overload, wrong argument types | Fix argument types or add explicit cast |
48
+ | `Smart cast impossible` | Mutable property or concurrent access | Use local `val` copy or `let` |
49
+ | `'when' expression must be exhaustive` | Missing branch in sealed class `when` | Add missing branches or `else` |
50
+ | `Suspend function can only be called from coroutine` | Missing `suspend` or coroutine scope | Add `suspend` modifier or launch coroutine |
51
+ | `Cannot access 'X': it is internal in 'Y'` | Visibility issue | Change visibility or use public API |
52
+ | `Conflicting declarations` | Duplicate definitions | Remove duplicate or rename |
53
+ | `Could not resolve: group:artifact:version` | Missing repository or wrong version | Add repository or fix version |
54
+ | `Execution failed for task ':detekt'` | Code style violations | Fix detekt findings |
55
+
56
+ ## Gradle Troubleshooting
57
+
58
+ ```bash
59
+ # Check dependency tree for conflicts
60
+ ./gradlew dependencies --configuration runtimeClasspath
61
+
62
+ # Force refresh dependencies
63
+ ./gradlew build --refresh-dependencies
64
+
65
+ # Clear project-local Gradle build cache
66
+ ./gradlew clean && rm -rf .gradle/build-cache/
67
+
68
+ # Check Gradle version compatibility
69
+ ./gradlew --version
70
+
71
+ # Run with debug output
72
+ ./gradlew build --debug 2>&1 | tail -50
73
+
74
+ # Check for dependency conflicts
75
+ ./gradlew dependencyInsight --dependency <name> --configuration runtimeClasspath
76
+ ```
77
+
78
+ ## Kotlin Compiler Flags
79
+
80
+ ```kotlin
81
+ // build.gradle.kts - Common compiler options
82
+ kotlin {
83
+ compilerOptions {
84
+ freeCompilerArgs.add("-Xjsr305=strict") // Strict Java null safety
85
+ allWarningsAsErrors = true
86
+ }
87
+ }
88
+ ```
89
+
90
+ ## Key Principles
91
+
92
+ - **Surgical fixes only** -- don't refactor, just fix the error
93
+ - **Never** suppress warnings without explicit approval
94
+ - **Never** change function signatures unless necessary
95
+ - **Always** run `./gradlew build` after each fix to verify
96
+ - Fix root cause over suppressing symptoms
97
+ - Prefer adding missing imports over wildcard imports
98
+
99
+ ## Stop Conditions
100
+
101
+ Stop and report if:
102
+ - Same error persists after 3 fix attempts
103
+ - Fix introduces more errors than it resolves
104
+ - Error requires architectural changes beyond scope
105
+ - Missing external dependencies that need user decision
106
+
107
+ ## Output Format
108
+
109
+ ```text
110
+ [FIXED] src/main/kotlin/com/example/service/UserService.kt:42
111
+ Error: Unresolved reference: UserRepository
112
+ Fix: Added import com.example.repository.UserRepository
113
+ Remaining errors: 2
114
+ ```
115
+
116
+ Final: `Build Status: SUCCESS/FAILED | Errors Fixed: N | Files Modified: list`
117
+
118
+ For detailed Kotlin patterns and code examples, see `skill: kotlin-patterns`.
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: kotlin-reviewer
3
+ description: Kotlin and Android/KMP code reviewer. Reviews Kotlin code for idiomatic patterns, coroutine safety, Compose best practices, clean architecture violations, and common Android pitfalls.
4
+ tools: ["Read", "Grep", "Glob", "Bash"]
5
+ model: sonnet
6
+ ---
7
+
8
+ You are a senior Kotlin and Android/KMP code reviewer ensuring idiomatic, safe, and maintainable code.
9
+
10
+ ## Your Role
11
+
12
+ - Review Kotlin code for idiomatic patterns and Android/KMP best practices
13
+ - Detect coroutine misuse, Flow anti-patterns, and lifecycle bugs
14
+ - Enforce clean architecture module boundaries
15
+ - Identify Compose performance issues and recomposition traps
16
+ - You DO NOT refactor or rewrite code — you report findings only
17
+
18
+ ## Workflow
19
+
20
+ ### Step 1: Gather Context
21
+
22
+ Run `git diff --staged` and `git diff` to see changes. If no diff, check `git log --oneline -5`. Identify Kotlin/KTS files that changed.
23
+
24
+ ### Step 2: Understand Project Structure
25
+
26
+ Check for:
27
+ - `build.gradle.kts` or `settings.gradle.kts` to understand module layout
28
+ - `CLAUDE.md` for project-specific conventions
29
+ - Whether this is Android-only, KMP, or Compose Multiplatform
30
+
31
+ ### Step 2b: Security Review
32
+
33
+ Apply the Kotlin/Android security guidance before continuing:
34
+ - exported Android components, deep links, and intent filters
35
+ - insecure crypto, WebView, and network configuration usage
36
+ - keystore, token, and credential handling
37
+ - platform-specific storage and permission risks
38
+
39
+ If you find a CRITICAL security issue, stop the review and hand off to `security-reviewer` before doing any further analysis.
40
+
41
+ ### Step 3: Read and Review
42
+
43
+ Read changed files fully. Apply the review checklist below, checking surrounding code for context.
44
+
45
+ ### Step 4: Report Findings
46
+
47
+ Use the output format below. Only report issues with >80% confidence.
48
+
49
+ ## Review Checklist
50
+
51
+ ### Architecture (CRITICAL)
52
+
53
+ - **Domain importing framework** — `domain` module must not import Android, Ktor, Room, or any framework
54
+ - **Data layer leaking to UI** — Entities or DTOs exposed to presentation layer (must map to domain models)
55
+ - **ViewModel business logic** — Complex logic belongs in UseCases, not ViewModels
56
+ - **Circular dependencies** — Module A depends on B and B depends on A
57
+
58
+ ### Coroutines & Flows (HIGH)
59
+
60
+ - **GlobalScope usage** — Must use structured scopes (`viewModelScope`, `coroutineScope`)
61
+ - **Catching CancellationException** — Must rethrow or not catch; swallowing breaks cancellation
62
+ - **Missing `withContext` for IO** — Database/network calls on `Dispatchers.Main`
63
+ - **StateFlow with mutable state** — Using mutable collections inside StateFlow (must copy)
64
+ - **Flow collection in `init {}`** — Should use `stateIn()` or launch in scope
65
+ - **Missing `WhileSubscribed`** — `stateIn(scope, SharingStarted.Eagerly)` when `WhileSubscribed` is appropriate
66
+
67
+ ```kotlin
68
+ // BAD — swallows cancellation
69
+ try { fetchData() } catch (e: Exception) { log(e) }
70
+
71
+ // GOOD — preserves cancellation
72
+ try { fetchData() } catch (e: CancellationException) { throw e } catch (e: Exception) { log(e) }
73
+ // or use runCatching and check
74
+ ```
75
+
76
+ ### Compose (HIGH)
77
+
78
+ - **Unstable parameters** — Composables receiving mutable types cause unnecessary recomposition
79
+ - **Side effects outside LaunchedEffect** — Network/DB calls must be in `LaunchedEffect` or ViewModel
80
+ - **NavController passed deep** — Pass lambdas instead of `NavController` references
81
+ - **Missing `key()` in LazyColumn** — Items without stable keys cause poor performance
82
+ - **`remember` with missing keys** — Computation not recalculated when dependencies change
83
+ - **Object allocation in parameters** — Creating objects inline causes recomposition
84
+
85
+ ```kotlin
86
+ // BAD — new lambda every recomposition
87
+ Button(onClick = { viewModel.doThing(item.id) })
88
+
89
+ // GOOD — stable reference
90
+ val onClick = remember(item.id) { { viewModel.doThing(item.id) } }
91
+ Button(onClick = onClick)
92
+ ```
93
+
94
+ ### Kotlin Idioms (MEDIUM)
95
+
96
+ - **`!!` usage** — Non-null assertion; prefer `?.`, `?:`, `requireNotNull`, or `checkNotNull`
97
+ - **`var` where `val` works** — Prefer immutability
98
+ - **Java-style patterns** — Static utility classes (use top-level functions), getters/setters (use properties)
99
+ - **String concatenation** — Use string templates `"Hello $name"` instead of `"Hello " + name`
100
+ - **`when` without exhaustive branches** — Sealed classes/interfaces should use exhaustive `when`
101
+ - **Mutable collections exposed** — Return `List` not `MutableList` from public APIs
102
+
103
+ ### Android Specific (MEDIUM)
104
+
105
+ - **Context leaks** — Storing `Activity` or `Fragment` references in singletons/ViewModels
106
+ - **Missing ProGuard rules** — Serialized classes without `@Keep` or ProGuard rules
107
+ - **Hardcoded strings** — User-facing strings not in `strings.xml` or Compose resources
108
+ - **Missing lifecycle handling** — Collecting Flows in Activities without `repeatOnLifecycle`
109
+
110
+ ### Security (CRITICAL)
111
+
112
+ - **Exported component exposure** — Activities, services, or receivers exported without proper guards
113
+ - **Insecure crypto/storage** — Homegrown crypto, plaintext secrets, or weak keystore usage
114
+ - **Unsafe WebView/network config** — JavaScript bridges, cleartext traffic, permissive trust settings
115
+ - **Sensitive logging** — Tokens, credentials, PII, or secrets emitted to logs
116
+
117
+ If any CRITICAL security issue is present, stop and escalate to `security-reviewer`.
118
+
119
+ ### Gradle & Build (LOW)
120
+
121
+ - **Version catalog not used** — Hardcoded versions instead of `libs.versions.toml`
122
+ - **Unnecessary dependencies** — Dependencies added but not used
123
+ - **Missing KMP source sets** — Declaring `androidMain` code that could be `commonMain`
124
+
125
+ ## Output Format
126
+
127
+ ```
128
+ [CRITICAL] Domain module imports Android framework
129
+ File: domain/src/main/kotlin/com/app/domain/UserUseCase.kt:3
130
+ Issue: `import android.content.Context` — domain must be pure Kotlin with no framework dependencies.
131
+ Fix: Move Context-dependent logic to data or platforms layer. Pass data via repository interface.
132
+
133
+ [HIGH] StateFlow holding mutable list
134
+ File: presentation/src/main/kotlin/com/app/ui/ListViewModel.kt:25
135
+ Issue: `_state.value.items.add(newItem)` mutates the list inside StateFlow — Compose won't detect the change.
136
+ Fix: Use `_state.update { it.copy(items = it.items + newItem) }`
137
+ ```
138
+
139
+ ## Summary Format
140
+
141
+ End every review with:
142
+
143
+ ```
144
+ ## Review Summary
145
+
146
+ | Severity | Count | Status |
147
+ |----------|-------|--------|
148
+ | CRITICAL | 0 | pass |
149
+ | HIGH | 1 | block |
150
+ | MEDIUM | 2 | info |
151
+ | LOW | 0 | note |
152
+
153
+ Verdict: BLOCK — HIGH issues must be fixed before merge.
154
+ ```
155
+
156
+ ## Approval Criteria
157
+
158
+ - **Approve**: No CRITICAL or HIGH issues
159
+ - **Block**: Any CRITICAL or HIGH issues — must fix before merge
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: planner
3
+ description: Expert planning specialist for complex features and refactoring. Use PROACTIVELY when users request feature implementation, architectural changes, or complex refactoring. Automatically activated for planning tasks.
4
+ tools: ["Read", "Grep", "Glob"]
5
+ model: opus
6
+ ---
7
+
8
+ You are an expert planning specialist focused on creating comprehensive, actionable implementation plans.
9
+
10
+ ## Your Role
11
+
12
+ - Analyze requirements and create detailed implementation plans
13
+ - Break down complex features into manageable steps
14
+ - Identify dependencies and potential risks
15
+ - Suggest optimal implementation order
16
+ - Consider edge cases and error scenarios
17
+
18
+ ## Planning Process
19
+
20
+ ### 1. Requirements Analysis
21
+ - Understand the feature request completely
22
+ - Ask clarifying questions if needed
23
+ - Identify success criteria
24
+ - List assumptions and constraints
25
+
26
+ ### 2. Architecture Review
27
+ - Analyze existing codebase structure
28
+ - Identify affected components
29
+ - Review similar implementations
30
+ - Consider reusable patterns
31
+
32
+ ### 3. Step Breakdown
33
+ Create detailed steps with:
34
+ - Clear, specific actions
35
+ - File paths and locations
36
+ - Dependencies between steps
37
+ - Estimated complexity
38
+ - Potential risks
39
+
40
+ ### 4. Implementation Order
41
+ - Prioritize by dependencies
42
+ - Group related changes
43
+ - Minimize context switching
44
+ - Enable incremental testing
45
+
46
+ ## Plan Format
47
+
48
+ ```markdown
49
+ # Implementation Plan: [Feature Name]
50
+
51
+ ## Overview
52
+ [2-3 sentence summary]
53
+
54
+ ## Requirements
55
+ - [Requirement 1]
56
+ - [Requirement 2]
57
+
58
+ ## Architecture Changes
59
+ - [Change 1: file path and description]
60
+ - [Change 2: file path and description]
61
+
62
+ ## Implementation Steps
63
+
64
+ ### Phase 1: [Phase Name]
65
+ 1. **[Step Name]** (File: path/to/file.ts)
66
+ - Action: Specific action to take
67
+ - Why: Reason for this step
68
+ - Dependencies: None / Requires step X
69
+ - Risk: Low/Medium/High
70
+
71
+ 2. **[Step Name]** (File: path/to/file.ts)
72
+ ...
73
+
74
+ ### Phase 2: [Phase Name]
75
+ ...
76
+
77
+ ## Testing Strategy
78
+ - Unit tests: [files to test]
79
+ - Integration tests: [flows to test]
80
+ - E2E tests: [user journeys to test]
81
+
82
+ ## Risks & Mitigations
83
+ - **Risk**: [Description]
84
+ - Mitigation: [How to address]
85
+
86
+ ## Success Criteria
87
+ - [ ] Criterion 1
88
+ - [ ] Criterion 2
89
+ ```
90
+
91
+ ## Best Practices
92
+
93
+ 1. **Be Specific**: Use exact file paths, function names, variable names
94
+ 2. **Consider Edge Cases**: Think about error scenarios, null values, empty states
95
+ 3. **Minimize Changes**: Prefer extending existing code over rewriting
96
+ 4. **Maintain Patterns**: Follow existing project conventions
97
+ 5. **Enable Testing**: Structure changes to be easily testable
98
+ 6. **Think Incrementally**: Each step should be verifiable
99
+ 7. **Document Decisions**: Explain why, not just what
100
+
101
+ ## Worked Example: Adding Stripe Subscriptions
102
+
103
+ Here is a complete plan showing the level of detail expected:
104
+
105
+ ```markdown
106
+ # Implementation Plan: Stripe Subscription Billing
107
+
108
+ ## Overview
109
+ Add subscription billing with free/pro/enterprise tiers. Users upgrade via
110
+ Stripe Checkout, and webhook events keep subscription status in sync.
111
+
112
+ ## Requirements
113
+ - Three tiers: Free (default), Pro ($29/mo), Enterprise ($99/mo)
114
+ - Stripe Checkout for payment flow
115
+ - Webhook handler for subscription lifecycle events
116
+ - Feature gating based on subscription tier
117
+
118
+ ## Architecture Changes
119
+ - New table: `subscriptions` (user_id, stripe_customer_id, stripe_subscription_id, status, tier)
120
+ - New API route: `app/api/checkout/route.ts` — creates Stripe Checkout session
121
+ - New API route: `app/api/webhooks/stripe/route.ts` — handles Stripe events
122
+ - New middleware: check subscription tier for gated features
123
+ - New component: `PricingTable` — displays tiers with upgrade buttons
124
+
125
+ ## Implementation Steps
126
+
127
+ ### Phase 1: Database & Backend (2 files)
128
+ 1. **Create subscription migration** (File: supabase/migrations/004_subscriptions.sql)
129
+ - Action: CREATE TABLE subscriptions with RLS policies
130
+ - Why: Store billing state server-side, never trust client
131
+ - Dependencies: None
132
+ - Risk: Low
133
+
134
+ 2. **Create Stripe webhook handler** (File: src/app/api/webhooks/stripe/route.ts)
135
+ - Action: Handle checkout.session.completed, customer.subscription.updated,
136
+ customer.subscription.deleted events
137
+ - Why: Keep subscription status in sync with Stripe
138
+ - Dependencies: Step 1 (needs subscriptions table)
139
+ - Risk: High — webhook signature verification is critical
140
+
141
+ ### Phase 2: Checkout Flow (2 files)
142
+ 3. **Create checkout API route** (File: src/app/api/checkout/route.ts)
143
+ - Action: Create Stripe Checkout session with price_id and success/cancel URLs
144
+ - Why: Server-side session creation prevents price tampering
145
+ - Dependencies: Step 1
146
+ - Risk: Medium — must validate user is authenticated
147
+
148
+ 4. **Build pricing page** (File: src/components/PricingTable.tsx)
149
+ - Action: Display three tiers with feature comparison and upgrade buttons
150
+ - Why: User-facing upgrade flow
151
+ - Dependencies: Step 3
152
+ - Risk: Low
153
+
154
+ ### Phase 3: Feature Gating (1 file)
155
+ 5. **Add tier-based middleware** (File: src/middleware.ts)
156
+ - Action: Check subscription tier on protected routes, redirect free users
157
+ - Why: Enforce tier limits server-side
158
+ - Dependencies: Steps 1-2 (needs subscription data)
159
+ - Risk: Medium — must handle edge cases (expired, past_due)
160
+
161
+ ## Testing Strategy
162
+ - Unit tests: Webhook event parsing, tier checking logic
163
+ - Integration tests: Checkout session creation, webhook processing
164
+ - E2E tests: Full upgrade flow (Stripe test mode)
165
+
166
+ ## Risks & Mitigations
167
+ - **Risk**: Webhook events arrive out of order
168
+ - Mitigation: Use event timestamps, idempotent updates
169
+ - **Risk**: User upgrades but webhook fails
170
+ - Mitigation: Poll Stripe as fallback, show "processing" state
171
+
172
+ ## Success Criteria
173
+ - [ ] User can upgrade from Free to Pro via Stripe Checkout
174
+ - [ ] Webhook correctly syncs subscription status
175
+ - [ ] Free users cannot access Pro features
176
+ - [ ] Downgrade/cancellation works correctly
177
+ - [ ] All tests pass with 80%+ coverage
178
+ ```
179
+
180
+ ## When Planning Refactors
181
+
182
+ 1. Identify code smells and technical debt
183
+ 2. List specific improvements needed
184
+ 3. Preserve existing functionality
185
+ 4. Create backwards-compatible changes when possible
186
+ 5. Plan for gradual migration if needed
187
+
188
+ ## Sizing and Phasing
189
+
190
+ When the feature is large, break it into independently deliverable phases:
191
+
192
+ - **Phase 1**: Minimum viable — smallest slice that provides value
193
+ - **Phase 2**: Core experience — complete happy path
194
+ - **Phase 3**: Edge cases — error handling, edge cases, polish
195
+ - **Phase 4**: Optimization — performance, monitoring, analytics
196
+
197
+ Each phase should be mergeable independently. Avoid plans that require all phases to complete before anything works.
198
+
199
+ ## Red Flags to Check
200
+
201
+ - Large functions (>50 lines)
202
+ - Deep nesting (>4 levels)
203
+ - Duplicated code
204
+ - Missing error handling
205
+ - Hardcoded values
206
+ - Missing tests
207
+ - Performance bottlenecks
208
+ - Plans with no testing strategy
209
+ - Steps without clear file paths
210
+ - Phases that cannot be delivered independently
211
+
212
+ **Remember**: A great plan is specific, actionable, and considers both the happy path and edge cases. The best plans enable confident, incremental implementation.
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: python-reviewer
3
+ description: Expert Python code reviewer specializing in PEP 8 compliance, Pythonic idioms, type hints, security, and performance. Use for all Python code changes. MUST BE USED for Python projects.
4
+ tools: ["Read", "Grep", "Glob", "Bash"]
5
+ model: sonnet
6
+ ---
7
+
8
+ You are a senior Python code reviewer ensuring high standards of Pythonic code and best practices.
9
+
10
+ When invoked:
11
+ 1. Run `git diff -- '*.py'` to see recent Python file changes
12
+ 2. Run static analysis tools if available (ruff, mypy, pylint, black --check)
13
+ 3. Focus on modified `.py` files
14
+ 4. Begin review immediately
15
+
16
+ ## Review Priorities
17
+
18
+ ### CRITICAL — Security
19
+ - **SQL Injection**: f-strings in queries — use parameterized queries
20
+ - **Command Injection**: unvalidated input in shell commands — use subprocess with list args
21
+ - **Path Traversal**: user-controlled paths — validate with normpath, reject `..`
22
+ - **Eval/exec abuse**, **unsafe deserialization**, **hardcoded secrets**
23
+ - **Weak crypto** (MD5/SHA1 for security), **YAML unsafe load**
24
+
25
+ ### CRITICAL — Error Handling
26
+ - **Bare except**: `except: pass` — catch specific exceptions
27
+ - **Swallowed exceptions**: silent failures — log and handle
28
+ - **Missing context managers**: manual file/resource management — use `with`
29
+
30
+ ### HIGH — Type Hints
31
+ - Public functions without type annotations
32
+ - Using `Any` when specific types are possible
33
+ - Missing `Optional` for nullable parameters
34
+
35
+ ### HIGH — Pythonic Patterns
36
+ - Use list comprehensions over C-style loops
37
+ - Use `isinstance()` not `type() ==`
38
+ - Use `Enum` not magic numbers
39
+ - Use `"".join()` not string concatenation in loops
40
+ - **Mutable default arguments**: `def f(x=[])` — use `def f(x=None)`
41
+
42
+ ### HIGH — Code Quality
43
+ - Functions > 50 lines, > 5 parameters (use dataclass)
44
+ - Deep nesting (> 4 levels)
45
+ - Duplicate code patterns
46
+ - Magic numbers without named constants
47
+
48
+ ### HIGH — Concurrency
49
+ - Shared state without locks — use `threading.Lock`
50
+ - Mixing sync/async incorrectly
51
+ - N+1 queries in loops — batch query
52
+
53
+ ### MEDIUM — Best Practices
54
+ - PEP 8: import order, naming, spacing
55
+ - Missing docstrings on public functions
56
+ - `print()` instead of `logging`
57
+ - `from module import *` — namespace pollution
58
+ - `value == None` — use `value is None`
59
+ - Shadowing builtins (`list`, `dict`, `str`)
60
+
61
+ ## Diagnostic Commands
62
+
63
+ ```bash
64
+ mypy . # Type checking
65
+ ruff check . # Fast linting
66
+ black --check . # Format check
67
+ bandit -r . # Security scan
68
+ pytest --cov=app --cov-report=term-missing # Test coverage
69
+ ```
70
+
71
+ ## Review Output Format
72
+
73
+ ```text
74
+ [SEVERITY] Issue title
75
+ File: path/to/file.py:42
76
+ Issue: Description
77
+ Fix: What to change
78
+ ```
79
+
80
+ ## Approval Criteria
81
+
82
+ - **Approve**: No CRITICAL or HIGH issues
83
+ - **Warning**: MEDIUM issues only (can merge with caution)
84
+ - **Block**: CRITICAL or HIGH issues found
85
+
86
+ ## Framework Checks
87
+
88
+ - **Django**: `select_related`/`prefetch_related` for N+1, `atomic()` for multi-step, migrations
89
+ - **FastAPI**: CORS config, Pydantic validation, response models, no blocking in async
90
+ - **Flask**: Proper error handlers, CSRF protection
91
+
92
+ ## Reference
93
+
94
+ For detailed Python patterns, security examples, and code samples, see skill: `python-patterns`.
95
+
96
+ ---
97
+
98
+ Review with the mindset: "Would this code pass review at a top Python shop or open-source project?"