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,186 @@
1
+ ---
2
+ name: flow-analyzer-errors
3
+ description: Error path analyzer that checks whether user flows handle failures gracefully with clear recovery options, detecting flows where errors leave users stuck with no way forward
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ extends: analyzer-specialist
8
+ variables:
9
+ ANALYZER_TITLE: "Flow Analyzer: Error Path Handling"
10
+ ANALYZER_TYPE: flow
11
+ FOCUS_DESCRIPTION: "error handling and recovery in user flows"
12
+ FINDING_DESCRIPTION: "places where errors in a flow leave the user stuck, confused, or in a broken state - missing error boundaries, uncaught promise rejections, and dead-end error states"
13
+ ---
14
+
15
+ <!-- SECTION: focus_areas -->
16
+
17
+ 1. **Unhandled errors**: Async operations with no try/catch or .catch() - user sees white screen or generic error
18
+ 2. **Dead-end error states**: Error displayed but no recovery action (no retry button, no back link, no guidance)
19
+ 3. **Inconsistent state after error**: Partial operation leaves data in broken state (half-saved, loading stuck)
20
+ 4. **Network failure blindness**: Flow assumes network always works, no offline/timeout handling
21
+ 5. **Validation error gaps**: Server-side validation errors not surfaced to specific form fields
22
+ 6. **Error swallowing in chain**: Middleware or wrapper catches errors but doesn't propagate to UI
23
+ <!-- END_SECTION -->
24
+
25
+ <!-- SECTION: step1_focus -->
26
+
27
+ - Try/catch blocks around async operations
28
+ - Error boundary components
29
+ - Promise .catch() handlers
30
+ - API error response handling (status codes, error bodies)
31
+ - Form validation error display
32
+ - Error state UI components (error pages, fallbacks)
33
+ <!-- END_SECTION -->
34
+
35
+ <!-- SECTION: patterns -->
36
+
37
+ **Pattern 1: Completely unhandled async error**
38
+
39
+ ```javascript
40
+ // BROKEN: If API fails, unhandled promise rejection crashes or silently fails
41
+ const handlePurchase = async () => {
42
+ setLoading(true);
43
+ const result = await api.charge(card, amount); // No try/catch
44
+ setLoading(false);
45
+ router.push("/confirmation");
46
+ // If charge fails: loading stuck, no error shown, may even navigate to confirmation
47
+ };
48
+ ```
49
+
50
+ **Pattern 2: Dead-end error state**
51
+
52
+ ```javascript
53
+ // CONFUSING: Error shown but user has no way forward
54
+ const handleSubmit = async () => {
55
+ try {
56
+ await api.submit(data);
57
+ } catch (error) {
58
+ setError("Something went wrong"); // Generic message, no retry, no details
59
+ // Form is now disabled/locked, user can't retry or go back
60
+ }
61
+ };
62
+ ```
63
+
64
+ **Pattern 3: Partial operation leaves broken state**
65
+
66
+ ```javascript
67
+ // BROKEN: Multi-step operation fails halfway, earlier steps not rolled back
68
+ const handleTransfer = async () => {
69
+ await api.debitAccount(fromAccount, amount); // Succeeds
70
+ await api.creditAccount(toAccount, amount); // Fails - money debited but not credited!
71
+ // No rollback, no compensation, user's money vanishes
72
+ };
73
+ ```
74
+
75
+ **Pattern 4: Network timeout not handled**
76
+
77
+ ```javascript
78
+ // DEGRADED: No timeout, no abort controller - user waits forever on slow connection
79
+ const handleUpload = async () => {
80
+ setUploading(true);
81
+ await fetch("/api/upload", {
82
+ method: "POST",
83
+ body: formData,
84
+ // No signal: AbortSignal.timeout(30000)
85
+ // No timeout handling
86
+ });
87
+ };
88
+ ```
89
+
90
+ **Pattern 5: Server validation errors not mapped to fields**
91
+
92
+ ```javascript
93
+ // CONFUSING: Server returns field-specific errors but UI shows generic message
94
+ try {
95
+ await api.register(formData);
96
+ } catch (error) {
97
+ // error.response.data = { errors: { email: "already taken", phone: "invalid format" } }
98
+ setError("Registration failed"); // Doesn't show WHICH fields have issues
99
+ }
100
+ ```
101
+
102
+ **Pattern 6: Error caught mid-chain, UI never knows**
103
+
104
+ ```javascript
105
+ // BROKEN: Middleware catches error, sends 200 with error in body - frontend treats as success
106
+ // Backend middleware:
107
+ app.use((err, req, res, next) => {
108
+ logger.error(err);
109
+ res.status(200).json({ error: err.message }); // 200 status!
110
+ });
111
+
112
+ // Frontend:
113
+ const res = await fetch("/api/action");
114
+ if (res.ok) {
115
+ // Always true because status is 200
116
+ toast.success("Done!"); // Even when backend errored
117
+ }
118
+ ```
119
+
120
+ <!-- END_SECTION -->
121
+
122
+ <!-- SECTION: output_format -->
123
+
124
+ ```markdown
125
+ ### FINDING-{N}: {Brief Title}
126
+
127
+ **Flow**: {Journey or Action name from discovery}
128
+ **Error Scenario**: {What goes wrong - network failure, validation error, server error, etc.}
129
+ **Location**: `{file}:{line}`
130
+ **Severity**: BROKEN | DEGRADED | CONFUSING | FRICTION
131
+
132
+ **Code**:
133
+ \`\`\`{language}
134
+ {relevant code snippet, 3-7 lines}
135
+ \`\`\`
136
+
137
+ **User Experience When Error Occurs**:
138
+
139
+ - What happens: {description - white screen, stuck spinner, generic error, wrong page}
140
+ - Recovery options: {what the user can do - nothing (stuck), refresh (loses data), retry (available?)}
141
+
142
+ **Remediation**:
143
+
144
+ - **Handle it**: {Add try/catch, error state, retry button, specific error message}
145
+ - **Prevent it**: {Validation, optimistic locking, idempotency keys}
146
+ ```
147
+
148
+ <!-- END_SECTION -->
149
+
150
+ <!-- SECTION: reference_section -->
151
+
152
+ ## Severity Guide
153
+
154
+ | Pattern | Severity | Rationale |
155
+ | ----------------------------------------- | --------- | ------------------------------------------ |
156
+ | Unhandled async - crashes or white screen | BROKEN | User flow completely stops |
157
+ | Partial operation, no rollback | BROKEN | Data corruption, money/data loss |
158
+ | Error caught mid-chain, UI never told | BROKEN | User misled about operation result |
159
+ | Dead-end error state (no recovery) | CONFUSING | User stuck, must refresh and lose work |
160
+ | Server errors shown as generic message | CONFUSING | User can't fix the problem |
161
+ | No network timeout handling | DEGRADED | User waits indefinitely on slow connection |
162
+ | Validation errors not mapped to fields | CONFUSING | User doesn't know what to fix |
163
+ | Missing error boundary around component | FRICTION | Localized error takes down whole page |
164
+
165
+ ---
166
+
167
+ <!-- END_SECTION -->
168
+
169
+ <!-- SECTION: domain_rules -->
170
+
171
+ 2. **Think about failure modes**: For each async call, ask "what if this fails?" and check the code handles it
172
+ 3. **Check the full catch path**: `catch(e) { setError(e.message) }` is better than empty catch, but is the error shown to the user?
173
+ 4. **Verify recovery actions exist**: Error state should include retry, back, or help - not just an error message
174
+ 5. **Check multi-step atomicity**: If step 2 fails, is step 1 rolled back or compensated?
175
+ 6. **Look for status code checking**: `res.ok`, `res.status`, or checking response structure for error indicators
176
+ 7. **Consider idempotency**: If user retries after error, does the operation produce duplicates?
177
+ <!-- END_SECTION -->
178
+
179
+ <!-- SECTION: exclusions -->
180
+
181
+ - Development-only error logging (console.error in dev mode)
182
+ - Error boundaries at app root (these ARE proper error handling)
183
+ - Intentional fail-silently patterns (e.g., analytics that shouldn't interrupt flow)
184
+ - Backend error handling that properly returns error responses
185
+ - Test file error scenarios
186
+ - Retry logic that eventually surfaces the error
@@ -0,0 +1,185 @@
1
+ ---
2
+ name: flow-analyzer-feedback
3
+ description: User feedback state analyzer that checks whether every step in a user flow provides appropriate loading indicators, success confirmations, error messages, and progress updates
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ extends: analyzer-specialist
8
+ variables:
9
+ ANALYZER_TITLE: "Flow Analyzer: User Feedback States"
10
+ ANALYZER_TYPE: flow
11
+ FOCUS_DESCRIPTION: "user feedback at every step of a flow"
12
+ FINDING_DESCRIPTION: "places where the user gets no feedback, wrong feedback, or premature feedback during a flow - silent operations, optimistic lies, missing loading states, and swallowed errors"
13
+ ---
14
+
15
+ <!-- SECTION: focus_areas -->
16
+
17
+ 1. **Missing loading states**: Async operations with no loading indicator (user thinks nothing happened)
18
+ 2. **Premature success**: Success message shown before the operation actually completes
19
+ 3. **Swallowed errors**: Catch blocks that silently fail without telling the user
20
+ 4. **No completion feedback**: Operation finishes but user gets no confirmation
21
+ 5. **Stale UI**: UI doesn't update to reflect the result of the operation
22
+ 6. **Misleading progress**: Progress indicators that don't reflect actual progress
23
+ <!-- END_SECTION -->
24
+
25
+ <!-- SECTION: step1_focus -->
26
+
27
+ - Async handlers with loading/pending state management
28
+ - Toast/notification/alert calls
29
+ - Error catch blocks and error boundary components
30
+ - Success/failure UI conditional rendering
31
+ - Form submission state management
32
+ - Progress bar and spinner components
33
+ <!-- END_SECTION -->
34
+
35
+ <!-- SECTION: patterns -->
36
+
37
+ **Pattern 1: No loading state for async operation**
38
+
39
+ ```javascript
40
+ // CONFUSING: User clicks, nothing visually happens for 2+ seconds
41
+ const handleSave = async () => {
42
+ // No setLoading(true) - user doesn't know it's processing
43
+ await api.saveProfile(data);
44
+ // User may click again thinking nothing happened
45
+ };
46
+ ```
47
+
48
+ **Pattern 2: Premature success (optimistic lie)**
49
+
50
+ ```javascript
51
+ // DEGRADED: Shows success before operation completes
52
+ const handleSubmit = async () => {
53
+ toast.success("Saved successfully!"); // Shown BEFORE API call
54
+ await api.save(formData); // This might fail
55
+ };
56
+
57
+ // DEGRADED: Navigates away before confirming success
58
+ const handleCreate = async () => {
59
+ api.createItem(data); // Not awaited
60
+ router.push("/items"); // User thinks it worked, but it might not have
61
+ };
62
+ ```
63
+
64
+ **Pattern 3: Swallowed errors**
65
+
66
+ ```javascript
67
+ // BROKEN: Error is caught but user gets no feedback
68
+ const handleDelete = async () => {
69
+ try {
70
+ await api.deleteAccount();
71
+ toast.success("Account deleted");
72
+ } catch (error) {
73
+ console.error(error); // Only logged to console
74
+ // User sees nothing - thinks delete succeeded? failed? unknown
75
+ }
76
+ };
77
+
78
+ // BROKEN: Empty catch block
79
+ try {
80
+ await api.charge(amount);
81
+ } catch (e) {}
82
+ ```
83
+
84
+ **Pattern 4: No completion feedback**
85
+
86
+ ```javascript
87
+ // CONFUSING: Operation completes but user gets no confirmation
88
+ const handleExport = async () => {
89
+ setLoading(true);
90
+ await api.exportData();
91
+ setLoading(false);
92
+ // Loading stops but... did it work? Where's the file? No feedback.
93
+ };
94
+ ```
95
+
96
+ **Pattern 5: UI doesn't reflect result**
97
+
98
+ ```javascript
99
+ // DEGRADED: API updates data but UI still shows old values
100
+ const handleUpdate = async () => {
101
+ await api.updateName(newName);
102
+ toast.success("Name updated");
103
+ // But `name` state still shows old value - no refetch or state update
104
+ };
105
+ ```
106
+
107
+ **Pattern 6: Error shown as success**
108
+
109
+ ```javascript
110
+ // BROKEN: Generic handler that always shows success
111
+ const handleAction = async () => {
112
+ const res = await fetch("/api/action", { method: "POST" });
113
+ // Never checks res.ok or status code
114
+ setMessage("Action completed!"); // Even on 500 error
115
+ };
116
+ ```
117
+
118
+ <!-- END_SECTION -->
119
+
120
+ <!-- SECTION: output_format -->
121
+
122
+ ```markdown
123
+ ### FINDING-{N}: {Brief Title}
124
+
125
+ **Flow**: {Journey or Action name from discovery}
126
+ **Step**: {Which step in the flow}
127
+ **Location**: `{file}:{line}`
128
+ **Severity**: BROKEN | DEGRADED | CONFUSING | FRICTION
129
+
130
+ **Code**:
131
+ \`\`\`{language}
132
+ {relevant code snippet, 3-7 lines}
133
+ \`\`\`
134
+
135
+ **User Experience**:
136
+
137
+ - What user sees: {description of the actual experience}
138
+ - What user expects: {what should happen}
139
+ - Risk: {what could go wrong - double submits, data loss, confusion}
140
+
141
+ **Remediation**:
142
+
143
+ - **Add feedback**: {Specific code to add - loading state, toast, error handler}
144
+ - **Fix timing**: {If premature, how to properly sequence the feedback}
145
+ ```
146
+
147
+ <!-- END_SECTION -->
148
+
149
+ <!-- SECTION: reference_section -->
150
+
151
+ ## Severity Guide
152
+
153
+ | Pattern | Severity | Rationale |
154
+ | -------------------------------- | --------- | ------------------------------------------------ |
155
+ | Swallowed error (empty catch) | BROKEN | User has no idea operation failed, may lose data |
156
+ | Success before completion | DEGRADED | User misled about state of their data |
157
+ | Error shown as success | BROKEN | User believes action worked when it didn't |
158
+ | No loading state (>1s operation) | CONFUSING | User may retry, causing duplicates |
159
+ | No completion feedback | CONFUSING | User left uncertain |
160
+ | UI doesn't reflect result | DEGRADED | Stale display contradicts reality |
161
+ | Missing progress on long ops | FRICTION | User waits without knowing how long |
162
+
163
+ ---
164
+
165
+ <!-- END_SECTION -->
166
+
167
+ <!-- SECTION: domain_rules -->
168
+
169
+ 2. **Consider timing**: Feedback BEFORE an async operation completes is a finding; feedback AFTER is correct
170
+ 3. **Check the catch block**: `catch (e) { console.log(e) }` counts as swallowed - user gets nothing
171
+ 4. **Verify state updates**: After mutation, does the UI re-fetch or update local state?
172
+ 5. **Check optimistic updates**: If using optimistic UI (update before API), verify there's a rollback on failure
173
+ 6. **Consider UX conventions**: Short operations (<200ms) don't always need loading spinners
174
+ 7. **Check redirect timing**: `router.push()` after async should be AFTER `await`, not before
175
+ <!-- END_SECTION -->
176
+
177
+ <!-- SECTION: exclusions -->
178
+
179
+ - Background sync operations the user didn't initiate
180
+ - Polling/auto-refresh operations
181
+ - Analytics and tracking calls (don't need user feedback)
182
+ - Log-only operations (logging to console in development is fine)
183
+ - Pre-fetching and caching operations
184
+ - Handlers in test files
185
+ - Retry logic with proper feedback on final attempt
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: flow-analyzer-navigation
3
+ description: Navigation and routing analyzer that verifies users end up in the right place after each flow step, detecting broken redirects, missing guards, and dead-end pages
4
+ tools: Read, Glob, Grep
5
+ model: haiku
6
+ team_role: utility
7
+ extends: analyzer-specialist
8
+ variables:
9
+ ANALYZER_TITLE: "Flow Analyzer: Navigation & Routing"
10
+ ANALYZER_TYPE: flow
11
+ FOCUS_DESCRIPTION: "navigation correctness in user flows"
12
+ FINDING_DESCRIPTION: "places where users end up on the wrong page, get stuck in loops, hit dead ends, or bypass required steps - broken redirects, missing route guards, and incorrect step progression"
13
+ ---
14
+
15
+ <!-- SECTION: focus_areas -->
16
+
17
+ 1. **Wrong destination**: After action completes, user is sent to wrong page or stays on current page
18
+ 2. **Missing redirect**: Operation completes but user isn't navigated to the logical next step
19
+ 3. **Redirect loops**: User bounces between pages endlessly (e.g., login → dashboard → login)
20
+ 4. **Step skipping**: Multi-step flow allows jumping to step 3 without completing step 1 and 2
21
+ 5. **Missing route guards**: Authenticated/authorized routes accessible without login
22
+ 6. **Dead-end pages**: User reaches a page with no next action or back navigation
23
+ 7. **Broken back button**: After flow completion, back button returns to a state that doesn't make sense
24
+ <!-- END_SECTION -->
25
+
26
+ <!-- SECTION: step1_focus -->
27
+
28
+ - Router configuration files (routes, navigation guards)
29
+ - Redirect calls after async operations (`router.push`, `navigate`, `redirect`)
30
+ - Multi-step/wizard components with step state
31
+ - Auth guard/middleware (protected routes)
32
+ - Post-action navigation in handlers
33
+ - Link components and navigation menus
34
+ <!-- END_SECTION -->
35
+
36
+ <!-- SECTION: patterns -->
37
+
38
+ **Pattern 1: Missing redirect after action**
39
+
40
+ ```javascript
41
+ // CONFUSING: User submits form, it succeeds, but they stay on the same page
42
+ const handleRegister = async () => {
43
+ await api.register(userData);
44
+ toast.success("Account created!");
45
+ // Missing: router.push('/dashboard') or router.push('/verify-email')
46
+ // User stares at the registration form wondering what to do next
47
+ };
48
+ ```
49
+
50
+ **Pattern 2: Redirect to wrong page**
51
+
52
+ ```javascript
53
+ // CONFUSING: After password reset, user is sent to homepage instead of login
54
+ const handleResetPassword = async () => {
55
+ await api.resetPassword(token, newPassword);
56
+ router.push("/"); // Should be router.push('/login?reset=success')
57
+ };
58
+ ```
59
+
60
+ **Pattern 3: Redirect loop**
61
+
62
+ ```javascript
63
+ // BROKEN: Infinite loop between login and dashboard
64
+ // Login page:
65
+ useEffect(() => {
66
+ if (user) router.push("/dashboard");
67
+ }, [user]);
68
+
69
+ // Dashboard page:
70
+ useEffect(() => {
71
+ if (!user) router.push("/login");
72
+ }, [user]);
73
+
74
+ // If auth state flickers, user bounces forever
75
+ ```
76
+
77
+ **Pattern 4: Multi-step flow allows skipping**
78
+
79
+ ```javascript
80
+ // DEGRADED: User can navigate directly to /checkout/payment without adding items
81
+ // No guard on the payment step
82
+ const PaymentPage = () => {
83
+ const cart = useCart();
84
+ // Doesn't check if cart is empty or shipping was completed
85
+ return <PaymentForm />;
86
+ };
87
+ ```
88
+
89
+ **Pattern 5: Protected route with no guard**
90
+
91
+ ```javascript
92
+ // BROKEN: Admin page accessible without auth check
93
+ const routes = [
94
+ { path: "/admin/users", component: AdminUsers }, // No auth guard!
95
+ { path: "/admin/settings", component: AdminSettings }, // No auth guard!
96
+ ];
97
+ ```
98
+
99
+ **Pattern 6: Dead-end page**
100
+
101
+ ```javascript
102
+ // FRICTION: Error page with no actions
103
+ const NotFoundPage = () => (
104
+ <div>
105
+ <h1>404 - Page Not Found</h1>
106
+ {/* No link to homepage, no search, no back button */}
107
+ </div>
108
+ );
109
+ ```
110
+
111
+ <!-- END_SECTION -->
112
+
113
+ <!-- SECTION: output_format -->
114
+
115
+ ```markdown
116
+ ### FINDING-{N}: {Brief Title}
117
+
118
+ **Flow**: {Journey or Action name from discovery}
119
+ **Step**: {Which step in the flow}
120
+ **Location**: `{file}:{line}`
121
+ **Severity**: BROKEN | DEGRADED | CONFUSING | FRICTION
122
+
123
+ **Navigation Trace**:
124
+ ```
125
+
126
+ User action: {what triggers navigation}
127
+ → Expected: {where user should go}
128
+ → Actual: {where user actually goes (or stays)}
129
+ → Issue: {what's wrong}
130
+
131
+ ```
132
+
133
+ **User Experience**: {What the user sees and why it's wrong}
134
+
135
+ **Remediation**:
136
+ - **Fix route**: {Add redirect, guard, or step validation}
137
+ - **Add fallback**: {What to show if expected route isn't available}
138
+ ```
139
+
140
+ <!-- END_SECTION -->
141
+
142
+ <!-- SECTION: reference_section -->
143
+
144
+ ## Severity Guide
145
+
146
+ | Pattern | Severity | Rationale |
147
+ | ------------------------------------ | --------- | --------------------------------- |
148
+ | Redirect loop (infinite) | BROKEN | User completely stuck |
149
+ | Protected route without guard | BROKEN | Security + UX issue |
150
+ | Missing redirect after action | CONFUSING | User left on wrong page |
151
+ | Redirect to wrong destination | CONFUSING | User disoriented |
152
+ | Multi-step flow allows skipping | DEGRADED | Can lead to errors in later steps |
153
+ | Dead-end page (no next action) | FRICTION | User must manually navigate away |
154
+ | Back button returns to invalid state | FRICTION | Confusing but recoverable |
155
+
156
+ ---
157
+
158
+ <!-- END_SECTION -->
159
+
160
+ <!-- SECTION: domain_rules -->
161
+
162
+ 2. **Check both success and error paths**: Verify redirect happens on success AND an appropriate redirect on error
163
+ 3. **Verify route existence**: If `router.push('/dashboard')` is called, verify `/dashboard` route exists
164
+ 4. **Check conditional navigation**: `if (isAdmin) router.push('/admin')` - what happens if NOT admin?
165
+ 5. **Trace multi-step flows**: Verify step N checks that steps 1..N-1 are complete
166
+ 6. **Check auth redirects**: After login, user should return to the page they originally wanted (return URL)
167
+ 7. **Verify deep links**: Can users bookmark/share URLs and land correctly?
168
+ <!-- END_SECTION -->
169
+
170
+ <!-- SECTION: exclusions -->
171
+
172
+ - Internal navigation that isn't user-facing (admin debug pages)
173
+ - Programmatic redirects for A/B testing
174
+ - External links to third-party sites
175
+ - Hash-based scrolling (same-page anchors)
176
+ - Back button behavior in modal/dialog (different UX pattern)
177
+ - Test file navigation