agileflow 4.0.0-alpha.2 → 4.0.0-alpha.21

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 (372) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/content/plugins/accessibility/plugin.yaml +14 -0
  3. package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
  4. package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
  5. package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
  6. package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
  7. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
  8. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
  9. package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
  10. package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
  11. package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
  12. package/content/plugins/ads/agents/ads-audit-google.md +227 -0
  13. package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
  14. package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
  15. package/content/plugins/ads/agents/ads-consensus.md +410 -0
  16. package/content/plugins/ads/agents/ads-generate.md +152 -0
  17. package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
  18. package/content/plugins/ads/plugin.yaml +23 -4
  19. package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
  20. package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
  21. package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
  22. package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
  23. package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
  24. package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
  25. package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
  26. package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
  27. package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
  28. package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
  29. package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
  30. package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
  31. package/content/plugins/audit/agents/a11y-consensus.md +249 -0
  32. package/content/plugins/audit/agents/accessibility.md +558 -0
  33. package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
  34. package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
  35. package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
  36. package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
  37. package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
  38. package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
  39. package/content/plugins/audit/agents/api-validator.md +191 -0
  40. package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
  41. package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
  42. package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
  43. package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
  44. package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
  45. package/content/plugins/audit/agents/arch-consensus.md +228 -0
  46. package/content/plugins/audit/agents/browser-qa.md +342 -0
  47. package/content/plugins/audit/agents/code-reviewer.md +298 -0
  48. package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
  49. package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
  50. package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
  51. package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
  52. package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
  53. package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
  54. package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
  55. package/content/plugins/audit/agents/completeness-consensus.md +295 -0
  56. package/content/plugins/audit/agents/error-analyzer.md +213 -0
  57. package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
  58. package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
  59. package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
  60. package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
  61. package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
  62. package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
  63. package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
  64. package/content/plugins/audit/agents/flow-consensus.md +237 -0
  65. package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
  66. package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
  67. package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
  68. package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
  69. package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
  70. package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
  71. package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
  72. package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
  73. package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
  74. package/content/plugins/audit/agents/legal-consensus.md +250 -0
  75. package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
  76. package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
  77. package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
  78. package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
  79. package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
  80. package/content/plugins/audit/agents/logic-consensus.md +259 -0
  81. package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
  82. package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
  83. package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
  84. package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
  85. package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
  86. package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
  87. package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
  88. package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
  89. package/content/plugins/audit/agents/perf-consensus.md +287 -0
  90. package/content/plugins/audit/agents/qa.md +820 -0
  91. package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
  92. package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
  93. package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
  94. package/content/plugins/audit/agents/quality-consensus.md +241 -0
  95. package/content/plugins/audit/agents/schema-validator.md +473 -0
  96. package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
  97. package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
  98. package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
  99. package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
  100. package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
  101. package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
  102. package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
  103. package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
  104. package/content/plugins/audit/agents/security-consensus.md +283 -0
  105. package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
  106. package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
  107. package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
  108. package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
  109. package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
  110. package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
  111. package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
  112. package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
  113. package/content/plugins/audit/agents/test-consensus.md +301 -0
  114. package/content/plugins/audit/agents/testing.md +561 -0
  115. package/content/plugins/audit/agents/ui-validator.md +344 -0
  116. package/content/plugins/audit/plugin.yaml +186 -5
  117. package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
  118. package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
  119. package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
  120. package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
  121. package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
  122. package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
  123. package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
  124. package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
  125. package/content/plugins/core/agents/adr-writer.md +521 -0
  126. package/content/plugins/core/agents/epic-planner.md +520 -0
  127. package/content/plugins/core/agents/mentor.md +709 -0
  128. package/content/plugins/core/agents/orchestrator.md +776 -0
  129. package/content/plugins/core/agents/team-coordinator.md +334 -0
  130. package/content/plugins/core/agents/team-lead.md +181 -0
  131. package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
  132. package/content/plugins/core/hooks/context-loader.js +31 -4
  133. package/content/plugins/core/hooks/damage-control-bash.js +10 -2
  134. package/content/plugins/core/hooks/damage-control-edit.js +4 -1
  135. package/content/plugins/core/hooks/damage-control-patterns.yaml +1 -1
  136. package/content/plugins/core/hooks/damage-control-write.js +4 -1
  137. package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
  138. package/content/plugins/core/hooks/preferences-injector.js +352 -0
  139. package/content/plugins/core/plugin.yaml +24 -28
  140. package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
  141. package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
  142. package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
  143. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
  144. package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
  145. package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
  146. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
  147. package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
  148. package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
  149. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
  150. package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
  151. package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
  152. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
  153. package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
  154. package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
  155. package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
  156. package/content/plugins/council/agents/council-advocate.md +223 -0
  157. package/content/plugins/council/agents/council-analyst.md +278 -0
  158. package/content/plugins/council/agents/council-compounder.md +204 -0
  159. package/content/plugins/council/agents/council-contrarian.md +217 -0
  160. package/content/plugins/council/agents/council-moonshot.md +217 -0
  161. package/content/plugins/council/agents/council-optimist.md +185 -0
  162. package/content/plugins/council/agents/council-revenue.md +200 -0
  163. package/content/plugins/council/agents/council-technical.md +218 -0
  164. package/content/plugins/council/agents/multi-expert.md +334 -0
  165. package/content/plugins/council/plugin.yaml +23 -4
  166. package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
  167. package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
  168. package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
  169. package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
  170. package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
  171. package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
  172. package/content/plugins/database/plugin.yaml +14 -0
  173. package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
  174. package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
  175. package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
  176. package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
  177. package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
  178. package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
  179. package/content/plugins/debugging/plugin.yaml +14 -0
  180. package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
  181. package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
  182. package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
  183. package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
  184. package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
  185. package/content/plugins/delivery/agents/ci.md +547 -0
  186. package/content/plugins/delivery/agents/devops.md +789 -0
  187. package/content/plugins/delivery/plugin.yaml +19 -0
  188. package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
  189. package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
  190. package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
  191. package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
  192. package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
  193. package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
  194. package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
  195. package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
  196. package/content/plugins/docs/agents/documentation.md +544 -0
  197. package/content/plugins/docs/agents/readme-updater.md +640 -0
  198. package/content/plugins/docs/plugin.yaml +19 -0
  199. package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
  200. package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
  201. package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
  202. package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
  203. package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
  204. package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
  205. package/content/plugins/engineering/agents/api.md +718 -0
  206. package/content/plugins/engineering/agents/codebase-query.md +285 -0
  207. package/content/plugins/engineering/agents/compliance.md +559 -0
  208. package/content/plugins/engineering/agents/database.md +644 -0
  209. package/content/plugins/engineering/agents/integrations.md +644 -0
  210. package/content/plugins/engineering/agents/mobile.md +552 -0
  211. package/content/plugins/engineering/agents/monitoring.md +585 -0
  212. package/content/plugins/engineering/agents/performance.md +529 -0
  213. package/content/plugins/engineering/agents/refactor.md +592 -0
  214. package/content/plugins/engineering/agents/security.md +524 -0
  215. package/content/plugins/engineering/agents/ui.md +1336 -0
  216. package/content/plugins/engineering/plugin.yaml +37 -0
  217. package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
  218. package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
  219. package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
  220. package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
  221. package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
  222. package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
  223. package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
  224. package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
  225. package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
  226. package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
  227. package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
  228. package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
  229. package/content/plugins/ideation/agents/design.md +568 -0
  230. package/content/plugins/ideation/agents/product.md +582 -0
  231. package/content/plugins/ideation/plugin.yaml +31 -0
  232. package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
  233. package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
  234. package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
  235. package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
  236. package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
  237. package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
  238. package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
  239. package/content/plugins/migration/agents/datamigration.md +757 -0
  240. package/content/plugins/migration/plugin.yaml +17 -0
  241. package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
  242. package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
  243. package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
  244. package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
  245. package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
  246. package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
  247. package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
  248. package/content/plugins/performance/plugin.yaml +14 -0
  249. package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
  250. package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
  251. package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
  252. package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
  253. package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
  254. package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
  255. package/content/plugins/planning/agents/analytics.md +670 -0
  256. package/content/plugins/planning/agents/rlm-subcore.md +215 -0
  257. package/content/plugins/planning/plugin.yaml +19 -0
  258. package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
  259. package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
  260. package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
  261. package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
  262. package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
  263. package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
  264. package/content/plugins/psychology/plugin.yaml +14 -0
  265. package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
  266. package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
  267. package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
  268. package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
  269. package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
  270. package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
  271. package/content/plugins/refactoring/plugin.yaml +14 -0
  272. package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
  273. package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
  274. package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
  275. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
  276. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
  277. package/content/plugins/research/agents/research.md +503 -0
  278. package/content/plugins/research/plugin.yaml +17 -0
  279. package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
  280. package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
  281. package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
  282. package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
  283. package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
  284. package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
  285. package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
  286. package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
  287. package/content/plugins/reviews/plugin.yaml +14 -0
  288. package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
  289. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
  290. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
  291. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
  292. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
  293. package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
  294. package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
  295. package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
  296. package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
  297. package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
  298. package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
  299. package/content/plugins/seo/agents/seo-consensus.md +304 -0
  300. package/content/plugins/seo/plugin.yaml +19 -4
  301. package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
  302. package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
  303. package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
  304. package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
  305. package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
  306. package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
  307. package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
  308. package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
  309. package/content/plugins/testing/plugin.yaml +16 -0
  310. package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
  311. package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
  312. package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
  313. package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
  314. package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
  315. package/package.json +2 -2
  316. package/src/cli/commands/doctor.js +818 -30
  317. package/src/cli/commands/hook.js +17 -14
  318. package/src/cli/commands/launch.js +1454 -0
  319. package/src/cli/commands/learn.js +149 -0
  320. package/src/cli/commands/plugins.js +113 -0
  321. package/src/cli/commands/setup.js +455 -110
  322. package/src/cli/commands/skills.js +324 -0
  323. package/src/cli/commands/status.js +8 -10
  324. package/src/cli/commands/update.js +76 -15
  325. package/src/cli/index.js +90 -26
  326. package/src/cli/wizard/babysit-mode-picker.js +192 -0
  327. package/src/cli/wizard/behaviors-picker.js +208 -54
  328. package/src/cli/wizard/ide-picker.js +40 -28
  329. package/src/cli/wizard/install-scope-picker.js +57 -0
  330. package/src/cli/wizard/launch-alias-picker.js +50 -0
  331. package/src/cli/wizard/launch-cli-picker.js +129 -0
  332. package/src/cli/wizard/launch-tmux-picker.js +133 -0
  333. package/src/cli/wizard/learnings-picker.js +40 -0
  334. package/src/cli/wizard/plugin-picker.js +47 -16
  335. package/src/lib/brand.js +116 -0
  336. package/src/lib/errors.js +120 -0
  337. package/src/lib/path-check.js +39 -0
  338. package/src/runtime/config/defaults.js +22 -17
  339. package/src/runtime/config/loader.js +77 -8
  340. package/src/runtime/config/schema.json +43 -16
  341. package/src/runtime/config/writer.js +3 -1
  342. package/src/runtime/ide/babysit-skill.js +202 -0
  343. package/src/runtime/ide/capabilities.js +84 -29
  344. package/src/runtime/ide/claude-code-content.js +177 -0
  345. package/src/runtime/ide/claude-code-settings.js +67 -29
  346. package/src/runtime/ide/claude-code-skills.js +47 -32
  347. package/src/runtime/ide/codex-config.js +295 -0
  348. package/src/runtime/installer/install.js +252 -24
  349. package/src/runtime/launch/alias-installer.js +191 -0
  350. package/src/runtime/launch/cli-resume.js +244 -0
  351. package/src/runtime/launch/closed-windows.js +338 -0
  352. package/src/runtime/launch/defaults.js +66 -0
  353. package/src/runtime/launch/detect-clis.js +69 -0
  354. package/src/runtime/launch/doctor.js +464 -0
  355. package/src/runtime/launch/exec-wrapper.js +114 -0
  356. package/src/runtime/launch/parallel-session.js +247 -0
  357. package/src/runtime/launch/prefs.js +211 -0
  358. package/src/runtime/launch/project-prefs.js +234 -0
  359. package/src/runtime/launch/resolve-cli.js +56 -0
  360. package/src/runtime/launch/restore.js +152 -0
  361. package/src/runtime/launch/schema.json +75 -0
  362. package/src/runtime/launch/session-lifecycle.js +313 -0
  363. package/src/runtime/launch/session-registry.js +401 -0
  364. package/src/runtime/launch/spawn.js +103 -0
  365. package/src/runtime/launch/tabs.js +350 -0
  366. package/src/runtime/launch/tmux.js +764 -0
  367. package/src/runtime/launch/worktree.js +260 -0
  368. package/src/runtime/plugins/registry.js +16 -11
  369. package/src/runtime/plugins/validator.js +57 -43
  370. package/src/runtime/skills/learnings.js +308 -0
  371. package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
  372. package/src/cli/wizard/personalization.js +0 -64
