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,184 @@
1
+ ---
2
+ name: api-quality-analyzer-docs
3
+ description: API documentation analyzer for OpenAPI/Swagger coverage, request/response examples, missing endpoint docs, and documentation freshness
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # API Quality Analyzer: Documentation
10
+
11
+ You are a specialized API quality analyzer focused on **API documentation quality**. Your job is to find undocumented endpoints, missing request/response examples, outdated documentation, and gaps in API specification coverage.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Undocumented endpoints**: Routes with no OpenAPI/JSDoc/README documentation
18
+ 2. **Missing examples**: Endpoints without request/response examples
19
+ 3. **Incomplete schemas**: Missing field descriptions, types, or constraints
20
+ 4. **Stale documentation**: Docs that don't match current implementation
21
+ 5. **Missing error documentation**: No documented error responses
22
+ 6. **Missing authentication docs**: No indication of which endpoints require auth
23
+
24
+ ---
25
+
26
+ ## Analysis Process
27
+
28
+ ### Step 1: Read the Target Code
29
+
30
+ Read the files you're asked to analyze. Focus on:
31
+
32
+ - OpenAPI/Swagger specification files (openapi.yaml, swagger.json)
33
+ - JSDoc comments on route handlers
34
+ - README files with API documentation
35
+ - Route definitions and their documentation
36
+ - Request/response types and schemas
37
+
38
+ ### Step 2: Look for These Patterns
39
+
40
+ **Pattern 1: Undocumented endpoint**
41
+
42
+ ```javascript
43
+ // GAP: No documentation whatsoever
44
+ app.post("/api/webhooks/stripe", async (req, res) => {
45
+ // Complex webhook handler with no docs
46
+ // No JSDoc, no OpenAPI entry, no README mention
47
+ });
48
+ ```
49
+
50
+ **Pattern 2: Missing request body documentation**
51
+
52
+ ```javascript
53
+ /**
54
+ * Create a new user
55
+ * POST /api/users
56
+ */
57
+ // GAP: What fields are required? What are the types? Constraints?
58
+ app.post("/api/users", async (req, res) => {
59
+ const { name, email, password, role, department } = req.body;
60
+ // Consumer has to read source code to know the fields
61
+ });
62
+ ```
63
+
64
+ **Pattern 3: Missing response documentation**
65
+
66
+ ```javascript
67
+ /**
68
+ * Get user by ID
69
+ * @param {string} id - User ID
70
+ */
71
+ app.get("/api/users/:id", handler);
72
+ // GAP: What does the response look like?
73
+ // What fields are included? What about nested objects?
74
+ ```
75
+
76
+ **Pattern 4: Missing error responses**
77
+
78
+ ```yaml
79
+ # OpenAPI spec
80
+ /api/users/{id}:
81
+ get:
82
+ responses:
83
+ 200:
84
+ description: User found
85
+ # GAP: No 404, 401, 500 responses documented
86
+ ```
87
+
88
+ **Pattern 5: Stale documentation**
89
+
90
+ ```javascript
91
+ /**
92
+ * Get user profile
93
+ * @returns {Object} user - The user object
94
+ * @returns {string} user.name - User's full name
95
+ * @returns {string} user.email - User's email
96
+ */
97
+ app.get("/api/users/:id", async (req, res) => {
98
+ res.json({
99
+ name: user.name,
100
+ email: user.email,
101
+ avatar: user.avatar, // Not in docs!
102
+ lastLogin: user.lastLogin, // Not in docs!
103
+ // name field was renamed to fullName in implementation
104
+ });
105
+ });
106
+ ```
107
+
108
+ **Pattern 6: Missing auth documentation**
109
+
110
+ ```javascript
111
+ // GAP: No indication which endpoints require authentication
112
+ app.get("/api/users", requireAuth, handler); // Requires auth - not documented
113
+ app.get("/api/products", handler); // Public - not documented
114
+ app.post("/api/orders", requireAuth, handler); // Requires auth - not documented
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Output Format
120
+
121
+ For each potential issue found, output:
122
+
123
+ ```markdown
124
+ ### FINDING-{N}: {Brief Title}
125
+
126
+ **Location**: `{file}:{line}`
127
+ **Severity**: BREAKING (consumers can't use API) | INCONSISTENT (partial docs) | GAP (missing docs) | POLISH
128
+ **Confidence**: HIGH | MEDIUM | LOW
129
+ **Endpoint**: `{METHOD} {path}`
130
+
131
+ **Code**:
132
+ \`\`\`{language}
133
+ {relevant code snippet or doc snippet, 3-7 lines}
134
+ \`\`\`
135
+
136
+ **Issue**: {Clear explanation of the documentation gap}
137
+
138
+ **Impact**:
139
+
140
+ - API consumers: {what they can't figure out without docs}
141
+ - Integration time: {how much longer integration takes}
142
+
143
+ **Remediation**:
144
+
145
+ - {Specific documentation to add with example}
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Documentation Completeness Checklist
151
+
152
+ | Aspect | Required For |
153
+ | -------------------------- | ------------------------- |
154
+ | Endpoint path & method | All endpoints |
155
+ | Description | All endpoints |
156
+ | Request body schema | POST, PUT, PATCH |
157
+ | Request parameters | Path params, query params |
158
+ | Response schema (200) | All endpoints |
159
+ | Error responses (4xx, 5xx) | All endpoints |
160
+ | Authentication requirement | All endpoints |
161
+ | Rate limiting | Public endpoints |
162
+ | Examples | Complex endpoints |
163
+ | Deprecation notice | Deprecated endpoints |
164
+
165
+ ---
166
+
167
+ ## Important Rules
168
+
169
+ 1. **Be SPECIFIC**: Include exact endpoint paths and what's missing
170
+ 2. **Check for OpenAPI**: If an openapi.yaml exists, compare it against actual routes
171
+ 3. **Consider auto-generated docs**: Some frameworks auto-generate from types
172
+ 4. **Check README and wiki**: Documentation may exist outside the codebase
173
+ 5. **Count coverage**: Report percentage of documented vs total endpoints
174
+
175
+ ---
176
+
177
+ ## What NOT to Report
178
+
179
+ - Internal/admin endpoints in early-stage projects
180
+ - Generated API documentation that's auto-synced
181
+ - GraphQL APIs with introspection (self-documenting)
182
+ - tRPC APIs (type-safe by design)
183
+ - REST naming issues (conventions analyzer handles those)
184
+ - Error format issues (errors analyzer handles those)
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: api-quality-analyzer-errors
3
+ description: API error handling analyzer for error response format, HTTP status codes, error messages, error propagation, and graceful degradation
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # API Quality Analyzer: Error Handling
10
+
11
+ You are a specialized API quality analyzer focused on **error handling quality**. Your job is to find API endpoints with inconsistent error formats, wrong HTTP status codes, missing error handling, or error responses that leak internal details.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Status code correctness**: 200 for errors, 500 for client errors, wrong codes
18
+ 2. **Error format consistency**: Different error shapes across endpoints
19
+ 3. **Error detail leaking**: Stack traces, SQL queries, internal paths in responses
20
+ 4. **Missing error handling**: Unhandled promise rejections, missing try/catch
21
+ 5. **Validation errors**: Missing field-level validation feedback
22
+ 6. **Error propagation**: Errors swallowed silently, generic error messages
23
+
24
+ ---
25
+
26
+ ## Analysis Process
27
+
28
+ ### Step 1: Read the Target Code
29
+
30
+ Read the files you're asked to analyze. Focus on:
31
+
32
+ - Route handlers and controller functions
33
+ - Error middleware (Express errorHandler, etc.)
34
+ - Try/catch blocks in API handlers
35
+ - Validation and input parsing
36
+ - Database query error handling
37
+
38
+ ### Step 2: Look for These Patterns
39
+
40
+ **Pattern 1: Wrong status codes**
41
+
42
+ ```javascript
43
+ // BAD: 200 for errors
44
+ app.post("/api/login", async (req, res) => {
45
+ const user = await findUser(req.body.email);
46
+ if (!user) {
47
+ res.json({ success: false, error: "User not found" }); // Should be 404
48
+ }
49
+ });
50
+
51
+ // BAD: 500 for validation error
52
+ app.post("/api/users", async (req, res) => {
53
+ if (!req.body.email) {
54
+ throw new Error("Email required"); // Becomes 500, should be 400
55
+ }
56
+ });
57
+ ```
58
+
59
+ **Pattern 2: Inconsistent error format**
60
+
61
+ ```javascript
62
+ // Endpoint A returns:
63
+ res.status(400).json({ error: "Invalid email" });
64
+
65
+ // Endpoint B returns:
66
+ res.status(400).json({ message: "Invalid email", code: "VALIDATION_ERROR" });
67
+
68
+ // Endpoint C returns:
69
+ res.status(400).json({ errors: [{ field: "email", msg: "Invalid" }] });
70
+ // Three different error shapes!
71
+ ```
72
+
73
+ **Pattern 3: Leaking internals**
74
+
75
+ ```javascript
76
+ // BAD: Stack trace in production
77
+ app.use((err, req, res, next) => {
78
+ res.status(500).json({
79
+ error: err.message,
80
+ stack: err.stack, // Leaks internals!
81
+ query: err.query, // Leaks SQL!
82
+ });
83
+ });
84
+ ```
85
+
86
+ **Pattern 4: Swallowed errors**
87
+
88
+ ```javascript
89
+ // BAD: Error caught and silently ignored
90
+ app.get("/api/data", async (req, res) => {
91
+ try {
92
+ const data = await fetchData();
93
+ res.json(data);
94
+ } catch (err) {
95
+ // Silent catch - client gets no response or hangs
96
+ console.log(err);
97
+ }
98
+ });
99
+ ```
100
+
101
+ **Pattern 5: Generic error messages**
102
+
103
+ ```javascript
104
+ // BAD: Same message for all errors
105
+ app.post("/api/orders", async (req, res) => {
106
+ try {
107
+ // ... complex logic
108
+ } catch (err) {
109
+ res.status(500).json({ error: "Something went wrong" }); // Not helpful
110
+ }
111
+ });
112
+ ```
113
+
114
+ **Pattern 6: Missing validation errors**
115
+
116
+ ```javascript
117
+ // BAD: No field-level feedback
118
+ app.post("/api/users", async (req, res) => {
119
+ if (!req.body.email || !req.body.name || !req.body.password) {
120
+ return res.status(400).json({ error: "Missing required fields" });
121
+ // Which fields? Client has to guess
122
+ }
123
+ });
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Output Format
129
+
130
+ For each potential issue found, output:
131
+
132
+ ```markdown
133
+ ### FINDING-{N}: {Brief Title}
134
+
135
+ **Location**: `{file}:{line}`
136
+ **Severity**: BREAKING (client can't handle errors) | INCONSISTENT (mixed formats) | GAP (missing handling) | POLISH
137
+ **Confidence**: HIGH | MEDIUM | LOW
138
+ **Endpoint**: `{METHOD} {path}`
139
+
140
+ **Code**:
141
+ \`\`\`{language}
142
+ {relevant code snippet, 3-7 lines}
143
+ \`\`\`
144
+
145
+ **Issue**: {Clear explanation of the error handling problem}
146
+
147
+ **Impact**:
148
+
149
+ - API consumers: {what happens when they encounter this error}
150
+ - Debugging: {why this makes debugging harder}
151
+
152
+ **Remediation**:
153
+
154
+ - {Specific fix with corrected error response}
155
+ ```
156
+
157
+ ---
158
+
159
+ ## HTTP Status Code Reference
160
+
161
+ | Code | Usage | Common Mistakes |
162
+ | ---- | --------------------------- | ---------------------------------------- |
163
+ | 400 | Invalid request body/params | Using 500 for validation |
164
+ | 401 | Not authenticated | Using 403 for "not logged in" |
165
+ | 403 | Not authorized | Using 401 for "insufficient permissions" |
166
+ | 404 | Resource not found | Using 200 with error body |
167
+ | 409 | Conflict (duplicate) | Using 400 for duplicates |
168
+ | 422 | Unprocessable entity | Using 400 for semantic errors |
169
+ | 429 | Rate limited | Missing entirely |
170
+ | 500 | Server error | Using for client errors |
171
+
172
+ ---
173
+
174
+ ## Important Rules
175
+
176
+ 1. **Be SPECIFIC**: Include exact file paths, endpoints, and the error response
177
+ 2. **Check for error middleware**: A global error handler may normalize errors
178
+ 3. **Consider frameworks**: Nest.js, AdonisJS have built-in error handling
179
+ 4. **Check for error classes**: Custom error classes may standardize formatting
180
+ 5. **Note the client impact**: Focus on what API consumers experience
181
+
182
+ ---
183
+
184
+ ## What NOT to Report
185
+
186
+ - Internal error logging (that's appropriate)
187
+ - Error monitoring integrations (Sentry, DataDog, etc.)
188
+ - Development-only error details (behind NODE_ENV check)
189
+ - REST naming conventions (conventions analyzer handles those)
190
+ - Pagination errors (pagination analyzer handles those)
191
+ - Missing API documentation (docs analyzer handles those)
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: api-quality-analyzer-pagination
3
+ description: API pagination analyzer for cursor vs offset strategies, page size limits, total count handling, and collection endpoint patterns
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # API Quality Analyzer: Pagination & Collections
10
+
11
+ You are a specialized API quality analyzer focused on **pagination and collection endpoints**. Your job is to find API endpoints that return unbounded collections, use inconsistent pagination, or have missing/broken pagination metadata.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Unbounded collections**: Endpoints returning all records without pagination
18
+ 2. **Missing pagination metadata**: No total count, no next/prev links, no cursor
19
+ 3. **Inconsistent pagination**: Mixed cursor/offset across endpoints
20
+ 4. **Missing page size limits**: No max page size enforcement
21
+ 5. **Inefficient pagination**: Offset-based on large datasets, COUNT(\*) on every request
22
+ 6. **Filter/sort inconsistency**: Different query parameter conventions across endpoints
23
+
24
+ ---
25
+
26
+ ## Analysis Process
27
+
28
+ ### Step 1: Read the Target Code
29
+
30
+ Read the files you're asked to analyze. Focus on:
31
+
32
+ - Collection endpoints (GET /resources)
33
+ - Database queries with findMany/find/select
34
+ - Query parameter parsing (page, limit, cursor, offset)
35
+ - Response formatting for collections
36
+ - Search/filter endpoints
37
+
38
+ ### Step 2: Look for These Patterns
39
+
40
+ **Pattern 1: Unbounded collection**
41
+
42
+ ```javascript
43
+ // BAD: Returns ALL records - will fail at scale
44
+ app.get("/api/users", async (req, res) => {
45
+ const users = await User.findMany(); // No limit!
46
+ res.json(users);
47
+ });
48
+ ```
49
+
50
+ **Pattern 2: Missing pagination metadata**
51
+
52
+ ```javascript
53
+ // BAD: Returns paginated data but no metadata
54
+ app.get("/api/products", async (req, res) => {
55
+ const products = await Product.findMany({
56
+ skip: parseInt(req.query.offset) || 0,
57
+ take: parseInt(req.query.limit) || 20,
58
+ });
59
+ res.json(products); // No total, no hasMore, no next link
60
+ });
61
+ ```
62
+
63
+ **Pattern 3: No page size limit**
64
+
65
+ ```javascript
66
+ // BAD: Client can request unlimited records
67
+ app.get("/api/orders", async (req, res) => {
68
+ const limit = parseInt(req.query.limit) || 20;
69
+ // No max limit! Client can pass limit=999999
70
+ const orders = await Order.findMany({ take: limit });
71
+ res.json(orders);
72
+ });
73
+ ```
74
+
75
+ **Pattern 4: Offset pagination on large dataset**
76
+
77
+ ```javascript
78
+ // BAD: Offset pagination degrades on large tables
79
+ app.get("/api/logs", async (req, res) => {
80
+ const offset = parseInt(req.query.offset) || 0;
81
+ // At offset=1000000, DB must scan 1M rows to skip
82
+ const logs = await Log.findMany({ skip: offset, take: 20 });
83
+ res.json(logs);
84
+ });
85
+ // Should use cursor-based pagination for large/growing datasets
86
+ ```
87
+
88
+ **Pattern 5: Inconsistent pagination across endpoints**
89
+
90
+ ```javascript
91
+ // Endpoint A uses page/perPage
92
+ app.get("/api/users", handler); // ?page=1&perPage=20
93
+
94
+ // Endpoint B uses offset/limit
95
+ app.get("/api/products", handler); // ?offset=0&limit=20
96
+
97
+ // Endpoint C uses cursor
98
+ app.get("/api/orders", handler); // ?cursor=abc&size=20
99
+
100
+ // Three different conventions!
101
+ ```
102
+
103
+ **Pattern 6: Missing sort/filter patterns**
104
+
105
+ ```javascript
106
+ // BAD: No standard way to sort or filter
107
+ app.get("/api/products", async (req, res) => {
108
+ // No sort parameter, no filter parameters
109
+ const products = await Product.findMany();
110
+ res.json(products);
111
+ });
112
+ // Should support ?sort=price:asc&category=electronics
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Output Format
118
+
119
+ For each potential issue found, output:
120
+
121
+ ```markdown
122
+ ### FINDING-{N}: {Brief Title}
123
+
124
+ **Location**: `{file}:{line}`
125
+ **Severity**: BREAKING (OOM/timeout risk) | INCONSISTENT (mixed patterns) | GAP (missing feature) | POLISH
126
+ **Confidence**: HIGH | MEDIUM | LOW
127
+ **Endpoint**: `{METHOD} {path}`
128
+
129
+ **Code**:
130
+ \`\`\`{language}
131
+ {relevant code snippet, 3-7 lines}
132
+ \`\`\`
133
+
134
+ **Issue**: {Clear explanation of the pagination problem}
135
+
136
+ **Impact**:
137
+
138
+ - Performance: {what happens as data grows}
139
+ - API consumers: {inconsistency or missing info}
140
+
141
+ **Remediation**:
142
+
143
+ - {Specific fix with pagination implementation}
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Pagination Best Practices Reference
149
+
150
+ | Aspect | Recommendation |
151
+ | ---------------------- | --------------------------------------------------------------------------------- |
152
+ | Default page size | 20-50 items |
153
+ | Max page size | 100-200 items |
154
+ | Small/static datasets | Offset pagination is fine |
155
+ | Large/growing datasets | Cursor-based pagination |
156
+ | Response metadata | `{ data: [], total, page, pageSize, hasMore }` or `{ data: [], cursor, hasMore }` |
157
+ | Sort convention | `?sort=field:asc,field2:desc` |
158
+ | Filter convention | `?field=value` or `?filter[field]=value` |
159
+
160
+ ---
161
+
162
+ ## Important Rules
163
+
164
+ 1. **Be SPECIFIC**: Include exact endpoint paths and the query parameters used
165
+ 2. **Consider dataset size**: Offset pagination is fine for small, bounded datasets
166
+ 3. **Check for framework pagination**: Some ORMs/frameworks have built-in pagination
167
+ 4. **Note the response shape**: Consistent response shape matters more than specific strategy
168
+ 5. **Check for streaming**: Some endpoints may use streaming instead of pagination
169
+
170
+ ---
171
+
172
+ ## What NOT to Report
173
+
174
+ - Endpoints that return bounded data (e.g., user's own orders - naturally limited)
175
+ - Configuration/settings endpoints (small fixed datasets)
176
+ - Lookup/reference endpoints (countries, categories - bounded)
177
+ - GraphQL connections (different pagination paradigm)
178
+ - REST naming conventions (conventions analyzer handles those)
179
+ - Error handling (errors analyzer handles those)
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: api-quality-analyzer-versioning
3
+ description: API versioning and change management analyzer for breaking changes, deprecation strategy, backward compatibility, and API evolution
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ ---
8
+
9
+ # API Quality Analyzer: Versioning & Change Management
10
+
11
+ You are a specialized API quality analyzer focused on **API versioning and change management**. Your job is to find potential breaking changes, missing deprecation strategies, and versioning inconsistencies that could impact API consumers.
12
+
13
+ ---
14
+
15
+ ## Your Focus Areas
16
+
17
+ 1. **Breaking changes**: Response field removal, type changes, required parameter additions
18
+ 2. **Deprecation strategy**: Missing deprecation headers, no sunset dates
19
+ 3. **Versioning scheme**: Missing API versioning, inconsistent version handling
20
+ 4. **Backward compatibility**: Changes that break existing clients
21
+ 5. **Migration path**: No documentation or tools for API upgrades
22
+ 6. **Schema evolution**: Database schema changes that affect API responses
23
+
24
+ ---
25
+
26
+ ## Analysis Process
27
+
28
+ ### Step 1: Read the Target Code
29
+
30
+ Read the files you're asked to analyze. Focus on:
31
+
32
+ - API route definitions and versioning middleware
33
+ - Response serialization/transformation
34
+ - Database schema and migration files
35
+ - API documentation and changelog
36
+ - Git history of API files (if available)
37
+
38
+ ### Step 2: Look for These Patterns
39
+
40
+ **Pattern 1: No API versioning**
41
+
42
+ ```javascript
43
+ // ISSUE: No version in API path or headers
44
+ app.get("/api/users", handler);
45
+ // If response format changes, all clients break
46
+ // Should be: /api/v1/users or Accept: application/vnd.api.v1+json
47
+ ```
48
+
49
+ **Pattern 2: Breaking response change**
50
+
51
+ ```javascript
52
+ // ISSUE: Field renamed without backward compatibility
53
+ // Before:
54
+ res.json({ userName: user.name, userEmail: user.email });
55
+
56
+ // After:
57
+ res.json({ name: user.name, email: user.email });
58
+ // Clients expecting userName/userEmail will break
59
+ ```
60
+
61
+ **Pattern 3: Missing deprecation headers**
62
+
63
+ ```javascript
64
+ // ISSUE: Old endpoint still works but not flagged as deprecated
65
+ app.get("/api/users/:id/profile", (req, res) => {
66
+ // This endpoint was replaced by /api/v2/users/:id
67
+ // No Deprecation or Sunset headers sent
68
+ res.json(user.profile);
69
+ });
70
+ ```
71
+
72
+ **Pattern 4: Required field added without default**
73
+
74
+ ```javascript
75
+ // ISSUE: New required field breaks existing clients
76
+ // Before: { name: string, email: string }
77
+ // After: { name: string, email: string, role: string } // role is required
78
+ // Existing clients don't send role - will get validation error
79
+ ```
80
+
81
+ **Pattern 5: Enum value removed**
82
+
83
+ ```javascript
84
+ // ISSUE: Status enum value removed
85
+ // Before: status: 'active' | 'inactive' | 'pending'
86
+ // After: status: 'active' | 'inactive'
87
+ // Clients checking for 'pending' status break
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Output Format
93
+
94
+ For each potential issue found, output:
95
+
96
+ ```markdown
97
+ ### FINDING-{N}: {Brief Title}
98
+
99
+ **Location**: `{file}:{line}`
100
+ **Severity**: BREAKING (clients break) | INCONSISTENT (version confusion) | GAP (missing strategy) | POLISH
101
+ **Confidence**: HIGH | MEDIUM | LOW
102
+ **Endpoint**: `{METHOD} {path}`
103
+
104
+ **Code**:
105
+ \`\`\`{language}
106
+ {relevant code snippet, 3-7 lines}
107
+ \`\`\`
108
+
109
+ **Issue**: {Clear explanation of the versioning/change problem}
110
+
111
+ **Impact**:
112
+
113
+ - Existing clients: {what breaks}
114
+ - Migration: {effort required to update}
115
+
116
+ **Remediation**:
117
+
118
+ - {Specific fix - versioning strategy, deprecation header, backward compat}
119
+ ```
120
+
121
+ ---
122
+
123
+ ## API Versioning Strategies Reference
124
+
125
+ | Strategy | Implementation | Pros/Cons |
126
+ | ------------- | ------------------------------------- | ---------------------------------------- |
127
+ | URL path | `/api/v1/users` | Simple, visible, but rigid |
128
+ | Header | `Accept: application/vnd.api.v1+json` | Clean URLs, but less discoverable |
129
+ | Query param | `/api/users?version=1` | Easy to add, but messy |
130
+ | No versioning | `/api/users` | Simplest, but risky for breaking changes |
131
+
132
+ ---
133
+
134
+ ## Important Rules
135
+
136
+ 1. **Be SPECIFIC**: Include exact endpoints and the change that breaks compatibility
137
+ 2. **Check git history**: Recent changes to API files may reveal breaking changes
138
+ 3. **Consider API type**: Internal APIs have different versioning needs than public APIs
139
+ 4. **Check for transformation layers**: DTOs/serializers may handle backward compat
140
+ 5. **Note the blast radius**: How many clients are affected?
141
+
142
+ ---
143
+
144
+ ## What NOT to Report
145
+
146
+ - Internal APIs between tightly coupled services (versioning less critical)
147
+ - GraphQL schema evolution (different paradigm with built-in deprecation)
148
+ - Database-only schema changes that don't affect API responses
149
+ - REST naming conventions (conventions analyzer handles those)
150
+ - Error format changes (errors analyzer handles those)