@jakkrichm/create-nexus-devflow 2.0.0 → 2.0.2

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 (398) hide show
  1. package/README.md +96 -50
  2. package/package.json +1 -1
  3. package/template/.agents/skills/20-spec/SKILL.md +136 -136
  4. package/template/.agents/skills/30-plan/SKILL.md +206 -206
  5. package/template/.agents/skills/40-implement/SKILL.md +152 -152
  6. package/template/.agents/skills/50-verify/SKILL.md +174 -174
  7. package/template/.agents/skills/60-report/SKILL.md +168 -168
  8. package/template/.agents/skills/70-release/SKILL.md +141 -141
  9. package/template/.agents/skills/9arm-skills/README.md +51 -51
  10. package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  11. package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -79
  12. package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  13. package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  14. package/template/.agents/skills/agent/SKILL.md +164 -164
  15. package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -294
  16. package/template/.agents/skills/app-builder/SKILL.md +75 -75
  17. package/template/.agents/skills/app-builder/agent-coordination.md +71 -71
  18. package/template/.agents/skills/app-builder/feature-building.md +53 -53
  19. package/template/.agents/skills/app-builder/project-detection.md +34 -34
  20. package/template/.agents/skills/app-builder/scaffolding.md +118 -118
  21. package/template/.agents/skills/app-builder/tech-stack.md +40 -40
  22. package/template/.agents/skills/app-builder/templates/SKILL.md +39 -39
  23. package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  24. package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  25. package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  26. package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  27. package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  28. package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  29. package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  30. package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  31. package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  32. package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  33. package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  34. package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  35. package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  36. package/template/.agents/skills/architecture/SKILL.md +55 -55
  37. package/template/.agents/skills/architecture/context-discovery.md +43 -43
  38. package/template/.agents/skills/architecture/examples.md +94 -94
  39. package/template/.agents/skills/architecture/pattern-selection.md +68 -68
  40. package/template/.agents/skills/architecture/patterns-reference.md +50 -50
  41. package/template/.agents/skills/architecture/trade-off-analysis.md +77 -77
  42. package/template/.agents/skills/bash-linux/SKILL.md +199 -199
  43. package/template/.agents/skills/behavioral-modes/SKILL.md +242 -242
  44. package/template/.agents/skills/brainstorm/SKILL.md +157 -157
  45. package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -302
  46. package/template/.agents/skills/changelog/SKILL.md +108 -108
  47. package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -390
  48. package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -392
  49. package/template/.agents/skills/code-simplification/SKILL.md +331 -331
  50. package/template/.agents/skills/commit/SKILL.md +62 -62
  51. package/template/.agents/skills/competitor-analysis/SKILL.md +66 -66
  52. package/template/.agents/skills/context-engineering/SKILL.md +290 -290
  53. package/template/.agents/skills/database-design/SKILL.md +52 -52
  54. package/template/.agents/skills/database-design/database-selection.md +43 -43
  55. package/template/.agents/skills/database-design/indexing.md +39 -39
  56. package/template/.agents/skills/database-design/migrations.md +48 -48
  57. package/template/.agents/skills/database-design/optimization.md +36 -36
  58. package/template/.agents/skills/database-design/orm-selection.md +30 -30
  59. package/template/.agents/skills/database-design/schema-design.md +56 -56
  60. package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -172
  61. package/template/.agents/skills/debug/SKILL.md +116 -116
  62. package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -298
  63. package/template/.agents/skills/deploy/SKILL.md +90 -90
  64. package/template/.agents/skills/deployment-procedures/SKILL.md +241 -241
  65. package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -206
  66. package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -278
  67. package/template/.agents/skills/followup/SKILL.md +78 -78
  68. package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -326
  69. package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  70. package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -300
  71. package/template/.agents/skills/goal/SKILL.md +132 -132
  72. package/template/.agents/skills/help/SKILL.md +242 -242
  73. package/template/.agents/skills/human-review-decisions/SKILL.md +74 -74
  74. package/template/.agents/skills/i18n-localization/SKILL.md +154 -154
  75. package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  76. package/template/.agents/skills/idea-refine/SKILL.md +178 -178
  77. package/template/.agents/skills/idea-refine/examples.md +238 -238
  78. package/template/.agents/skills/idea-refine/frameworks.md +99 -99
  79. package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -113
  80. package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -15
  81. package/template/.agents/skills/incremental-implementation/SKILL.md +248 -248
  82. package/template/.agents/skills/insight/SKILL.md +130 -130
  83. package/template/.agents/skills/insight-capture/SKILL.md +84 -84
  84. package/template/.agents/skills/intelligent-routing/SKILL.md +171 -171
  85. package/template/.agents/skills/issue-triage/SKILL.md +106 -106
  86. package/template/.agents/skills/lint-and-validate/SKILL.md +45 -45
  87. package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  88. package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  89. package/template/.agents/skills/mcp-builder/SKILL.md +176 -176
  90. package/template/.agents/skills/md2html/SKILL.md +154 -154
  91. package/template/.agents/skills/md2html/components.md +505 -505
  92. package/template/.agents/skills/md2html/template.html +1152 -1152
  93. package/template/.agents/skills/merge/SKILL.md +75 -75
  94. package/template/.agents/skills/mobile-design/SKILL.md +394 -394
  95. package/template/.agents/skills/mobile-design/decision-trees.md +516 -516
  96. package/template/.agents/skills/mobile-design/mobile-backend.md +491 -491
  97. package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -420
  98. package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -122
  99. package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -357
  100. package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -458
  101. package/template/.agents/skills/mobile-design/mobile-performance.md +767 -767
  102. package/template/.agents/skills/mobile-design/mobile-testing.md +356 -356
  103. package/template/.agents/skills/mobile-design/mobile-typography.md +433 -433
  104. package/template/.agents/skills/mobile-design/platform-android.md +666 -666
  105. package/template/.agents/skills/mobile-design/platform-ios.md +561 -561
  106. package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -670
  107. package/template/.agents/skills/mobile-design/touch-psychology.md +537 -537
  108. package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  109. package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  110. package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  111. package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  112. package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  113. package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  114. package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  115. package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  116. package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -286
  117. package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  118. package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  119. package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -333
  120. package/template/.agents/skills/package-json-generator/SKILL.md +60 -60
  121. package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -120
  122. package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -19
  123. package/template/.agents/skills/parallel-agents/SKILL.md +144 -144
  124. package/template/.agents/skills/performance-optimization/SKILL.md +299 -299
  125. package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -113
  126. package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -239
  127. package/template/.agents/skills/powershell-windows/SKILL.md +167 -167
  128. package/template/.agents/skills/pr/SKILL.md +92 -92
  129. package/template/.agents/skills/pr-review/SKILL.md +142 -142
  130. package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -89
  131. package/template/.agents/skills/prd/SKILL.md +112 -112
  132. package/template/.agents/skills/preview/SKILL.md +116 -116
  133. package/template/.agents/skills/preview-local-check/SKILL.md +59 -59
  134. package/template/.agents/skills/python-patterns/SKILL.md +441 -441
  135. package/template/.agents/skills/release-git-operations/SKILL.md +97 -97
  136. package/template/.agents/skills/research/SKILL.md +127 -127
  137. package/template/.agents/skills/review/SKILL.md +55 -55
  138. package/template/.agents/skills/review-followup-routing/SKILL.md +98 -98
  139. package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -97
  140. package/template/.agents/skills/security-and-hardening/SKILL.md +349 -349
  141. package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -134
  142. package/template/.agents/skills/security-review/SKILL.md +164 -164
  143. package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -129
  144. package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  145. package/template/.agents/skills/server-management/SKILL.md +161 -161
  146. package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -311
  147. package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -73
  148. package/template/.agents/skills/simplify/SKILL.md +74 -74
  149. package/template/.agents/skills/skill-development/SKILL.md +86 -86
  150. package/template/.agents/skills/spec-driven-development/SKILL.md +207 -207
  151. package/template/.agents/skills/spec-orchestration/SKILL.md +91 -91
  152. package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -107
  153. package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -269
  154. package/template/.agents/skills/test/SKILL.md +77 -77
  155. package/template/.agents/skills/test-driven-development/SKILL.md +422 -422
  156. package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -236
  157. package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -56
  158. package/template/.agents/skills/type-design/SKILL.md +84 -84
  159. package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -75
  160. package/template/.agents/skills/using-agent-skills/SKILL.md +171 -171
  161. package/template/.agents/skills/verification-orchestration/SKILL.md +68 -68
  162. package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -276
  163. package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -121
  164. package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  165. package/template/.agents/skills/wiki/SKILL.md +148 -148
  166. package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -87
  167. package/template/.claude/skills/20-spec/SKILL.md +136 -136
  168. package/template/.claude/skills/30-plan/SKILL.md +206 -206
  169. package/template/.claude/skills/40-implement/SKILL.md +152 -152
  170. package/template/.claude/skills/50-verify/SKILL.md +174 -174
  171. package/template/.claude/skills/60-report/SKILL.md +168 -168
  172. package/template/.claude/skills/70-release/SKILL.md +141 -141
  173. package/template/.claude/skills/9arm-skills/README.md +51 -51
  174. package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
  175. package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -79
  176. package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -71
  177. package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -72
  178. package/template/.claude/skills/agent/SKILL.md +164 -164
  179. package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -294
  180. package/template/.claude/skills/app-builder/SKILL.md +75 -75
  181. package/template/.claude/skills/app-builder/agent-coordination.md +71 -71
  182. package/template/.claude/skills/app-builder/feature-building.md +53 -53
  183. package/template/.claude/skills/app-builder/project-detection.md +34 -34
  184. package/template/.claude/skills/app-builder/scaffolding.md +118 -118
  185. package/template/.claude/skills/app-builder/tech-stack.md +40 -40
  186. package/template/.claude/skills/app-builder/templates/SKILL.md +39 -39
  187. package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  188. package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  189. package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  190. package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  191. package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  192. package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  193. package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  194. package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  195. package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  196. package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  197. package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  198. package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  199. package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  200. package/template/.claude/skills/architecture/SKILL.md +55 -55
  201. package/template/.claude/skills/architecture/context-discovery.md +43 -43
  202. package/template/.claude/skills/architecture/examples.md +94 -94
  203. package/template/.claude/skills/architecture/pattern-selection.md +68 -68
  204. package/template/.claude/skills/architecture/patterns-reference.md +50 -50
  205. package/template/.claude/skills/architecture/trade-off-analysis.md +77 -77
  206. package/template/.claude/skills/bash-linux/SKILL.md +199 -199
  207. package/template/.claude/skills/behavioral-modes/SKILL.md +242 -242
  208. package/template/.claude/skills/brainstorm/SKILL.md +157 -157
  209. package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -302
  210. package/template/.claude/skills/changelog/SKILL.md +108 -108
  211. package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -390
  212. package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -392
  213. package/template/.claude/skills/code-simplification/SKILL.md +331 -331
  214. package/template/.claude/skills/commit/SKILL.md +62 -62
  215. package/template/.claude/skills/competitor-analysis/SKILL.md +66 -66
  216. package/template/.claude/skills/context-engineering/SKILL.md +290 -290
  217. package/template/.claude/skills/database-design/SKILL.md +52 -52
  218. package/template/.claude/skills/database-design/database-selection.md +43 -43
  219. package/template/.claude/skills/database-design/indexing.md +39 -39
  220. package/template/.claude/skills/database-design/migrations.md +48 -48
  221. package/template/.claude/skills/database-design/optimization.md +36 -36
  222. package/template/.claude/skills/database-design/orm-selection.md +30 -30
  223. package/template/.claude/skills/database-design/schema-design.md +56 -56
  224. package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -172
  225. package/template/.claude/skills/debug/SKILL.md +116 -116
  226. package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -298
  227. package/template/.claude/skills/deploy/SKILL.md +90 -90
  228. package/template/.claude/skills/deployment-procedures/SKILL.md +241 -241
  229. package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -206
  230. package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -278
  231. package/template/.claude/skills/followup/SKILL.md +78 -78
  232. package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -326
  233. package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
  234. package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -300
  235. package/template/.claude/skills/goal/SKILL.md +132 -132
  236. package/template/.claude/skills/help/SKILL.md +242 -242
  237. package/template/.claude/skills/human-review-decisions/SKILL.md +74 -74
  238. package/template/.claude/skills/i18n-localization/SKILL.md +154 -154
  239. package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  240. package/template/.claude/skills/idea-refine/SKILL.md +178 -178
  241. package/template/.claude/skills/idea-refine/examples.md +238 -238
  242. package/template/.claude/skills/idea-refine/frameworks.md +99 -99
  243. package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -113
  244. package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -15
  245. package/template/.claude/skills/incremental-implementation/SKILL.md +248 -248
  246. package/template/.claude/skills/insight/SKILL.md +130 -130
  247. package/template/.claude/skills/insight-capture/SKILL.md +84 -84
  248. package/template/.claude/skills/intelligent-routing/SKILL.md +171 -171
  249. package/template/.claude/skills/issue-triage/SKILL.md +106 -106
  250. package/template/.claude/skills/lint-and-validate/SKILL.md +45 -45
  251. package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  252. package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  253. package/template/.claude/skills/mcp-builder/SKILL.md +176 -176
  254. package/template/.claude/skills/md2html/SKILL.md +154 -154
  255. package/template/.claude/skills/md2html/components.md +505 -505
  256. package/template/.claude/skills/md2html/template.html +1152 -1152
  257. package/template/.claude/skills/merge/SKILL.md +75 -75
  258. package/template/.claude/skills/mobile-design/SKILL.md +394 -394
  259. package/template/.claude/skills/mobile-design/decision-trees.md +516 -516
  260. package/template/.claude/skills/mobile-design/mobile-backend.md +491 -491
  261. package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -420
  262. package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -122
  263. package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -357
  264. package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -458
  265. package/template/.claude/skills/mobile-design/mobile-performance.md +767 -767
  266. package/template/.claude/skills/mobile-design/mobile-testing.md +356 -356
  267. package/template/.claude/skills/mobile-design/mobile-typography.md +433 -433
  268. package/template/.claude/skills/mobile-design/platform-android.md +666 -666
  269. package/template/.claude/skills/mobile-design/platform-ios.md +561 -561
  270. package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -670
  271. package/template/.claude/skills/mobile-design/touch-psychology.md +537 -537
  272. package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
  273. package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  274. package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  275. package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  276. package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  277. package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  278. package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  279. package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  280. package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -286
  281. package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  282. package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  283. package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -333
  284. package/template/.claude/skills/package-json-generator/SKILL.md +60 -60
  285. package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -120
  286. package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -19
  287. package/template/.claude/skills/parallel-agents/SKILL.md +144 -144
  288. package/template/.claude/skills/performance-optimization/SKILL.md +299 -299
  289. package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -113
  290. package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -239
  291. package/template/.claude/skills/powershell-windows/SKILL.md +167 -167
  292. package/template/.claude/skills/pr/SKILL.md +92 -92
  293. package/template/.claude/skills/pr-review/SKILL.md +142 -142
  294. package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -89
  295. package/template/.claude/skills/prd/SKILL.md +112 -112
  296. package/template/.claude/skills/preview/SKILL.md +116 -116
  297. package/template/.claude/skills/preview-local-check/SKILL.md +59 -59
  298. package/template/.claude/skills/python-patterns/SKILL.md +441 -441
  299. package/template/.claude/skills/release-git-operations/SKILL.md +97 -97
  300. package/template/.claude/skills/research/SKILL.md +127 -127
  301. package/template/.claude/skills/review/SKILL.md +55 -55
  302. package/template/.claude/skills/review-followup-routing/SKILL.md +98 -98
  303. package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -97
  304. package/template/.claude/skills/security-and-hardening/SKILL.md +349 -349
  305. package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -134
  306. package/template/.claude/skills/security-review/SKILL.md +164 -164
  307. package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -129
  308. package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  309. package/template/.claude/skills/server-management/SKILL.md +161 -161
  310. package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -311
  311. package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -73
  312. package/template/.claude/skills/simplify/SKILL.md +74 -74
  313. package/template/.claude/skills/skill-development/SKILL.md +86 -86
  314. package/template/.claude/skills/spec-driven-development/SKILL.md +207 -207
  315. package/template/.claude/skills/spec-orchestration/SKILL.md +91 -91
  316. package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -107
  317. package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -269
  318. package/template/.claude/skills/test/SKILL.md +77 -77
  319. package/template/.claude/skills/test-driven-development/SKILL.md +422 -422
  320. package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -236
  321. package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -56
  322. package/template/.claude/skills/type-design/SKILL.md +84 -84
  323. package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -75
  324. package/template/.claude/skills/using-agent-skills/SKILL.md +171 -171
  325. package/template/.claude/skills/verification-orchestration/SKILL.md +68 -68
  326. package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -276
  327. package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -121
  328. package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  329. package/template/.claude/skills/wiki/SKILL.md +148 -148
  330. package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -87
  331. package/template/.nexus/nexus-devflow.json +1 -1
  332. package/template/AGENTS.md +3 -3
  333. package/template/LICENSE +21 -21
  334. package/template/devflow/context/project_index.json +108 -0
  335. package/template/.agents/skills/check-for-updates/SKILL.md +0 -117
  336. package/template/.agents/skills/devflow-concept-intake/SKILL.md +0 -150
  337. package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +0 -4
  338. package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
  339. package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
  340. package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
  341. package/template/.agents/skills/devflow-wiki/SKILL.md +0 -75
  342. package/template/.agents/skills/english-to-thai-translator/SKILL.md +0 -125
  343. package/template/.agents/skills/obsidian-bases/SKILL.md +0 -506
  344. package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
  345. package/template/.agents/skills/obsidian-cli/SKILL.md +0 -115
  346. package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
  347. package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
  348. package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
  349. package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
  350. package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
  351. package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
  352. package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
  353. package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
  354. package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
  355. package/template/.agents/skills/obsidian-markdown/SKILL.md +0 -205
  356. package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
  357. package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +0 -63
  358. package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
  359. package/template/.agents/skills/prompt-addons/SKILL.md +0 -99
  360. package/template/.agents/skills/prp-dev-fastapi/SKILL.md +0 -114
  361. package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +0 -36
  362. package/template/.agents/skills/prp-dev-odoo/SKILL.md +0 -71
  363. package/template/.agents/skills/prp-dev-php/SKILL.md +0 -63
  364. package/template/.agents/skills/prp-sa-ba/SKILL.md +0 -52
  365. package/template/.agents/skills/red-team-tactics/SKILL.md +0 -199
  366. package/template/.agents/skills/writing-great-skills/SKILL.md +0 -65
  367. package/template/.claude/skills/check-for-updates/SKILL.md +0 -117
  368. package/template/.claude/skills/devflow-concept-intake/SKILL.md +0 -150
  369. package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +0 -4
  370. package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +0 -60
  371. package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +0 -47
  372. package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +0 -51
  373. package/template/.claude/skills/devflow-wiki/SKILL.md +0 -75
  374. package/template/.claude/skills/english-to-thai-translator/SKILL.md +0 -125
  375. package/template/.claude/skills/obsidian-bases/SKILL.md +0 -506
  376. package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +0 -173
  377. package/template/.claude/skills/obsidian-cli/SKILL.md +0 -115
  378. package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +0 -73
  379. package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +0 -51
  380. package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +0 -48
  381. package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +0 -79
  382. package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +0 -44
  383. package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +0 -51
  384. package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +0 -77
  385. package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +0 -67
  386. package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +0 -64
  387. package/template/.claude/skills/obsidian-markdown/SKILL.md +0 -205
  388. package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +0 -58
  389. package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +0 -63
  390. package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +0 -61
  391. package/template/.claude/skills/prompt-addons/SKILL.md +0 -99
  392. package/template/.claude/skills/prp-dev-fastapi/SKILL.md +0 -114
  393. package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +0 -36
  394. package/template/.claude/skills/prp-dev-odoo/SKILL.md +0 -71
  395. package/template/.claude/skills/prp-dev-php/SKILL.md +0 -63
  396. package/template/.claude/skills/prp-sa-ba/SKILL.md +0 -52
  397. package/template/.claude/skills/red-team-tactics/SKILL.md +0 -199
  398. package/template/.claude/skills/writing-great-skills/SKILL.md +0 -65