@@ -0,0 +1,259 @@
1
+ # Workflow: Retention Audit
2
+
3
+ **Follow this when:** the user wants to audit their existing product for retention gaps, understand why users are churning, or get a prioritized list of retention improvements.
4
+
5
+ **Time estimate:** 60–120 minutes for a thorough audit. Can be done in 20 minutes for a quick scan.
6
+
7
+ **Output:** A prioritized gap list with specific recommendations, organized by psychological model and impact vs. effort.
8
+
9
+ ---
10
+
11
+ ## Before you start
12
+
13
+ Ask the user for the following information (or infer from context):
14
+
15
+ 1. What type of product is this? (mobile app, SaaS, consumer web, marketplace, etc.)
16
+ 2. What is the primary retention metric? (D1/D7/D30 retention, DAU/MAU, churn rate, session frequency)
17
+ 3. What are the current baseline numbers for that metric?
18
+ 4. Where in the funnel is the biggest drop-off? (acquisition → activation → retention → revenue → referral)
19
+ 5. Do they have a defined "aha moment" — a specific action that correlates with long-term retention?
20
+
21
+ If the user doesn't know the answer to questions 3–5, note that identifying these is part of the audit.
22
+
23
+ ---
24
+
25
+ ## Step 1: Define and baseline the retention metric
26
+
27
+ **Goal:** Know exactly what you're measuring before recommending any mechanic.
28
+
29
+ Actions:
30
+
31
+ 1. Identify the primary retention metric for this product type:
32
+ - Mobile consumer app → D1 / D7 / D30 retention
33
+ - SaaS / subscription → D30 / D90 retention, monthly churn rate
34
+ - Daily-use utility (messaging, email) → DAU/MAU ratio
35
+ - Social / community product → D7 / session frequency per week
36
+ 2. Get the current baseline number if available
37
+ 3. Identify the benchmark for the product category (e.g., D30 retention > 25% is good for mobile apps; DAU/MAU > 20% is good for most products)
38
+ 4. Note the gap between current and benchmark
39
+
40
+ **Output:** "We're measuring D7 retention. Current: 18%. Benchmark for this category: 30%. Gap: 12 percentage points."
41
+
42
+ ---
43
+
44
+ ## Step 2: Map the current user journey
45
+
46
+ **Goal:** Understand the full path from signup to retained user, and find where most users exit.
47
+
48
+ Actions:
49
+
50
+ 1. Walk through the product from a new user's perspective (or ask the user to describe it)
51
+ 2. Map each step: Signup → Onboarding → First value → Return visit → Habit
52
+ 3. Note which steps require decisions, effort, or motivation
53
+ 4. Identify where users most commonly drop off (ask for data if available; otherwise estimate from product knowledge)
54
+ 5. Identify the "aha moment" — the specific action that signals a user will be retained
55
+ - If undefined: ask "What do your most retained users do in their first week that casual users don't?"
56
+ - Common examples: Facebook (7 friends in 10 days), Slack (2,000 messages exchanged), Dropbox (first file uploaded)
57
+
58
+ **Output:** A journey map with drop-off points marked and the aha moment identified (or TBD with a research recommendation).
59
+
60
+ ---
61
+
62
+ ## Step 3: Audit against the Hook Model
63
+
64
+ **Goal:** Assess whether the product has a functional habit loop.
65
+
66
+ For each phase, score 1–5 (1 = absent/broken, 5 = excellent):
67
+
68
+ **Trigger audit**
69
+
70
+ - What external triggers exist? (push notifications, emails, badges)
71
+ - Are these triggers behavioral (user-action-triggered) or scheduled (marketing calendar)?
72
+ - What internal trigger is the product trying to own? (boredom, FOMO, loneliness, anxiety, curiosity)
73
+ - Do users report opening the app without a specific external trigger? (if yes: internal triggers are forming)
74
+ - Score: `/5`
75
+
76
+ **Action audit**
77
+
78
+ - What is the single most important action the product wants users to take?
79
+ - How many steps separate the external trigger from that action?
80
+ - What are the friction points in reaching that action? (login walls, decision points, loading time)
81
+ - Score: `/5`
82
+
83
+ **Variable reward audit**
84
+
85
+ - What reward does the user receive after completing the core action?
86
+ - Is the reward variable or predictable?
87
+ - Which reward type does it represent: Tribe (social), Hunt (information), or Self (mastery)?
88
+ - Does the user feel in control during the reward phase, or constrained?
89
+ - Score: `/5`
90
+
91
+ **Investment audit**
92
+
93
+ - What does the user leave behind after each session?
94
+ - Does that stored value increase over time? (e.g., recommendations get better, more followers, more content)
95
+ - Does the user feel the product would be painful to leave because of what they've invested?
96
+ - Score: `/5`
97
+
98
+ **Hook Model total:** `/20`
99
+
100
+ Interpretation:
101
+
102
+ - 16–20: Strong habit loop. Focus on growth, not retention mechanics.
103
+ - 10–15: Moderate loop. Specific phases need work. Prioritize lowest-scoring phase.
104
+ - Under 10: Weak or broken loop. Retention mechanics are unlikely to work until the core loop is fixed.
105
+
106
+ ---
107
+
108
+ ## Step 4: Audit against the Fogg Behavior Model
109
+
110
+ **Goal:** Find where motivation or ability is insufficient in critical flows.
111
+
112
+ **For each critical action (onboarding completion, first core action, first return visit):**
113
+
114
+ 1. **Motivation audit:**
115
+ - Is the value proposition clear before the user is asked to take this action?
116
+ - Is there social proof, urgency, or benefit framing near the action?
117
+ - Would a user with moderate motivation still take this action?
118
+ - Identify specific moments where motivation is likely to drop
119
+
120
+ 2. **Ability audit:**
121
+ - Walk through each step: how long does it take? how much does it cost? how much cognitive load?
122
+ - Are there steps that require decisions without enough information to decide well?
123
+ - Are there unnecessary steps that could be removed or defaulted?
124
+ - Apply Fogg's 6 simplicity factors to the critical path
125
+
126
+ 3. **Prompt audit:**
127
+ - Are users prompted at the right moment, or does the prompt fire when motivation is low?
128
+ - Are prompts generic (scheduled) or behavioral (triggered by user state)?
129
+ - Is there a facilitator prompt catching users who are mid-flow and almost done?
130
+
131
+ **Output:** List of specific friction points and motivation drops, with the step in the flow where each occurs.
132
+
133
+ ---
134
+
135
+ ## Step 5: Notification strategy audit
136
+
137
+ **Goal:** Evaluate whether the notification strategy supports or undermines retention.
138
+
139
+ Questions to answer:
140
+
141
+ 1. How many notification types exist? List them all.
142
+ 2. For each: is it triggered by user behavior or by a marketing schedule?
143
+ 3. What is the average weekly notification count per user?
144
+ 4. What is the notification opt-out rate? (>20% is a warning sign)
145
+ 5. Are there "streak at risk" or loss-aversion notifications?
146
+ 6. Are there recovery mechanics for users who have lapsed?
147
+
148
+ Score each notification type:
149
+
150
+ - Behavioral trigger (high relevance): strong keep
151
+ - Milestone trigger (user's own progress): keep
152
+ - Social trigger (friend activity): keep
153
+ - Marketing/scheduled blast: reduce or eliminate
154
+
155
+ **Output:** Notification audit with keep/improve/remove recommendation for each type.
156
+
157
+ ---
158
+
159
+ ## Step 6: Identify the keystone habit
160
+
161
+ **Goal:** Find the single behavior that, if habitual, makes everything else in the product stick.
162
+
163
+ Questions:
164
+
165
+ 1. What is the behavior that your most retained users do that casual users don't?
166
+ 2. What is the minimum frequency of that behavior that predicts long-term retention?
167
+ 3. Is the product designed to make that behavior frictionless and rewarding?
168
+ 4. Is there an anchor (existing routine) that could trigger this behavior?
169
+
170
+ **Output:** The keystone habit, current state (frictionless vs. too much friction), and recommended design change.
171
+
172
+ ---
173
+
174
+ ## Step 7: Score the retention mechanics inventory
175
+
176
+ **Goal:** Check which mechanics exist and how well they're implemented.
177
+
178
+ For each mechanic, score: Missing (0) / Exists but weak (1) / Well-implemented (2):
179
+
180
+ | Mechanic | Present? | Quality | Notes |
181
+ | ----------------------------------------- | -------- | ------- | ----- |
182
+ | Streaks | | | |
183
+ | Progress bars / completion | | | |
184
+ | Variable rewards | | | |
185
+ | Social proof | | | |
186
+ | Personalized onboarding / aha moment path | | | |
187
+ | Behavioral notifications | | | |
188
+ | Endowed progress | | | |
189
+ | Loss aversion mechanics | | | |
190
+ | Social features / relatedness | | | |
191
+ | Investment mechanics | | | |
192
+
193
+ **Mechanics score:** `/20`
194
+
195
+ ---
196
+
197
+ ## Step 8: Synthesize findings and prioritize
198
+
199
+ **Goal:** Create a prioritized gap list the team can act on.
200
+
201
+ Prioritization framework:
202
+
203
+ - **Impact:** How much would fixing this improve the primary retention metric? (H/M/L)
204
+ - **Effort:** How much engineering and design work is required? (H/M/L)
205
+ - **Priority:** High impact + low effort = do first. High impact + high effort = plan as a project. Low impact = deprioritize.
206
+
207
+ **Priority 1 (do immediately):** Low effort, high impact
208
+
209
+ - Typically: fixing a broken notification trigger, adding loss-aversion framing to an existing notification, adding a streak recovery mechanic, reducing friction in a critical flow
210
+
211
+ **Priority 2 (plan as a feature):** High impact, moderate/high effort
212
+
213
+ - Typically: redesigning onboarding around aha moment, adding streak system, redesigning reward phase
214
+
215
+ **Priority 3 (nice to have):** Low impact or low confidence
216
+
217
+ - Typically: social proof additions, gamification experiments, investment mechanic improvements
218
+
219
+ ---
220
+
221
+ ## Output format
222
+
223
+ Structure the audit output as:
224
+
225
+ ```
226
+ RETENTION AUDIT SUMMARY
227
+ ========================
228
+
229
+ Product: [name]
230
+ Primary metric: [metric]
231
+ Current baseline: [number]
232
+ Category benchmark: [number]
233
+ Gap: [gap]
234
+
235
+ HOOK MODEL SCORE: [X/20]
236
+ Trigger: [X/5] — [key finding]
237
+ Action: [X/5] — [key finding]
238
+ Variable Reward: [X/5] — [key finding]
239
+ Investment: [X/5] — [key finding]
240
+
241
+ FOGG AUDIT: [2–3 key friction points]
242
+
243
+ NOTIFICATION AUDIT: [summary]
244
+
245
+ KEYSTONE HABIT: [identified or TBD with recommendation]
246
+
247
+ MECHANICS INVENTORY: [X/20]
248
+
249
+ PRIORITY 1 GAPS (do immediately):
250
+ 1. [Specific recommendation] — expected impact: [H/M/L] — effort: [H/M/L]
251
+ 2. ...
252
+
253
+ PRIORITY 2 GAPS (plan as features):
254
+ 1. [Specific recommendation]
255
+ 2. ...
256
+
257
+ PRIORITY 3 (nice to have):
258
+ 1. ...
259
+ ```
@@ -0,0 +1,14 @@
1
+ id: refactoring
2
+ name: Refactoring
3
+ description: Safe refactoring with impact analysis and test-first verification.
4
+ version: 1.0.0
5
+ enabledByDefault: false
6
+ cannotDisable: false
7
+ depends: []
8
+ provides:
9
+ skills:
10
+ - id: agileflow-refactor
11
+ dir: skills/agileflow-refactor
12
+ agents: []
13
+ hooks: []
14
+ templates: []
@@ -0,0 +1,235 @@
1
+ ---
2
+ name: agileflow-refactor
3
+ version: 1.0.0
4
+ category: agileflow/refactoring
5
+ description: |
6
+ Use when the user wants to improve existing code without changing its
7
+ observable behaviour. Applies safe refactoring patterns — extract
8
+ method/class, simplify conditionals, remove dead code, rename for
9
+ clarity — with an impact analysis and test-gate verification before
10
+ any change is made.
11
+ triggers:
12
+ keywords:
13
+ - refactor
14
+ - clean up
15
+ - extract
16
+ - simplify
17
+ - too complex
18
+ - technical debt
19
+ - dead code
20
+ - rename
21
+ - restructure
22
+ - improve readability
23
+ - this is a mess
24
+ - hard to understand
25
+ - duplicate code
26
+ - god class
27
+ - long method
28
+ priority: 50
29
+ exclude:
30
+ - refactor to a new framework (migration, not refactoring)
31
+ - extract requirements (product management context)
32
+ provides:
33
+ agents: []
34
+ learns:
35
+ enabled: true
36
+ file: _learnings/refactor.yaml
37
+ maxEntries: 50
38
+ depends:
39
+ skills: []
40
+ plugins: [core]
41
+ ---
42
+
43
+ # AgileFlow Refactor
44
+
45
+ Safe, systematic refactoring with impact analysis, test gates, and incremental change — improves code quality without breaking behaviour.
46
+
47
+ ## When this skill activates
48
+
49
+ - User wants to clean up, simplify, or restructure code
50
+ - User identifies technical debt or hard-to-maintain code
51
+ - User wants to extract a reusable module or function
52
+ - User says a function or class is "too complex" or "too long"
53
+ - User wants to remove dead code or duplicate logic
54
+ - User wants to rename for clarity
55
+ - User is preparing code for a feature addition (make it easy to change, then change it)
56
+
57
+ ## Opening discovery flow
58
+
59
+ **When invoked without a specific target, ask once to understand scope and intent.**
60
+
61
+ ```xml
62
+ <invoke name="AskUserQuestion">
63
+ <parameter name="questions">[
64
+ {
65
+ "question": "What would you like to refactor?",
66
+ "header": "Refactoring target",
67
+ "multiSelect": false,
68
+ "options": [
69
+ {"label": "A specific function or method that's too long or complex (Recommended)", "description": "Paste the function and I'll suggest extractions, simplifications, and naming improvements"},
70
+ {"label": "A class or module with too many responsibilities", "description": "Point me at the file — I'll identify which responsibilities should move to their own class"},
71
+ {"label": "Duplicate code across multiple files", "description": "Show me the duplication and I'll design a shared abstraction"},
72
+ {"label": "Clean up dead code or unused exports", "description": "I'll analyse the codebase for unused functions, variables, and modules"},
73
+ {"label": "Rename for clarity (variables, functions, files)", "description": "Tell me what feels poorly named and I'll suggest better names with impact analysis"},
74
+ {"label": "Reduce cyclomatic complexity in a function", "description": "I'll restructure conditionals using guard clauses, early returns, and strategy pattern"}
75
+ ]
76
+ }
77
+ ]</parameter>
78
+ </invoke>
79
+ ```
80
+
81
+ ## Refactoring principles
82
+
83
+ ### 1. Tests first
84
+
85
+ **Never refactor without a test safety net.** If the code doesn't have tests, write characterisation tests before touching anything.
86
+
87
+ > "Make it easy to change, then change it."
88
+
89
+ ```
90
+ Step 1: Write/confirm tests exist → they pass
91
+ Step 2: Refactor
92
+ Step 3: Tests still pass → behaviour preserved
93
+ ```
94
+
95
+ If tests don't exist: offer to write them first (use `agileflow-test-writer`), or at minimum characterise the current behaviour.
96
+
97
+ ### 2. One refactoring at a time
98
+
99
+ Don't rename AND restructure AND extract in one change. Small, focused refactors are safer and easier to review. Each step should:
100
+
101
+ - Be independently committtable
102
+ - Leave the tests green
103
+ - Do exactly one kind of improvement
104
+
105
+ ### 3. Boy Scout Rule
106
+
107
+ "Always leave the code a little better than you found it." When touching a file for another purpose, fix obvious issues:
108
+
109
+ - Rename a confusing variable
110
+ - Extract a magic number to a constant
111
+ - Remove a dead branch
112
+
113
+ But don't go beyond what's proportionate to the change at hand.
114
+
115
+ ### 4. No behaviour changes
116
+
117
+ A refactoring, by definition, does not change observable behaviour. If the change would alter:
118
+
119
+ - Function inputs/outputs
120
+ - Error types thrown
121
+ - Side effects
122
+ - Performance characteristics in a user-visible way
123
+
124
+ ...then it is not a pure refactoring — it is a feature change. Flag this to the user.
125
+
126
+ ## Impact analysis before every refactoring
127
+
128
+ Before making any change, assess:
129
+
130
+ | Question | Why it matters |
131
+ | --------------------------------------------------------------- | --------------------------------------- |
132
+ | What calls this function/uses this module? | Determines blast radius |
133
+ | Are there tests covering this code? | Determines safety of the change |
134
+ | Is this a public API (used by consumers outside this codebase)? | Determines if this is a breaking change |
135
+ | Are there feature flags or A/B tests touching this code? | Could change which variant runs |
136
+ | Are there any type definitions that reference this? | Types may need updating too |
137
+
138
+ Run a quick search before refactoring:
139
+
140
+ - Find all usages: `grep -r "functionName" src/`
141
+ - Find all imports: `grep -r "from './module'" src/`
142
+ - Check for dynamic calls: `functionName\(` as a pattern
143
+
144
+ ## Common refactoring patterns
145
+
146
+ See `references/refactoring-patterns.md` for the full catalogue. Quick reference:
147
+
148
+ | Pattern | When to apply |
149
+ | ------------------------------------- | ---------------------------------------------------------- |
150
+ | Extract function | Function > 20 lines, or section has a clear single purpose |
151
+ | Extract class | Class has > 2 responsibilities, or file > 300 lines |
152
+ | Replace conditional with guard clause | Nested if/else with happy path buried in conditions |
153
+ | Replace magic number with constant | Numeric literal used without explanation |
154
+ | Extract variable | Complex expression used more than once |
155
+ | Rename for clarity | Variable/function name doesn't describe what it does |
156
+ | Dead code removal | Function never called; variable never read |
157
+ | Consolidate duplicate conditionals | Same condition checked in multiple places |
158
+ | Replace inheritance with composition | Subclass only uses 10% of the parent's interface |
159
+ | Introduce parameter object | Function takes > 4 parameters |
160
+
161
+ ## Code smell signals
162
+
163
+ | Smell | Typical pattern | Refactoring to apply |
164
+ | -------------------------- | ------------------------------------------------------- | ---------------------------------------------- |
165
+ | Long method | > 30 lines | Extract function |
166
+ | Large class | > 300 lines or > 5 public methods | Extract class |
167
+ | Duplicate code | Same block in 2+ places | Extract function or module |
168
+ | Long parameter list | > 4 parameters | Introduce parameter object |
169
+ | Deeply nested conditionals | > 3 levels of nesting | Guard clauses, early returns |
170
+ | Magic numbers | `if (status === 3)` | Named constant `if (status === ORDER_SHIPPED)` |
171
+ | Dead code | Function defined but never called | Delete (with a search to confirm) |
172
+ | Inconsistent naming | `getUser`, `fetchAccount`, `loadProfile` for same thing | Normalise naming convention |
173
+ | God object | One class doing everything | Extract multiple focused classes |
174
+ | Shotgun surgery | One change requires edits in 10 files | Consolidate into a single place |
175
+
176
+ ## Refactoring safety checklist
177
+
178
+ See `references/safety-checks.md` for the full checklist. Before any refactoring:
179
+
180
+ - [ ] Tests exist and pass
181
+ - [ ] Impact analysis complete (know who calls this)
182
+ - [ ] Not a public API without a deprecation plan
183
+ - [ ] Change is scoped to one pattern at a time
184
+ - [ ] Can be committed independently (doesn't depend on other uncommitted changes)
185
+
186
+ After refactoring:
187
+
188
+ - [ ] Tests still pass
189
+ - [ ] No new linting errors introduced
190
+ - [ ] PR diff is readable (reviewer can understand what changed and why)
191
+ - [ ] Commit message describes the refactoring pattern used
192
+
193
+ ## SOLID principles as refactoring targets
194
+
195
+ | Principle | Violation signal | Refactoring |
196
+ | --------------------------- | --------------------------------------------------- | ----------------------------------- |
197
+ | **S** Single Responsibility | Class does X and Y and Z | Extract class per responsibility |
198
+ | **O** Open/Closed | Adding a feature requires modifying existing code | Introduce strategy / plugin pattern |
199
+ | **L** Liskov Substitution | Subclass overrides parent method to throw | Prefer composition over inheritance |
200
+ | **I** Interface Segregation | Interface has methods most implementors don't need | Split interface |
201
+ | **D** Dependency Inversion | High-level module imports concrete low-level module | Inject dependency via interface |
202
+
203
+ ## Self-improving learnings
204
+
205
+ `_learnings/refactor.yaml` records:
206
+
207
+ - Preferred naming conventions for this project (camelCase, snake_case, etc.)
208
+ - Established module boundaries (what belongs where)
209
+ - Patterns the team uses (e.g. repository pattern, service layer)
210
+ - Previous refactoring outcomes — what was improved and how
211
+
212
+ ## Integration
213
+
214
+ - **agileflow-test-writer** — write or verify tests before any refactor begins; tests are the safety net that lets refactoring proceed without fear
215
+ - **agileflow-audit** — use the audit skill to identify what needs refactoring; audit finds the code quality, duplication, and complexity issues, refactor fixes them
216
+ - **agileflow-engineering** — when refactoring is part of a feature story, coordinate with engineering so the feature lands in already-cleaned code
217
+ - **agileflow-pr-reviewer** — invoke after refactoring to confirm the changes preserved observable behaviour and meet style standards
218
+ - **agileflow-performance** — when a refactor is performance-motivated (N+1 queries, blocking renders), pair with performance to measure before and after
219
+ - **agileflow-debug** — if a refactor introduces a regression, hand off immediately to debug rather than reverting blindly
220
+ - **agileflow-adr** — document significant refactoring decisions (module boundary changes, pattern migrations) as ADRs before executing them on large codebases
221
+ - **agileflow-migration** — when a refactor involves a library upgrade or API migration alongside the structural cleanup, use migration to handle the version-specific steps
222
+
223
+ ## References
224
+
225
+ | File | When to load |
226
+ | ------------------------------------ | -------------------------------------------------------------------------- |
227
+ | `references/refactoring-patterns.md` | Detailed catalogue of refactoring patterns with before/after code examples |
228
+ | `references/safety-checks.md` | Pre/post refactoring safety checklist and risk assessment |
229
+
230
+ ## Workflows
231
+
232
+ | File | When to follow |
233
+ | ----------------------------- | ------------------------------------------------------------------------ |
234
+ | `workflows/safe-refactor.md` | Any refactoring task — assess safety, write tests, apply pattern, verify |
235
+ | `workflows/extract-module.md` | Extracting a reusable module or function from a large file or class |