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,457 @@
1
+ # Accessibility Testing Checklist
2
+
3
+ Automated tools catch approximately 30–40% of WCAG issues. The remaining 60–70% require manual testing with keyboard navigation, screen readers, and human judgement. Both layers are mandatory for a credible accessibility posture.
4
+
5
+ ---
6
+
7
+ ## Automated Testing Tools
8
+
9
+ ### axe-core (Primary — integrate in unit tests)
10
+
11
+ The most widely adopted open-source accessibility engine, used by browser extensions (axe DevTools), CI pipelines, and testing frameworks.
12
+
13
+ ```bash
14
+ npm install --save-dev axe-core @axe-core/react vitest-axe
15
+ # or for Jest:
16
+ npm install --save-dev axe-core @axe-core/react jest-axe
17
+ ```
18
+
19
+ **Vitest + React Testing Library:**
20
+
21
+ ```js
22
+ // src/components/LoginForm.test.jsx
23
+ import { render } from "@testing-library/react";
24
+ import { axe, toHaveNoViolations } from "vitest-axe";
25
+ import { expect, it } from "vitest";
26
+ import { LoginForm } from "./LoginForm";
27
+
28
+ expect.extend(toHaveNoViolations);
29
+
30
+ it("LoginForm has no axe violations", async () => {
31
+ const { container } = render(<LoginForm />);
32
+ const results = await axe(container);
33
+ expect(results).toHaveNoViolations();
34
+ });
35
+
36
+ // Test interactive states too
37
+ it("LoginForm error state has no axe violations", async () => {
38
+ const { container } = render(<LoginForm showErrors />);
39
+ const results = await axe(container);
40
+ expect(results).toHaveNoViolations();
41
+ });
42
+ ```
43
+
44
+ **Jest equivalent:**
45
+
46
+ ```js
47
+ import { axe, toHaveNoViolations } from "jest-axe";
48
+ expect.extend(toHaveNoViolations);
49
+
50
+ test("has no axe violations", async () => {
51
+ const { container } = render(<MyComponent />);
52
+ expect(await axe(container)).toHaveNoViolations();
53
+ });
54
+ ```
55
+
56
+ **Configuring axe rules:**
57
+
58
+ ```js
59
+ const results = await axe(container, {
60
+ rules: {
61
+ // Disable rules that don't apply to your context
62
+ "color-contrast": { enabled: false }, // if you handle contrast via design tokens
63
+ region: { enabled: false }, // if your component is intentionally not in a landmark
64
+ },
65
+ });
66
+ ```
67
+
68
+ **What axe catches automatically:**
69
+
70
+ - Missing image alt text
71
+ - Form inputs without labels
72
+ - Insufficient colour contrast (approximate — verify with dedicated tool)
73
+ - Missing document language
74
+ - Missing page title
75
+ - Duplicate IDs
76
+ - Invalid ARIA roles, properties, and values
77
+ - Focusable elements with aria-hidden
78
+ - Missing required ARIA children
79
+
80
+ **What axe does NOT catch:**
81
+
82
+ - Logical reading order
83
+ - Meaningful alt text (it detects presence, not quality)
84
+ - Keyboard operability of custom widgets
85
+ - Focus management on modal open/close
86
+ - Live region announcements
87
+ - Screen reader announcement quality
88
+ - Cognitive load and plain language issues
89
+
90
+ ---
91
+
92
+ ### eslint-plugin-jsx-a11y (Lint-time — catches issues before they reach the browser)
93
+
94
+ ```bash
95
+ npm install --save-dev eslint-plugin-jsx-a11y
96
+ ```
97
+
98
+ **eslint.config.js (flat config):**
99
+
100
+ ```js
101
+ import jsxA11y from "eslint-plugin-jsx-a11y";
102
+
103
+ export default [
104
+ jsxA11y.flatConfigs.recommended,
105
+ {
106
+ rules: {
107
+ // Promote some warnings to errors in your codebase
108
+ "jsx-a11y/alt-text": "error",
109
+ "jsx-a11y/anchor-is-valid": "error",
110
+ "jsx-a11y/label-has-associated-control": "error",
111
+ "jsx-a11y/no-autofocus": "warn",
112
+ "jsx-a11y/interactive-supports-focus": "error",
113
+ "jsx-a11y/click-events-have-key-events": "error",
114
+ "jsx-a11y/no-static-element-interactions": "error",
115
+ },
116
+ },
117
+ ];
118
+ ```
119
+
120
+ **What eslint-plugin-jsx-a11y catches:**
121
+
122
+ - `<img>` without `alt`
123
+ - `<a>` without `href` or with invalid `href`
124
+ - Interactive elements without keyboard handlers
125
+ - `tabIndex` values greater than 0
126
+ - `autoFocus` prop usage
127
+ - Form controls without associated labels
128
+ - `aria-*` attributes on elements with incompatible roles
129
+ - Missing `role` on interactive `<div>` / `<span>` elements
130
+
131
+ ---
132
+
133
+ ### Lighthouse CI (Score tracking in CI pipeline)
134
+
135
+ ```bash
136
+ npm install --save-dev @lhci/cli
137
+ ```
138
+
139
+ **.lighthouserc.js:**
140
+
141
+ ```js
142
+ module.exports = {
143
+ ci: {
144
+ collect: {
145
+ url: ["http://localhost:3000/", "http://localhost:3000/login"],
146
+ startServerCommand: "npm run build && npm run start",
147
+ numberOfRuns: 1,
148
+ },
149
+ assert: {
150
+ assertions: {
151
+ "categories:accessibility": ["error", { minScore: 0.9 }],
152
+ },
153
+ },
154
+ upload: {
155
+ target: "temporary-public-storage",
156
+ },
157
+ },
158
+ };
159
+ ```
160
+
161
+ **GitHub Actions integration:**
162
+
163
+ ```yaml
164
+ - name: Run Lighthouse CI
165
+ run: |
166
+ npm run build
167
+ npx lhci autorun
168
+ env:
169
+ LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
170
+ ```
171
+
172
+ **Score targets:**
173
+
174
+ - Development: ≥ 85 (allows iteration)
175
+ - Staging: ≥ 90
176
+ - Production: ≥ 95
177
+
178
+ ---
179
+
180
+ ### Pa11y (CLI scanner — good for pages behind auth)
181
+
182
+ ```bash
183
+ npm install --save-dev pa11y pa11y-ci
184
+ ```
185
+
186
+ **.pa11yci:**
187
+
188
+ ```json
189
+ {
190
+ "standard": "WCAG2AA",
191
+ "threshold": 0,
192
+ "urls": [
193
+ "http://localhost:3000/",
194
+ "http://localhost:3000/dashboard",
195
+ "http://localhost:3000/settings"
196
+ ],
197
+ "actions": [
198
+ "navigate to http://localhost:3000/login",
199
+ "set field #email to test@example.com",
200
+ "set field #password to testpassword",
201
+ "click element button[type=submit]",
202
+ "wait for url to be http://localhost:3000/dashboard"
203
+ ]
204
+ }
205
+ ```
206
+
207
+ ```bash
208
+ npx pa11y-ci --config .pa11yci
209
+ ```
210
+
211
+ ---
212
+
213
+ ### Storybook a11y Addon (Component-level testing in isolation)
214
+
215
+ ```bash
216
+ npm install --save-dev @storybook/addon-a11y
217
+ ```
218
+
219
+ **.storybook/main.js:**
220
+
221
+ ```js
222
+ export default {
223
+ addons: ["@storybook/addon-a11y"],
224
+ };
225
+ ```
226
+
227
+ Each story gets an "Accessibility" panel with axe results. Useful for catching issues before components are assembled into pages.
228
+
229
+ ---
230
+
231
+ ## Manual Testing Procedures
232
+
233
+ ### 1. Keyboard-only Navigation
234
+
235
+ **Setup:** Disconnect or ignore mouse. Use only keyboard.
236
+
237
+ **Checklist:**
238
+
239
+ - [ ] Press Tab from browser address bar — does focus enter the page?
240
+ - [ ] Tab through every interactive element in order — does focus order match visual/logical order?
241
+ - [ ] Is focus indicator visible at every step? (Never disappears, never `outline: none`)
242
+ - [ ] Activate every button with Enter and Space
243
+ - [ ] Activate every link with Enter
244
+ - [ ] Navigate dropdown/select with arrow keys
245
+ - [ ] Open accordion panels, tab panels — do they work?
246
+ - [ ] Navigate modal dialogs: focus stays inside, Escape closes, focus returns to trigger
247
+ - [ ] Use skip link to jump to main content
248
+ - [ ] Navigate forms: can you complete and submit using only keyboard?
249
+ - [ ] No keyboard traps except intentional modal focus traps
250
+
251
+ **Common failures:**
252
+
253
+ - Custom dropdown that only responds to mouse click
254
+ - Modal that does not trap focus — Tab escapes to background
255
+ - Icon button reachable by Tab but not activatable by Enter/Space
256
+ - Visual reordering via CSS that breaks logical tab sequence
257
+
258
+ ---
259
+
260
+ ### 2. Screen Reader Testing
261
+
262
+ #### VoiceOver on macOS (Safari)
263
+
264
+ 1. Enable: `Cmd + F5`
265
+ 2. Navigate by landmark: `VO + U` (rotor), then arrow to Landmarks or Headings
266
+ 3. Navigate headings: `VO + Cmd + H`
267
+ 4. Navigate form controls: `VO + Cmd + J`
268
+ 5. Read from current position: `VO + A`
269
+ 6. Interact with widget: `VO + Shift + Down` (enter), `VO + Shift + Up` (exit)
270
+
271
+ **What to verify:**
272
+
273
+ - [ ] Page title reads correctly when page loads
274
+ - [ ] Headings list makes sense — logical hierarchy (h1, h2, h3)
275
+ - [ ] Landmarks present: main, nav, header, footer
276
+ - [ ] All images have meaningful alt text (VoiceOver announces "image" + alt)
277
+ - [ ] All form fields announced with label, required status, type
278
+ - [ ] Errors announced when form submitted with invalid data
279
+ - [ ] Modal announced as "web dialog" with its label
280
+ - [ ] Buttons state announced ("expanded", "collapsed", "checked")
281
+ - [ ] Live region updates announced (save confirmations, status messages)
282
+
283
+ #### NVDA on Windows (Firefox)
284
+
285
+ 1. Enable: `Ctrl + Alt + N` (after installing NVDA)
286
+ 2. Virtual browse mode: read page with arrow keys; Tab for interactive elements
287
+ 3. Navigate headings: `H` key
288
+ 4. Navigate landmarks: `D` key
289
+ 5. Navigate form controls: `F` key
290
+ 6. Form mode: Enter when focused on a form field; Escape to exit
291
+
292
+ **What to verify:** Same as VoiceOver checklist above.
293
+
294
+ #### Common screen reader issues to catch:
295
+
296
+ - "image.jpg", "photo", or "icon" as alt text — useless announcement
297
+ - Form field announced with no label (just "text field")
298
+ - "Link" or "button" with no name (icon-only without aria-label)
299
+ - Dynamic content updates not announced (missing aria-live)
300
+ - Modal doesn't announce as dialog — screen reader reads behind the modal
301
+ - Heading hierarchy skips levels (h1 → h3, skipping h2)
302
+
303
+ ---
304
+
305
+ ### 3. Zoom and Reflow Testing
306
+
307
+ **200% zoom test (1.4.4 Resize Text):**
308
+
309
+ 1. Open Chrome DevTools → Settings → Emulation → Font size: 32px (double default 16px)
310
+ OR browser zoom to 200% (`Cmd + +` × 5)
311
+ 2. Check: all text readable, no overflow, no truncation, layout intact
312
+
313
+ **Reflow test at 320px width (1.4.10):**
314
+
315
+ 1. Chrome DevTools → Device toolbar → Set width to 320px
316
+ 2. Check: no horizontal scrollbar, all content accessible by vertical scroll only
317
+ 3. Exception: data tables and code blocks may scroll horizontally
318
+
319
+ ---
320
+
321
+ ### 4. Colour Contrast Testing
322
+
323
+ **Tools:**
324
+
325
+ - Chrome DevTools: Inspect element → click colour swatch → see "Contrast ratio"
326
+ - [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) (TPGi, free desktop app)
327
+ - [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
328
+ - [Who Can Use](https://www.whocanuse.com/) — shows affected user count
329
+
330
+ **What to check:**
331
+
332
+ - [ ] Body text vs background: ≥ 4.5:1
333
+ - [ ] Headings (if ≥ 18pt regular or ≥ 14pt bold): ≥ 3:1
334
+ - [ ] Placeholder text vs input background: ≥ 4.5:1
335
+ - [ ] Button text vs button background: ≥ 4.5:1
336
+ - [ ] Link text vs page background (and vs surrounding text if not underlined): ≥ 4.5:1
337
+ - [ ] Input border vs page background: ≥ 3:1
338
+ - [ ] Focus indicator vs adjacent colours: ≥ 3:1
339
+ - [ ] Icon/graphic vs adjacent colour: ≥ 3:1
340
+ - [ ] Disabled elements: no requirement, but should be visually distinct
341
+
342
+ ---
343
+
344
+ ### 5. Motion and Animation Testing
345
+
346
+ **Reduced motion:**
347
+
348
+ ```css
349
+ @media (prefers-reduced-motion: reduce) {
350
+ *,
351
+ *::before,
352
+ *::after {
353
+ animation-duration: 0.01ms !important;
354
+ animation-iteration-count: 1 !important;
355
+ transition-duration: 0.01ms !important;
356
+ scroll-behavior: auto !important;
357
+ }
358
+ }
359
+ ```
360
+
361
+ **Test:** In macOS System Preferences → Accessibility → Display → Reduce Motion. Does your UI still work? Do animations stop or dramatically reduce?
362
+
363
+ ---
364
+
365
+ ### 6. High Contrast Mode Testing (Windows)
366
+
367
+ Windows High Contrast Mode overrides colours with system-defined high contrast values. Many CSS tricks (border replicated with box-shadow, images used as backgrounds) break.
368
+
369
+ 1. Windows: Settings → Ease of Access → High contrast → Turn on
370
+ 2. Test that: all UI elements visible, borders/outlines present, icons not disappearing
371
+
372
+ ```css
373
+ /* Force borders to show in High Contrast Mode */
374
+ @media (forced-colors: active) {
375
+ .custom-checkbox {
376
+ border: 2px solid ButtonText;
377
+ }
378
+ .icon-btn svg {
379
+ forced-color-adjust: none;
380
+ fill: ButtonText;
381
+ }
382
+ }
383
+ ```
384
+
385
+ ---
386
+
387
+ ## Common Issues by Component Type
388
+
389
+ | Component | Most common a11y failures |
390
+ | ------------- | -------------------------------------------------------------------------------------- |
391
+ | Images | Missing alt; `alt="image.jpg"` or `alt="photo"` |
392
+ | Icon buttons | No `aria-label`; SVG announcing its contents |
393
+ | Form inputs | Label not associated (missing `for`/`id` or `aria-labelledby`); error not described |
394
+ | Links | "Click here", "Read more" — not descriptive; missing `href` |
395
+ | Buttons | `<div>` or `<span>` with `onclick` — not keyboard accessible |
396
+ | Modals | Focus not trapped; Escape not handled; focus not returned |
397
+ | Dropdowns | Keyboard inaccessible; state (expanded/collapsed) not communicated |
398
+ | Tables | Missing `<th scope>`; no `<caption>`; using `<table>` for layout |
399
+ | Carousels | Auto-play without pause control; no keyboard navigation |
400
+ | Toasts | Announced too aggressively (assertive) or not at all (missing aria-live) |
401
+ | Videos | No captions; player controls not keyboard accessible |
402
+ | PDFs | Usually completely inaccessible — prefer HTML alternatives |
403
+ | Charts/graphs | Alt text describes what it is, not what it shows |
404
+ | Autocomplete | Does not announce options count; option selection not announced |
405
+ | Date pickers | Calendar grid not keyboard navigable — use native `<input type="date">` where possible |
406
+
407
+ ---
408
+
409
+ ## CI Integration Strategy
410
+
411
+ **Recommended pipeline:**
412
+
413
+ ```yaml
414
+ # .github/workflows/a11y.yml
415
+ name: Accessibility checks
416
+
417
+ on: [pull_request]
418
+
419
+ jobs:
420
+ lint:
421
+ runs-on: ubuntu-latest
422
+ steps:
423
+ - uses: actions/checkout@v4
424
+ - uses: actions/setup-node@v4
425
+ with: { node-version: 20 }
426
+ - run: npm ci
427
+ - run: npm run lint # includes eslint-plugin-jsx-a11y
428
+
429
+ unit-axe:
430
+ runs-on: ubuntu-latest
431
+ steps:
432
+ - uses: actions/checkout@v4
433
+ - uses: actions/setup-node@v4
434
+ with: { node-version: 20 }
435
+ - run: npm ci
436
+ - run: npm test # axe-core tests run as part of unit tests
437
+
438
+ lighthouse:
439
+ runs-on: ubuntu-latest
440
+ steps:
441
+ - uses: actions/checkout@v4
442
+ - uses: actions/setup-node@v4
443
+ with: { node-version: 20 }
444
+ - run: npm ci && npm run build
445
+ - run: npx lhci autorun
446
+ env:
447
+ LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
448
+ ```
449
+
450
+ **What each layer catches:**
451
+
452
+ | Layer | Tools | Catches |
453
+ | ---------------- | ------------------------- | -------------------------------------------------------------------------------- |
454
+ | Lint | eslint-plugin-jsx-a11y | Missing alt, invalid ARIA, non-interactive elements with onclick |
455
+ | Unit tests | axe-core | Rendered DOM violations: contrast, ARIA validity, label associations |
456
+ | E2E / Lighthouse | Lighthouse CI, Pa11y | Full page violations, including dynamically loaded content |
457
+ | Manual | VoiceOver, NVDA, keyboard | Everything automated misses: reading order, announcement quality, cognitive load |