@@ -1,206 +1,206 @@
1
- ---
2
- name: deprecation-and-migration
3
- description: Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
4
- ---
5
-
6
- # Deprecation and Migration
7
-
8
- ## Overview
9
-
10
- Code is a liability, not an asset. Every line of code has ongoing maintenance cost — bugs to fix, dependencies to update, security patches to apply, and new engineers to onboard. Deprecation is the discipline of removing code that no longer earns its keep, and migration is the process of moving users safely from the old to the new.
11
-
12
- Most engineering organizations are good at building things. Few are good at removing them. This skill addresses that gap.
13
-
14
- ## When to Use
15
-
16
- - Replacing an old system, API, or library with a new one
17
- - Sunsetting a feature that's no longer needed
18
- - Consolidating duplicate implementations
19
- - Removing dead code that nobody owns but everybody depends on
20
- - Planning the lifecycle of a new system (deprecation planning starts at design time)
21
- - Deciding whether to maintain a legacy system or invest in migration
22
-
23
- ## Core Principles
24
-
25
- ### Code Is a Liability
26
-
27
- Every line of code has ongoing cost: it needs tests, documentation, security patches, dependency updates, and mental overhead for anyone working nearby. The value of code is the functionality it provides, not the code itself. When the same functionality can be provided with less code, less complexity, or better abstractions — the old code should go.
28
-
29
- ### Hyrum's Law Makes Removal Hard
30
-
31
- With enough users, every observable behavior becomes depended on — including bugs, timing quirks, and undocumented side effects. This is why deprecation requires active migration, not just announcement. Users can't "just switch" when they depend on behaviors the replacement doesn't replicate.
32
-
33
- ### Deprecation Planning Starts at Design Time
34
-
35
- When building something new, ask: "How would we remove this in 3 years?" Systems designed with clean interfaces, feature flags, and minimal surface area are easier to deprecate than systems that leak implementation details everywhere.
36
-
37
- ## The Deprecation Decision
38
-
39
- Before deprecating anything, answer these questions:
40
-
41
- ```
42
- 1. Does this system still provide unique value?
43
- → If yes, maintain it. If no, proceed.
44
-
45
- 2. How many users/consumers depend on it?
46
- → Quantify the migration scope.
47
-
48
- 3. Does a replacement exist?
49
- → If no, build the replacement first. Don't deprecate without an alternative.
50
-
51
- 4. What's the migration cost for each consumer?
52
- → If trivially automated, do it. If manual and high-effort, weigh against maintenance cost.
53
-
54
- 5. What's the ongoing maintenance cost of NOT deprecating?
55
- → Security risk, engineer time, opportunity cost of complexity.
56
- ```
57
-
58
- ## Compulsory vs Advisory Deprecation
59
-
60
- | Type | When to Use | Mechanism |
61
- |------|-------------|-----------|
62
- | **Advisory** | Migration is optional, old system is stable | Warnings, documentation, nudges. Users migrate on their own timeline. |
63
- | **Compulsory** | Old system has security issues, blocks progress, or maintenance cost is unsustainable | Hard deadline. Old system will be removed by date X. Provide migration tooling. |
64
-
65
- **Default to advisory.** Use compulsory only when the maintenance cost or risk justifies forcing migration. Compulsory deprecation requires providing migration tooling, documentation, and support — you can't just announce a deadline.
66
-
67
- ## The Migration Process
68
-
69
- ### Step 1: Build the Replacement
70
-
71
- Don't deprecate without a working alternative. The replacement must:
72
-
73
- - Cover all critical use cases of the old system
74
- - Have documentation and migration guides
75
- - Be proven in production (not just "theoretically better")
76
-
77
- ### Step 2: Announce and Document
78
-
79
- ```markdown
80
- ## Deprecation Notice: OldService
81
-
82
- **Status:** Deprecated as of 2025-03-01
83
- **Replacement:** NewService (see migration guide below)
84
- **Removal date:** Advisory — no hard deadline yet
85
- **Reason:** OldService requires manual scaling and lacks observability.
86
- NewService handles both automatically.
87
-
88
- ### Migration Guide
89
- 1. Replace `import { client } from 'old-service'` with `import { client } from 'new-service'`
90
- 2. Update configuration (see examples below)
91
- 3. Run the migration verification script: `npx migrate-check`
92
- ```
93
-
94
- ### Step 3: Migrate Incrementally
95
-
96
- Migrate consumers one at a time, not all at once. For each consumer:
97
-
98
- ```
99
- 1. Identify all touchpoints with the deprecated system
100
- 2. Update to use the replacement
101
- 3. Verify behavior matches (tests, integration checks)
102
- 4. Remove references to the old system
103
- 5. Confirm no regressions
104
- ```
105
-
106
- **The Churn Rule:** If you own the infrastructure being deprecated, you are responsible for migrating your users — or providing backward-compatible updates that require no migration. Don't announce deprecation and leave users to figure it out.
107
-
108
- ### Step 4: Remove the Old System
109
-
110
- Only after all consumers have migrated:
111
-
112
- ```
113
- 1. Verify zero active usage (metrics, logs, dependency analysis)
114
- 2. Remove the code
115
- 3. Remove associated tests, documentation, and configuration
116
- 4. Remove the deprecation notices
117
- 5. Celebrate — removing code is an achievement
118
- ```
119
-
120
- ## Migration Patterns
121
-
122
- ### Strangler Pattern
123
-
124
- Run old and new systems in parallel. Route traffic incrementally from old to new. When the old system handles 0% of traffic, remove it.
125
-
126
- ```
127
- Phase 1: New system handles 0%, old handles 100%
128
- Phase 2: New system handles 10% (canary)
129
- Phase 3: New system handles 50%
130
- Phase 4: New system handles 100%, old system idle
131
- Phase 5: Remove old system
132
- ```
133
-
134
- ### Adapter Pattern
135
-
136
- Create an adapter that translates calls from the old interface to the new implementation. Consumers keep using the old interface while you migrate the backend.
137
-
138
- ```typescript
139
- // Adapter: old interface, new implementation
140
- class LegacyTaskService implements OldTaskAPI {
141
- constructor(private newService: NewTaskService) {}
142
-
143
- // Old method signature, delegates to new implementation
144
- getTask(id: number): OldTask {
145
- const task = this.newService.findById(String(id));
146
- return this.toOldFormat(task);
147
- }
148
- }
149
- ```
150
-
151
- ### Feature Flag Migration
152
-
153
- Use feature flags to switch consumers from old to new system one at a time:
154
-
155
- ```typescript
156
- function getTaskService(userId: string): TaskService {
157
- if (featureFlags.isEnabled('new-task-service', { userId })) {
158
- return new NewTaskService();
159
- }
160
- return new LegacyTaskService();
161
- }
162
- ```
163
-
164
- ## Zombie Code
165
-
166
- Zombie code is code that nobody owns but everybody depends on. It's not actively maintained, has no clear owner, and accumulates security vulnerabilities and compatibility issues. Signs:
167
-
168
- - No commits in 6+ months but active consumers exist
169
- - No assigned maintainer or team
170
- - Failing tests that nobody fixes
171
- - Dependencies with known vulnerabilities that nobody updates
172
- - Documentation that references systems that no longer exist
173
-
174
- **Response:** Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan. Zombie code cannot stay in limbo — it either gets investment or removal.
175
-
176
- ## Common Rationalizations
177
-
178
- | Rationalization | Reality |
179
- |---|---|
180
- | "It still works, why remove it?" | Working code that nobody maintains accumulates security debt and complexity. Maintenance cost grows silently. |
181
- | "Someone might need it later" | If it's needed later, it can be rebuilt. Keeping unused code "just in case" costs more than rebuilding. |
182
- | "The migration is too expensive" | Compare migration cost to ongoing maintenance cost over 2-3 years. Migration is usually cheaper long-term. |
183
- | "We'll deprecate it after we finish the new system" | Deprecation planning starts at design time. By the time the new system is done, you'll have new priorities. Plan now. |
184
- | "Users will migrate on their own" | They won't. Provide tooling, documentation, and incentives — or do the migration yourself (the Churn Rule). |
185
- | "We can maintain both systems indefinitely" | Two systems doing the same thing is double the maintenance, testing, documentation, and onboarding cost. |
186
-
187
- ## Red Flags
188
-
189
- - Deprecated systems with no replacement available
190
- - Deprecation announcements with no migration tooling or documentation
191
- - "Soft" deprecation that's been advisory for years with no progress
192
- - Zombie code with no owner and active consumers
193
- - New features added to a deprecated system (invest in the replacement instead)
194
- - Deprecation without measuring current usage
195
- - Removing code without verifying zero active consumers
196
-
197
- ## Verification
198
-
199
- After completing a deprecation:
200
-
201
- - [ ] Replacement is production-proven and covers all critical use cases
202
- - [ ] Migration guide exists with concrete steps and examples
203
- - [ ] All active consumers have been migrated (verified by metrics/logs)
204
- - [ ] Old code, tests, documentation, and configuration are fully removed
205
- - [ ] No references to the deprecated system remain in the codebase
206
- - [ ] Deprecation notices are removed (they served their purpose)
1
+ ---
2
+ name: deprecation-and-migration
3
+ description: Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when deciding whether to maintain or sunset existing code.
4
+ ---
5
+
6
+ # Deprecation and Migration
7
+
8
+ ## Overview
9
+
10
+ Code is a liability, not an asset. Every line of code has ongoing maintenance cost — bugs to fix, dependencies to update, security patches to apply, and new engineers to onboard. Deprecation is the discipline of removing code that no longer earns its keep, and migration is the process of moving users safely from the old to the new.
11
+
12
+ Most engineering organizations are good at building things. Few are good at removing them. This skill addresses that gap.
13
+
14
+ ## When to Use
15
+
16
+ - Replacing an old system, API, or library with a new one
17
+ - Sunsetting a feature that's no longer needed
18
+ - Consolidating duplicate implementations
19
+ - Removing dead code that nobody owns but everybody depends on
20
+ - Planning the lifecycle of a new system (deprecation planning starts at design time)
21
+ - Deciding whether to maintain a legacy system or invest in migration
22
+
23
+ ## Core Principles
24
+
25
+ ### Code Is a Liability
26
+
27
+ Every line of code has ongoing cost: it needs tests, documentation, security patches, dependency updates, and mental overhead for anyone working nearby. The value of code is the functionality it provides, not the code itself. When the same functionality can be provided with less code, less complexity, or better abstractions — the old code should go.
28
+
29
+ ### Hyrum's Law Makes Removal Hard
30
+
31
+ With enough users, every observable behavior becomes depended on — including bugs, timing quirks, and undocumented side effects. This is why deprecation requires active migration, not just announcement. Users can't "just switch" when they depend on behaviors the replacement doesn't replicate.
32
+
33
+ ### Deprecation Planning Starts at Design Time
34
+
35
+ When building something new, ask: "How would we remove this in 3 years?" Systems designed with clean interfaces, feature flags, and minimal surface area are easier to deprecate than systems that leak implementation details everywhere.
36
+
37
+ ## The Deprecation Decision
38
+
39
+ Before deprecating anything, answer these questions:
40
+
41
+ ```
42
+ 1. Does this system still provide unique value?
43
+ → If yes, maintain it. If no, proceed.
44
+
45
+ 2. How many users/consumers depend on it?
46
+ → Quantify the migration scope.
47
+
48
+ 3. Does a replacement exist?
49
+ → If no, build the replacement first. Don't deprecate without an alternative.
50
+
51
+ 4. What's the migration cost for each consumer?
52
+ → If trivially automated, do it. If manual and high-effort, weigh against maintenance cost.
53
+
54
+ 5. What's the ongoing maintenance cost of NOT deprecating?
55
+ → Security risk, engineer time, opportunity cost of complexity.
56
+ ```
57
+
58
+ ## Compulsory vs Advisory Deprecation
59
+
60
+ | Type | When to Use | Mechanism |
61
+ |------|-------------|-----------|
62
+ | **Advisory** | Migration is optional, old system is stable | Warnings, documentation, nudges. Users migrate on their own timeline. |
63
+ | **Compulsory** | Old system has security issues, blocks progress, or maintenance cost is unsustainable | Hard deadline. Old system will be removed by date X. Provide migration tooling. |
64
+
65
+ **Default to advisory.** Use compulsory only when the maintenance cost or risk justifies forcing migration. Compulsory deprecation requires providing migration tooling, documentation, and support — you can't just announce a deadline.
66
+
67
+ ## The Migration Process
68
+
69
+ ### Step 1: Build the Replacement
70
+
71
+ Don't deprecate without a working alternative. The replacement must:
72
+
73
+ - Cover all critical use cases of the old system
74
+ - Have documentation and migration guides
75
+ - Be proven in production (not just "theoretically better")
76
+
77
+ ### Step 2: Announce and Document
78
+
79
+ ```markdown
80
+ ## Deprecation Notice: OldService
81
+
82
+ **Status:** Deprecated as of 2025-03-01
83
+ **Replacement:** NewService (see migration guide below)
84
+ **Removal date:** Advisory — no hard deadline yet
85
+ **Reason:** OldService requires manual scaling and lacks observability.
86
+ NewService handles both automatically.
87
+
88
+ ### Migration Guide
89
+ 1. Replace `import { client } from 'old-service'` with `import { client } from 'new-service'`
90
+ 2. Update configuration (see examples below)
91
+ 3. Run the migration verification script: `npx migrate-check`
92
+ ```
93
+
94
+ ### Step 3: Migrate Incrementally
95
+
96
+ Migrate consumers one at a time, not all at once. For each consumer:
97
+
98
+ ```
99
+ 1. Identify all touchpoints with the deprecated system
100
+ 2. Update to use the replacement
101
+ 3. Verify behavior matches (tests, integration checks)
102
+ 4. Remove references to the old system
103
+ 5. Confirm no regressions
104
+ ```
105
+
106
+ **The Churn Rule:** If you own the infrastructure being deprecated, you are responsible for migrating your users — or providing backward-compatible updates that require no migration. Don't announce deprecation and leave users to figure it out.
107
+
108
+ ### Step 4: Remove the Old System
109
+
110
+ Only after all consumers have migrated:
111
+
112
+ ```
113
+ 1. Verify zero active usage (metrics, logs, dependency analysis)
114
+ 2. Remove the code
115
+ 3. Remove associated tests, documentation, and configuration
116
+ 4. Remove the deprecation notices
117
+ 5. Celebrate — removing code is an achievement
118
+ ```
119
+
120
+ ## Migration Patterns
121
+
122
+ ### Strangler Pattern
123
+
124
+ Run old and new systems in parallel. Route traffic incrementally from old to new. When the old system handles 0% of traffic, remove it.
125
+
126
+ ```
127
+ Phase 1: New system handles 0%, old handles 100%
128
+ Phase 2: New system handles 10% (canary)
129
+ Phase 3: New system handles 50%
130
+ Phase 4: New system handles 100%, old system idle
131
+ Phase 5: Remove old system
132
+ ```
133
+
134
+ ### Adapter Pattern
135
+
136
+ Create an adapter that translates calls from the old interface to the new implementation. Consumers keep using the old interface while you migrate the backend.
137
+
138
+ ```typescript
139
+ // Adapter: old interface, new implementation
140
+ class LegacyTaskService implements OldTaskAPI {
141
+ constructor(private newService: NewTaskService) {}
142
+
143
+ // Old method signature, delegates to new implementation
144
+ getTask(id: number): OldTask {
145
+ const task = this.newService.findById(String(id));
146
+ return this.toOldFormat(task);
147
+ }
148
+ }
149
+ ```
150
+
151
+ ### Feature Flag Migration
152
+
153
+ Use feature flags to switch consumers from old to new system one at a time:
154
+
155
+ ```typescript
156
+ function getTaskService(userId: string): TaskService {
157
+ if (featureFlags.isEnabled('new-task-service', { userId })) {
158
+ return new NewTaskService();
159
+ }
160
+ return new LegacyTaskService();
161
+ }
162
+ ```
163
+
164
+ ## Zombie Code
165
+
166
+ Zombie code is code that nobody owns but everybody depends on. It's not actively maintained, has no clear owner, and accumulates security vulnerabilities and compatibility issues. Signs:
167
+
168
+ - No commits in 6+ months but active consumers exist
169
+ - No assigned maintainer or team
170
+ - Failing tests that nobody fixes
171
+ - Dependencies with known vulnerabilities that nobody updates
172
+ - Documentation that references systems that no longer exist
173
+
174
+ **Response:** Either assign an owner and maintain it properly, or deprecate it with a concrete migration plan. Zombie code cannot stay in limbo — it either gets investment or removal.
175
+
176
+ ## Common Rationalizations
177
+
178
+ | Rationalization | Reality |
179
+ |---|---|
180
+ | "It still works, why remove it?" | Working code that nobody maintains accumulates security debt and complexity. Maintenance cost grows silently. |
181
+ | "Someone might need it later" | If it's needed later, it can be rebuilt. Keeping unused code "just in case" costs more than rebuilding. |
182
+ | "The migration is too expensive" | Compare migration cost to ongoing maintenance cost over 2-3 years. Migration is usually cheaper long-term. |
183
+ | "We'll deprecate it after we finish the new system" | Deprecation planning starts at design time. By the time the new system is done, you'll have new priorities. Plan now. |
184
+ | "Users will migrate on their own" | They won't. Provide tooling, documentation, and incentives — or do the migration yourself (the Churn Rule). |
185
+ | "We can maintain both systems indefinitely" | Two systems doing the same thing is double the maintenance, testing, documentation, and onboarding cost. |
186
+
187
+ ## Red Flags
188
+
189
+ - Deprecated systems with no replacement available
190
+ - Deprecation announcements with no migration tooling or documentation
191
+ - "Soft" deprecation that's been advisory for years with no progress
192
+ - Zombie code with no owner and active consumers
193
+ - New features added to a deprecated system (invest in the replacement instead)
194
+ - Deprecation without measuring current usage
195
+ - Removing code without verifying zero active consumers
196
+
197
+ ## Verification
198
+
199
+ After completing a deprecation:
200
+
201
+ - [ ] Replacement is production-proven and covers all critical use cases
202
+ - [ ] Migration guide exists with concrete steps and examples
203
+ - [ ] All active consumers have been migrated (verified by metrics/logs)
204
+ - [ ] Old code, tests, documentation, and configuration are fully removed
205
+ - [ ] No references to the deprecated system remain in the codebase
206
+ - [ ] Deprecation notices are removed (they served their purpose)