agileflow 4.0.0-alpha.2 → 4.0.0-alpha.6
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.
- package/CHANGELOG.md +51 -0
- package/content/plugins/accessibility/plugin.yaml +15 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
- package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
- package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
- package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
- package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
- package/content/plugins/ads/agents/ads-audit-google.md +227 -0
- package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
- package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
- package/content/plugins/ads/agents/ads-consensus.md +410 -0
- package/content/plugins/ads/agents/ads-generate.md +152 -0
- package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
- package/content/plugins/ads/commands/ads/audit.md +464 -0
- package/content/plugins/ads/commands/ads/budget.md +100 -0
- package/content/plugins/ads/commands/ads/competitor.md +119 -0
- package/content/plugins/ads/commands/ads/creative.md +88 -0
- package/content/plugins/ads/commands/ads/generate.md +242 -0
- package/content/plugins/ads/commands/ads/google.md +115 -0
- package/content/plugins/ads/commands/ads/health.md +331 -0
- package/content/plugins/ads/commands/ads/landing.md +126 -0
- package/content/plugins/ads/commands/ads/linkedin.md +167 -0
- package/content/plugins/ads/commands/ads/meta.md +94 -0
- package/content/plugins/ads/commands/ads/microsoft.md +170 -0
- package/content/plugins/ads/commands/ads/plan.md +351 -0
- package/content/plugins/ads/commands/ads/test-plan.md +321 -0
- package/content/plugins/ads/commands/ads/tiktok.md +185 -0
- package/content/plugins/ads/commands/ads/track.md +303 -0
- package/content/plugins/ads/commands/ads/youtube.md +179 -0
- package/content/plugins/ads/commands/ads.md +143 -0
- package/content/plugins/ads/plugin.yaml +58 -4
- package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
- package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
- package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
- package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
- package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +64 -0
- package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +53 -0
- package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
- package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
- package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
- package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
- package/content/plugins/audit/agents/a11y-consensus.md +249 -0
- package/content/plugins/audit/agents/accessibility.md +558 -0
- package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
- package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
- package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
- package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
- package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
- package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
- package/content/plugins/audit/agents/api-validator.md +191 -0
- package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
- package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
- package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
- package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
- package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
- package/content/plugins/audit/agents/arch-consensus.md +228 -0
- package/content/plugins/audit/agents/browser-qa.md +342 -0
- package/content/plugins/audit/agents/code-reviewer.md +298 -0
- package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
- package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
- package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
- package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
- package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
- package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
- package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
- package/content/plugins/audit/agents/completeness-consensus.md +295 -0
- package/content/plugins/audit/agents/error-analyzer.md +213 -0
- package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
- package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
- package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
- package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
- package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
- package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
- package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
- package/content/plugins/audit/agents/flow-consensus.md +237 -0
- package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
- package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
- package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
- package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
- package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
- package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
- package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
- package/content/plugins/audit/agents/legal-consensus.md +250 -0
- package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
- package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
- package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
- package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
- package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
- package/content/plugins/audit/agents/logic-consensus.md +259 -0
- package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
- package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
- package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
- package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
- package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
- package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
- package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
- package/content/plugins/audit/agents/perf-consensus.md +287 -0
- package/content/plugins/audit/agents/qa.md +820 -0
- package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
- package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
- package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
- package/content/plugins/audit/agents/quality-consensus.md +241 -0
- package/content/plugins/audit/agents/schema-validator.md +473 -0
- package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
- package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
- package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
- package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
- package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
- package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
- package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
- package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
- package/content/plugins/audit/agents/security-consensus.md +283 -0
- package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
- package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
- package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
- package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
- package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
- package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
- package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
- package/content/plugins/audit/agents/test-consensus.md +301 -0
- package/content/plugins/audit/agents/testing.md +561 -0
- package/content/plugins/audit/agents/ui-validator.md +344 -0
- package/content/plugins/audit/commands/audit.md +552 -0
- package/content/plugins/audit/commands/browser-qa.md +249 -0
- package/content/plugins/audit/commands/code/accessibility.md +430 -0
- package/content/plugins/audit/commands/code/api.md +380 -0
- package/content/plugins/audit/commands/code/architecture.md +380 -0
- package/content/plugins/audit/commands/code/completeness.md +589 -0
- package/content/plugins/audit/commands/code/flows.md +533 -0
- package/content/plugins/audit/commands/code/legal.md +581 -0
- package/content/plugins/audit/commands/code/logic.md +498 -0
- package/content/plugins/audit/commands/code/performance.md +577 -0
- package/content/plugins/audit/commands/code/quality.md +537 -0
- package/content/plugins/audit/commands/code/security.md +580 -0
- package/content/plugins/audit/commands/code/test.md +576 -0
- package/content/plugins/audit/commands/code.md +35 -0
- package/content/plugins/audit/commands/review.md +731 -0
- package/content/plugins/audit/commands/tdd-next.md +292 -0
- package/content/plugins/audit/commands/tdd.md +244 -0
- package/content/plugins/audit/commands/tests.md +769 -0
- package/content/plugins/audit/commands/verify.md +567 -0
- package/content/plugins/audit/plugin.yaml +225 -5
- package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
- package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
- package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
- package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
- package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
- package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
- package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
- package/content/plugins/core/agents/adr-writer.md +521 -0
- package/content/plugins/core/agents/epic-planner.md +520 -0
- package/content/plugins/core/agents/mentor.md +709 -0
- package/content/plugins/core/agents/orchestrator.md +776 -0
- package/content/plugins/core/agents/team-coordinator.md +334 -0
- package/content/plugins/core/agents/team-lead.md +181 -0
- package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
- package/content/plugins/core/commands/adr/list.md +199 -0
- package/content/plugins/core/commands/adr/update.md +264 -0
- package/content/plugins/core/commands/adr/view.md +284 -0
- package/content/plugins/core/commands/adr.md +407 -0
- package/content/plugins/core/commands/agent.md +264 -0
- package/content/plugins/core/commands/assign.md +393 -0
- package/content/plugins/core/commands/auto.md +598 -0
- package/content/plugins/core/commands/babysit.md +744 -0
- package/content/plugins/core/commands/baseline.md +778 -0
- package/content/plugins/core/commands/batch.md +566 -0
- package/content/plugins/core/commands/blockers.md +638 -0
- package/content/plugins/core/commands/board.md +555 -0
- package/content/plugins/core/commands/channels.md +129 -0
- package/content/plugins/core/commands/choose.md +444 -0
- package/content/plugins/core/commands/compact/search.md +42 -0
- package/content/plugins/core/commands/compress.md +442 -0
- package/content/plugins/core/commands/configure.md +1202 -0
- package/content/plugins/core/commands/context/export.md +316 -0
- package/content/plugins/core/commands/context/full.md +386 -0
- package/content/plugins/core/commands/context/note.md +389 -0
- package/content/plugins/core/commands/debt.md +536 -0
- package/content/plugins/core/commands/epic/edit.md +226 -0
- package/content/plugins/core/commands/epic/list.md +229 -0
- package/content/plugins/core/commands/epic/view.md +277 -0
- package/content/plugins/core/commands/epic.md +499 -0
- package/content/plugins/core/commands/handoff.md +406 -0
- package/content/plugins/core/commands/help.md +201 -0
- package/content/plugins/core/commands/install.md +541 -0
- package/content/plugins/core/commands/maintain.md +571 -0
- package/content/plugins/core/commands/retro.md +836 -0
- package/content/plugins/core/commands/session/cleanup.md +489 -0
- package/content/plugins/core/commands/session/end.md +911 -0
- package/content/plugins/core/commands/session/history.md +300 -0
- package/content/plugins/core/commands/session/init.md +219 -0
- package/content/plugins/core/commands/session/new.md +863 -0
- package/content/plugins/core/commands/session/resume.md +302 -0
- package/content/plugins/core/commands/session/spawn.md +211 -0
- package/content/plugins/core/commands/session/status.md +284 -0
- package/content/plugins/core/commands/status/undo.md +207 -0
- package/content/plugins/core/commands/status.md +450 -0
- package/content/plugins/core/commands/story/edit.md +217 -0
- package/content/plugins/core/commands/story/list.md +232 -0
- package/content/plugins/core/commands/story/view.md +321 -0
- package/content/plugins/core/commands/story-validate.md +517 -0
- package/content/plugins/core/commands/story.md +496 -0
- package/content/plugins/core/commands/team/guide.md +748 -0
- package/content/plugins/core/commands/team/list.md +61 -0
- package/content/plugins/core/commands/team/start.md +137 -0
- package/content/plugins/core/commands/team/status.md +68 -0
- package/content/plugins/core/commands/team/stop.md +80 -0
- package/content/plugins/core/commands/template.md +680 -0
- package/content/plugins/core/commands/update.md +640 -0
- package/content/plugins/core/commands/validate-expertise.md +326 -0
- package/content/plugins/core/commands/whats-new.md +206 -0
- package/content/plugins/core/commands/workflow.md +479 -0
- package/content/plugins/core/commands/workspace/init.md +114 -0
- package/content/plugins/core/commands/workspace/spawn.md +152 -0
- package/content/plugins/core/commands/workspace/status.md +101 -0
- package/content/plugins/core/commands/workspace.md +26 -0
- package/content/plugins/core/hooks/context-loader.js +31 -4
- package/content/plugins/core/hooks/damage-control-bash.js +10 -2
- package/content/plugins/core/hooks/damage-control-edit.js +4 -1
- package/content/plugins/core/hooks/damage-control-write.js +4 -1
- package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
- package/content/plugins/core/hooks/preferences-injector.js +352 -0
- package/content/plugins/core/plugin.yaml +143 -28
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
- package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
- package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
- package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
- package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
- package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
- package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
- package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
- package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
- package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
- package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
- package/content/plugins/council/agents/council-advocate.md +223 -0
- package/content/plugins/council/agents/council-analyst.md +278 -0
- package/content/plugins/council/agents/council-compounder.md +204 -0
- package/content/plugins/council/agents/council-contrarian.md +217 -0
- package/content/plugins/council/agents/council-moonshot.md +217 -0
- package/content/plugins/council/agents/council-optimist.md +185 -0
- package/content/plugins/council/agents/council-revenue.md +200 -0
- package/content/plugins/council/agents/council-technical.md +218 -0
- package/content/plugins/council/agents/multi-expert.md +334 -0
- package/content/plugins/council/commands/council.md +631 -0
- package/content/plugins/council/commands/multi-expert.md +465 -0
- package/content/plugins/council/plugin.yaml +28 -4
- package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
- package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
- package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
- package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
- package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
- package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
- package/content/plugins/database/plugin.yaml +15 -0
- package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
- package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
- package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
- package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
- package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
- package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
- package/content/plugins/debugging/plugin.yaml +15 -0
- package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
- package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
- package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
- package/content/plugins/delivery/agents/ci.md +547 -0
- package/content/plugins/delivery/agents/devops.md +789 -0
- package/content/plugins/delivery/commands/changelog.md +634 -0
- package/content/plugins/delivery/commands/ci.md +344 -0
- package/content/plugins/delivery/commands/deploy.md +907 -0
- package/content/plugins/delivery/commands/deps.md +758 -0
- package/content/plugins/delivery/commands/packages.md +577 -0
- package/content/plugins/delivery/commands/pr.md +346 -0
- package/content/plugins/delivery/commands/sprint.md +739 -0
- package/content/plugins/delivery/plugin.yaml +34 -0
- package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
- package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
- package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
- package/content/plugins/docs/agents/documentation.md +544 -0
- package/content/plugins/docs/agents/readme-updater.md +640 -0
- package/content/plugins/docs/commands/docs.md +496 -0
- package/content/plugins/docs/commands/learn/explain.md +126 -0
- package/content/plugins/docs/commands/learn/glossary.md +140 -0
- package/content/plugins/docs/commands/learn/patterns.md +143 -0
- package/content/plugins/docs/commands/learn/tour.md +134 -0
- package/content/plugins/docs/commands/learn.md +28 -0
- package/content/plugins/docs/commands/readme-sync.md +347 -0
- package/content/plugins/docs/commands/skill/list.md +149 -0
- package/content/plugins/docs/commands/skill/recommend.md +226 -0
- package/content/plugins/docs/plugin.yaml +38 -0
- package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
- package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
- package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
- package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
- package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
- package/content/plugins/engineering/agents/api.md +718 -0
- package/content/plugins/engineering/agents/codebase-query.md +285 -0
- package/content/plugins/engineering/agents/compliance.md +559 -0
- package/content/plugins/engineering/agents/database.md +644 -0
- package/content/plugins/engineering/agents/integrations.md +644 -0
- package/content/plugins/engineering/agents/mobile.md +552 -0
- package/content/plugins/engineering/agents/monitoring.md +585 -0
- package/content/plugins/engineering/agents/performance.md +529 -0
- package/content/plugins/engineering/agents/refactor.md +592 -0
- package/content/plugins/engineering/agents/security.md +524 -0
- package/content/plugins/engineering/agents/ui.md +1336 -0
- package/content/plugins/engineering/plugin.yaml +38 -0
- package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
- package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
- package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
- package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
- package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
- package/content/plugins/ideation/agents/design.md +568 -0
- package/content/plugins/ideation/agents/product.md +582 -0
- package/content/plugins/ideation/commands/ideate/brief.md +392 -0
- package/content/plugins/ideation/commands/ideate/discover.md +423 -0
- package/content/plugins/ideation/commands/ideate/features.md +509 -0
- package/content/plugins/ideation/commands/ideate/history.md +408 -0
- package/content/plugins/ideation/commands/ideate/new.md +940 -0
- package/content/plugins/ideation/commands/ideate.md +29 -0
- package/content/plugins/ideation/plugin.yaml +44 -0
- package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
- package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
- package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
- package/content/plugins/migration/agents/datamigration.md +757 -0
- package/content/plugins/migration/commands/migrate/codemods.md +154 -0
- package/content/plugins/migration/commands/migrate/plan.md +140 -0
- package/content/plugins/migration/commands/migrate/scan.md +121 -0
- package/content/plugins/migration/commands/migrate/validate.md +123 -0
- package/content/plugins/migration/commands/migrate.md +28 -0
- package/content/plugins/migration/plugin.yaml +28 -0
- package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
- package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
- package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
- package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
- package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
- package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
- package/content/plugins/performance/plugin.yaml +15 -0
- package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
- package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
- package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
- package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
- package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
- package/content/plugins/planning/agents/analytics.md +670 -0
- package/content/plugins/planning/agents/rlm-subcore.md +215 -0
- package/content/plugins/planning/commands/api.md +281 -0
- package/content/plugins/planning/commands/automate.md +432 -0
- package/content/plugins/planning/commands/diagnose.md +418 -0
- package/content/plugins/planning/commands/export.md +243 -0
- package/content/plugins/planning/commands/feedback.md +680 -0
- package/content/plugins/planning/commands/impact.md +443 -0
- package/content/plugins/planning/commands/metrics.md +891 -0
- package/content/plugins/planning/commands/rlm.md +461 -0
- package/content/plugins/planning/commands/roadmap/analyze.md +416 -0
- package/content/plugins/planning/commands/rpi.md +665 -0
- package/content/plugins/planning/commands/velocity.md +657 -0
- package/content/plugins/planning/plugin.yaml +42 -0
- package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
- package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
- package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
- package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
- package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
- package/content/plugins/psychology/plugin.yaml +15 -0
- package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
- package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
- package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
- package/content/plugins/refactoring/plugin.yaml +15 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
- package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
- package/content/plugins/research/agents/research.md +503 -0
- package/content/plugins/research/commands/research/analyze.md +810 -0
- package/content/plugins/research/commands/research/ask.md +885 -0
- package/content/plugins/research/commands/research/import.md +1039 -0
- package/content/plugins/research/commands/research/list.md +272 -0
- package/content/plugins/research/commands/research/synthesize.md +943 -0
- package/content/plugins/research/commands/research/view.md +326 -0
- package/content/plugins/research/commands/skill/research.md +278 -0
- package/content/plugins/research/plugin.yaml +32 -0
- package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
- package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
- package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
- package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
- package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
- package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
- package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
- package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
- package/content/plugins/reviews/plugin.yaml +15 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
- package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
- package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
- package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
- package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
- package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
- package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
- package/content/plugins/seo/agents/seo-consensus.md +304 -0
- package/content/plugins/seo/commands/seo/audit.md +454 -0
- package/content/plugins/seo/commands/seo/competitor.md +183 -0
- package/content/plugins/seo/commands/seo/content.md +127 -0
- package/content/plugins/seo/commands/seo/geo.md +236 -0
- package/content/plugins/seo/commands/seo/hreflang.md +144 -0
- package/content/plugins/seo/commands/seo/images.md +116 -0
- package/content/plugins/seo/commands/seo/page.md +206 -0
- package/content/plugins/seo/commands/seo/plan.md +176 -0
- package/content/plugins/seo/commands/seo/programmatic.md +135 -0
- package/content/plugins/seo/commands/seo/references/cwv-thresholds.md +64 -0
- package/content/plugins/seo/commands/seo/references/eeat-framework.md +110 -0
- package/content/plugins/seo/commands/seo/references/quality-gates.md +96 -0
- package/content/plugins/seo/commands/seo/references/schema-types.md +102 -0
- package/content/plugins/seo/commands/seo/schema.md +194 -0
- package/content/plugins/seo/commands/seo/sitemap.md +99 -0
- package/content/plugins/seo/commands/seo/technical.md +120 -0
- package/content/plugins/seo/commands/seo.md +109 -0
- package/content/plugins/seo/plugin.yaml +54 -4
- package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
- package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
- package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
- package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
- package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +62 -0
- package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +101 -0
- package/content/plugins/testing/plugin.yaml +17 -0
- package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
- package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
- package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
- package/package.json +3 -1
- package/src/cli/commands/doctor.js +177 -29
- package/src/cli/commands/hook.js +7 -7
- package/src/cli/commands/learn.js +134 -0
- package/src/cli/commands/plugins.js +109 -0
- package/src/cli/commands/setup.js +203 -44
- package/src/cli/commands/skills.js +308 -0
- package/src/cli/commands/status.js +8 -10
- package/src/cli/commands/update.js +50 -5
- package/src/cli/index.js +77 -26
- package/src/cli/wizard/babysit-mode-picker-clean.js +192 -0
- package/src/cli/wizard/babysit-mode-picker.js +219 -0
- package/src/cli/wizard/behaviors-picker-clean.js +127 -0
- package/src/cli/wizard/behaviors-picker.js +208 -54
- package/src/cli/wizard/ide-picker.js +40 -28
- package/src/cli/wizard/install-scope-picker.js +57 -0
- package/src/cli/wizard/learnings-picker.js +40 -0
- package/src/cli/wizard/plugin-picker.js +29 -11
- package/src/lib/brand.js +116 -0
- package/src/runtime/config/defaults.js +22 -17
- package/src/runtime/config/loader.js +77 -8
- package/src/runtime/config/schema.json +43 -16
- package/src/runtime/config/writer.js +3 -1
- package/src/runtime/ide/babysit-skill.js +202 -0
- package/src/runtime/ide/capabilities.js +84 -29
- package/src/runtime/ide/claude-code-content.js +177 -0
- package/src/runtime/ide/claude-code-settings.js +50 -26
- package/src/runtime/ide/claude-code-skills.js +47 -32
- package/src/runtime/ide/codex-config.js +296 -0
- package/src/runtime/installer/install.js +175 -24
- package/src/runtime/skills/learnings.js +306 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
- package/src/cli/wizard/personalization.js +0 -64
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,57 @@
|
|
|
3
3
|
All notable changes to `agileflow` v4 are documented here.
|
|
4
4
|
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
5
5
|
|
|
6
|
+
## [4.0.0-alpha.3] — 2026-04-20
|
|
7
|
+
|
|
8
|
+
Flow audit fixes for the alpha.2 wizard + install path. Wiring/persistence
|
|
9
|
+
came back PASS; this patch closes the test gap and fixes the safety +
|
|
10
|
+
feedback gaps the audit surfaced.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **P0 test gap** (`tests/unit/config/writer.test.js`): the per-field
|
|
15
|
+
round-trip block tests every other config field but skipped
|
|
16
|
+
`behaviors`. A future PR that drops the `behaviors:` line from
|
|
17
|
+
`writer.js`'s payload would have shipped silently. Added explicit
|
|
18
|
+
mixed-shape round-trip test (not all-true, not all-false) so the
|
|
19
|
+
serializer-loader pair is contractually pinned.
|
|
20
|
+
- **P1 damage-control silent fail-open**
|
|
21
|
+
(`damage-control-bash.js`/`-edit.js`/`-write.js`): when
|
|
22
|
+
`damage-control-patterns.yaml` is missing or unreadable, all three
|
|
23
|
+
hooks used to `process.exit(0)` silently — guards disabled, no
|
|
24
|
+
signal to the user. Now emit a stderr WARNING with the error code
|
|
25
|
+
and the path. Repeated warnings on every Bash/Edit/Write are
|
|
26
|
+
intentional: they signal "fix this or disable the preset". Hooks
|
|
27
|
+
still fail-open (the contract is "block dangerous things, don't
|
|
28
|
+
block legit work just because we can't read our own config").
|
|
29
|
+
- **P1 missing behaviors visibility**:
|
|
30
|
+
- `setup --yes` console output now prints `behaviors enabled: ...`
|
|
31
|
+
after the plugin list, gated on `caps.hooks` so non-Claude-Code
|
|
32
|
+
IDEs don't see a noisy line. Listed-as-CSV in the order: any
|
|
33
|
+
`loadContext, babysitDefault, damageControl, preCompactState`
|
|
34
|
+
that are `true`.
|
|
35
|
+
- Interactive `prompts.outro` now includes `behaviors active: ...`
|
|
36
|
+
or `behaviors active: (none — no hooks will run; re-run setup to
|
|
37
|
+
enable)`. A user who deselected all four behaviors no longer
|
|
38
|
+
finishes the wizard celebrating "X plugins enabled" while
|
|
39
|
+
actually getting zero hooks.
|
|
40
|
+
- `agileflow update` console output mirrors the same pattern.
|
|
41
|
+
- Install spinner message changed from `Installing N plugin(s)` to
|
|
42
|
+
`Installing N plugin(s) — writing hooks, skills, mirrors` so
|
|
43
|
+
first-time users have a clearer mental model of what `.agileflow/`
|
|
44
|
+
will contain.
|
|
45
|
+
- **P2 fresh-project context-loader / pre-compact-state**: when
|
|
46
|
+
`docs/09-agents/status.json` is absent (brand new project), both
|
|
47
|
+
hooks used to silently omit the stories section. Now emit
|
|
48
|
+
`(no story tracker yet — docs/09-agents/status.json not found)` so
|
|
49
|
+
Claude knows the section was reached, not skipped due to error. Also
|
|
50
|
+
surfaces `(none in progress, none ready)` when status.json exists
|
|
51
|
+
but is empty.
|
|
52
|
+
|
|
53
|
+
### Tests
|
|
54
|
+
|
|
55
|
+
- 305 passing (+1 from alpha.2's 304).
|
|
56
|
+
|
|
6
57
|
## [4.0.0-alpha.2] — 2026-04-20
|
|
7
58
|
|
|
8
59
|
Curated behavior presets — first hooks ship, but never as a free-for-all.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
id: accessibility
|
|
2
|
+
name: Accessibility
|
|
3
|
+
description: WCAG 2.2 compliance, screen reader support, keyboard navigation, and a11y testing.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
enabledByDefault: false
|
|
6
|
+
cannotDisable: false
|
|
7
|
+
depends: []
|
|
8
|
+
provides:
|
|
9
|
+
commands: []
|
|
10
|
+
skills:
|
|
11
|
+
- id: agileflow-accessibility
|
|
12
|
+
dir: skills/agileflow-accessibility
|
|
13
|
+
agents: []
|
|
14
|
+
hooks: []
|
|
15
|
+
templates: []
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agileflow-accessibility
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
category: agileflow/accessibility
|
|
5
|
+
description: |
|
|
6
|
+
Use when implementing accessible UI, auditing for WCAG 2.2 compliance,
|
|
7
|
+
fixing screen reader issues, improving keyboard navigation, or preparing
|
|
8
|
+
for an accessibility review. Covers semantic HTML, ARIA patterns,
|
|
9
|
+
color contrast, focus management, and automated + manual testing.
|
|
10
|
+
triggers:
|
|
11
|
+
keywords:
|
|
12
|
+
- accessibility
|
|
13
|
+
- a11y
|
|
14
|
+
- screen reader
|
|
15
|
+
- WCAG
|
|
16
|
+
- aria
|
|
17
|
+
- keyboard navigation
|
|
18
|
+
- focus
|
|
19
|
+
- color contrast
|
|
20
|
+
- tab order
|
|
21
|
+
- semantic html
|
|
22
|
+
- alt text
|
|
23
|
+
- accessible
|
|
24
|
+
- ADA
|
|
25
|
+
- Section 508
|
|
26
|
+
- voiceover
|
|
27
|
+
- NVDA
|
|
28
|
+
- skip link
|
|
29
|
+
priority: 50
|
|
30
|
+
exclude:
|
|
31
|
+
- accessible parking
|
|
32
|
+
- accessible tourism
|
|
33
|
+
provides:
|
|
34
|
+
agents: []
|
|
35
|
+
learns:
|
|
36
|
+
enabled: true
|
|
37
|
+
file: _learnings/accessibility.yaml
|
|
38
|
+
maxEntries: 50
|
|
39
|
+
depends:
|
|
40
|
+
skills: []
|
|
41
|
+
plugins: [core]
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
# AgileFlow Accessibility
|
|
45
|
+
|
|
46
|
+
Helps you build, audit, and fix accessible user interfaces — from semantic HTML foundations through ARIA patterns, focus management, screen reader compatibility, and automated testing integration.
|
|
47
|
+
|
|
48
|
+
## When this skill activates
|
|
49
|
+
|
|
50
|
+
- User wants to audit a page, component, or flow for WCAG 2.2 compliance
|
|
51
|
+
- User is implementing a new UI component and wants it to be accessible from the start
|
|
52
|
+
- User is fixing screen reader issues, keyboard trap bugs, or missing focus indicators
|
|
53
|
+
- User needs to add axe-core tests, eslint-plugin-jsx-a11y, or Lighthouse accessibility CI
|
|
54
|
+
- User is preparing for an ADA/Section 508 compliance review or legal audit
|
|
55
|
+
- User mentions VoiceOver, NVDA, JAWS, TalkBack, or any assistive technology
|
|
56
|
+
|
|
57
|
+
## Opening discovery flow
|
|
58
|
+
|
|
59
|
+
**When invoked without clear context, ask one focused question to understand the task.**
|
|
60
|
+
|
|
61
|
+
```xml
|
|
62
|
+
<invoke name="AskUserQuestion">
|
|
63
|
+
<parameter name="questions">[
|
|
64
|
+
{
|
|
65
|
+
"question": "What accessibility work do you need to do?",
|
|
66
|
+
"header": "Accessibility task",
|
|
67
|
+
"multiSelect": false,
|
|
68
|
+
"options": [
|
|
69
|
+
{"label": "Audit an existing page or component for WCAG 2.2 issues (Recommended)", "description": "I'll run through automated scanning + manual keyboard + screen reader checks and give you a prioritised fix list"},
|
|
70
|
+
{"label": "Build a new UI component accessibly from scratch", "description": "Choose the right HTML element, add ARIA only where needed, wire up keyboard behaviour, write axe-core tests"},
|
|
71
|
+
{"label": "Fix a specific accessibility bug", "description": "Describe the issue — focus trap, missing label, colour contrast failure — and I'll diagnose and patch it"},
|
|
72
|
+
{"label": "Set up automated a11y testing in CI", "description": "Integrate axe-core, eslint-plugin-jsx-a11y, Pa11y, or Lighthouse into your test pipeline"},
|
|
73
|
+
{"label": "Prepare for an ADA / Section 508 compliance review", "description": "Systematic WCAG 2.2 AA checklist, VPAT preparation, audit report structure"}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
]</parameter>
|
|
77
|
+
</invoke>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Route based on answer:**
|
|
81
|
+
|
|
82
|
+
| Task | Next action |
|
|
83
|
+
| ----------------------------- | ----------------------------------------------------------------------- |
|
|
84
|
+
| Audit existing page/component | Follow `workflows/audit-page.md` |
|
|
85
|
+
| Build new component | Follow `workflows/implement-accessible-component.md` |
|
|
86
|
+
| Fix specific bug | Diagnose with `references/aria-patterns.md`, apply fix, verify with axe |
|
|
87
|
+
| Set up CI testing | See Testing Checklist in `references/testing-checklist.md` |
|
|
88
|
+
| Compliance review | Walk WCAG 2.2 AA checklist in `references/wcag-guide.md` |
|
|
89
|
+
|
|
90
|
+
## The POUR principles
|
|
91
|
+
|
|
92
|
+
WCAG 2.2 organises all success criteria under four principles. Every accessibility decision maps to one of these.
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
96
|
+
│ PERCEIVABLE Content must be presentable to users in ways │
|
|
97
|
+
│ they can perceive — text alternatives, captions, │
|
|
98
|
+
│ sufficient contrast, adaptable layout. │
|
|
99
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
100
|
+
│ OPERABLE UI components and navigation must be operable │
|
|
101
|
+
│ — keyboard accessible, no seizure triggers, │
|
|
102
|
+
│ enough time, findable content. │
|
|
103
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
104
|
+
│ UNDERSTANDABLE Information and UI operation must be │
|
|
105
|
+
│ understandable — readable, predictable, │
|
|
106
|
+
│ input assistance, error prevention. │
|
|
107
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
108
|
+
│ ROBUST Content must be robust enough for current and │
|
|
109
|
+
│ future assistive technologies — valid markup, │
|
|
110
|
+
│ name/role/value, status messages. │
|
|
111
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Conformance levels:**
|
|
115
|
+
|
|
116
|
+
- **Level A** — Minimum. Critical barriers that prevent access entirely.
|
|
117
|
+
- **Level AA** — Industry standard. Required for ADA, Section 508, EN 301 549. Target for all products.
|
|
118
|
+
- **Level AAA** — Enhanced. Not required for full-site conformance; implement where feasible.
|
|
119
|
+
|
|
120
|
+
## Who benefits and how
|
|
121
|
+
|
|
122
|
+
Accessibility is not a niche concern. It benefits the majority of users.
|
|
123
|
+
|
|
124
|
+
| Disability category | Affected population | Assistive technology | WCAG principle |
|
|
125
|
+
| --------------------------------- | ------------------------------------------- | ------------------------------------------------- | ------------------- |
|
|
126
|
+
| Visual (blind) | ~39M globally blind | Screen readers (JAWS, NVDA, VoiceOver) | Perceivable, Robust |
|
|
127
|
+
| Visual (low vision) | ~246M globally | Screen magnifiers, large text, high contrast | Perceivable |
|
|
128
|
+
| Visual (colour blind) | ~300M globally (~8% men) | Colour contrast, pattern alternatives | Perceivable |
|
|
129
|
+
| Motor (limited dexterity) | ~2M wheelchair users in US | Keyboard navigation, switch access, voice control | Operable |
|
|
130
|
+
| Motor (tremor, repetitive strain) | Tens of millions | Larger touch targets, reduced motion | Operable |
|
|
131
|
+
| Cognitive / learning | ~15–20% of population | Plain language, consistent layout, error recovery | Understandable |
|
|
132
|
+
| Deaf / hard of hearing | ~430M globally | Captions, transcripts, visual alerts | Perceivable |
|
|
133
|
+
| Vestibular / seizure | ~3M epilepsy in US | Reduced motion, no flashing content | Operable |
|
|
134
|
+
| Temporary (broken arm, surgery) | Situational, affects everyone at some point | All of the above | All |
|
|
135
|
+
|
|
136
|
+
**The business case:**
|
|
137
|
+
|
|
138
|
+
- **1 billion+ people** worldwide have some form of disability (WHO).
|
|
139
|
+
- In the US, people with disabilities control **~$490B in discretionary spending**.
|
|
140
|
+
- ADA Title III digital lawsuits have exceeded **4,000 per year** in recent years; most settle for $25K–$100K+.
|
|
141
|
+
- Inaccessible sites face procurement exclusion from government and enterprise buyers (Section 508 requirements).
|
|
142
|
+
- Screen reader users abandon inaccessible sites at very high rates — directly lost revenue.
|
|
143
|
+
- Accessibility improvements also benefit SEO (semantic HTML, alt text, structured content).
|
|
144
|
+
|
|
145
|
+
## Semantic HTML as the foundation
|
|
146
|
+
|
|
147
|
+
The single most impactful accessibility change you can make is using the correct HTML element.
|
|
148
|
+
|
|
149
|
+
```html
|
|
150
|
+
<!-- Bad: div soup — no semantics, no keyboard access, screen reader silent -->
|
|
151
|
+
<div class="btn" onclick="submit()">Submit</div>
|
|
152
|
+
<div class="nav">
|
|
153
|
+
<div onclick="goto('home')">Home</div>
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
<!-- Good: native semantics — keyboard accessible, screen reader announces role -->
|
|
157
|
+
<button type="submit">Submit</button>
|
|
158
|
+
<nav aria-label="Main navigation">
|
|
159
|
+
<a href="/">Home</a>
|
|
160
|
+
</nav>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Why native HTML wins:**
|
|
164
|
+
|
|
165
|
+
- Built-in keyboard support (Enter/Space for buttons, arrows for radio groups, etc.)
|
|
166
|
+
- Built-in ARIA role, name, and state (no extra attributes needed)
|
|
167
|
+
- Works across all browsers and assistive technologies without additional scripting
|
|
168
|
+
- Fewer bugs — browsers have tested these for decades
|
|
169
|
+
|
|
170
|
+
**HTML element quick reference:**
|
|
171
|
+
|
|
172
|
+
| Use case | Correct element | Common mistake |
|
|
173
|
+
| ---------------- | ---------------------------------------------------- | --------------------------------- |
|
|
174
|
+
| Clickable action | `<button>` | `<div onclick>`, `<span onclick>` |
|
|
175
|
+
| Navigation link | `<a href>` | `<div onclick>` |
|
|
176
|
+
| Page sections | `<main>`, `<nav>`, `<header>`, `<footer>`, `<aside>` | `<div id="main">` |
|
|
177
|
+
| Content sections | `<section>`, `<article>` | nested `<div>` |
|
|
178
|
+
| Headings | `<h1>`–`<h6>` in logical order | `<div class="heading">` |
|
|
179
|
+
| Form inputs | `<input>`, `<select>`, `<textarea>` with `<label>` | Unlabelled inputs |
|
|
180
|
+
| Data tables | `<table>` with `<th scope>`, `<caption>` | CSS grid faking a table |
|
|
181
|
+
| Lists | `<ul>/<ol>` + `<li>` | `<div>` with bullet CSS |
|
|
182
|
+
| Collapsible | `<details>/<summary>` | Custom accordion with no ARIA |
|
|
183
|
+
|
|
184
|
+
## ARIA: last resort, not first choice
|
|
185
|
+
|
|
186
|
+
ARIA (Accessible Rich Internet Applications) supplements HTML — it does not replace it.
|
|
187
|
+
|
|
188
|
+
**Use ARIA only when:**
|
|
189
|
+
|
|
190
|
+
1. No native HTML element exists for the pattern (custom combobox, tree view, data grid)
|
|
191
|
+
2. Dynamic content updates need announcement (loading spinners, live search results)
|
|
192
|
+
3. Relationships cannot be expressed in HTML (cross-section labelling, ownership)
|
|
193
|
+
|
|
194
|
+
**The five ARIA rules (W3C):**
|
|
195
|
+
|
|
196
|
+
1. **Use native HTML first.** `<button>` is always better than `<div role="button">`.
|
|
197
|
+
2. **Don't override native semantics.** Don't put `role="heading"` on a `<p>`.
|
|
198
|
+
3. **All interactive ARIA widgets must support keyboard.** If you add a role, add keyboard handlers.
|
|
199
|
+
4. **Don't hide focusable elements.** `aria-hidden="true"` must not be on or contain focusable elements.
|
|
200
|
+
5. **Interactive elements need an accessible name.** Button, input, link — must have a label.
|
|
201
|
+
|
|
202
|
+
## Focus management
|
|
203
|
+
|
|
204
|
+
Focus management is one of the most commonly broken accessibility requirements in SPAs and dynamic UIs.
|
|
205
|
+
|
|
206
|
+
**Rules:**
|
|
207
|
+
|
|
208
|
+
- Focus must always be visible — never `outline: none` without a custom focus style
|
|
209
|
+
- Focus order must follow reading order (DOM order, not CSS visual order)
|
|
210
|
+
- Modal dialogs must trap focus inside while open; release on close
|
|
211
|
+
- On modal close, focus returns to the element that triggered it
|
|
212
|
+
- Route changes in SPAs: move focus to the page `<h1>` or `<main>` landmark
|
|
213
|
+
- Dynamically added content: announce via `aria-live` or move focus if triggered by user action
|
|
214
|
+
|
|
215
|
+
```css
|
|
216
|
+
/* Acceptable: custom focus style instead of removing outline */
|
|
217
|
+
:focus-visible {
|
|
218
|
+
outline: 2px solid #005fcc;
|
|
219
|
+
outline-offset: 2px;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* Unacceptable: removing focus indicator entirely */
|
|
223
|
+
* {
|
|
224
|
+
outline: none;
|
|
225
|
+
} /* Never do this */
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Colour and contrast
|
|
229
|
+
|
|
230
|
+
**WCAG 2.2 AA thresholds:**
|
|
231
|
+
|
|
232
|
+
| Content type | Minimum ratio | Notes |
|
|
233
|
+
| ---------------------------------- | -------------- | ------------------------------------- |
|
|
234
|
+
| Normal text (< 18pt / < 14pt bold) | 4.5:1 | Most body text |
|
|
235
|
+
| Large text (≥ 18pt or ≥ 14pt bold) | 3:1 | Headlines, display text |
|
|
236
|
+
| UI components (borders, icons) | 3:1 | Against adjacent colour |
|
|
237
|
+
| Focus indicators | 3:1 | Against adjacent colour (2.4.11) |
|
|
238
|
+
| Disabled controls | No requirement | But should be clearly distinguishable |
|
|
239
|
+
| Decorative images | No requirement | Alt="" to mark as decorative |
|
|
240
|
+
|
|
241
|
+
**Tools:**
|
|
242
|
+
|
|
243
|
+
- Browser DevTools — Elements panel shows contrast ratio in colour picker
|
|
244
|
+
- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) (free desktop app)
|
|
245
|
+
- [Who Can Use](https://www.whocanuse.com/) — shows how many people are affected at each ratio
|
|
246
|
+
- `axe-core` — catches AA failures automatically
|
|
247
|
+
|
|
248
|
+
**Common trap:** Placeholder text in inputs often fails contrast because browsers render it at ~40% opacity. Always check placeholder contrast separately from label contrast.
|
|
249
|
+
|
|
250
|
+
## Automated testing integration
|
|
251
|
+
|
|
252
|
+
Automated tools catch approximately 30–40% of WCAG issues. They are necessary but not sufficient.
|
|
253
|
+
|
|
254
|
+
**Recommended stack:**
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Install axe-core for Vitest/Jest
|
|
258
|
+
npm install --save-dev @axe-core/react axe-core vitest-axe
|
|
259
|
+
|
|
260
|
+
# eslint-plugin-jsx-a11y for lint-time checks
|
|
261
|
+
npm install --save-dev eslint-plugin-jsx-a11y
|
|
262
|
+
|
|
263
|
+
# Pa11y for CLI/CI scanning
|
|
264
|
+
npm install --save-dev pa11y
|
|
265
|
+
|
|
266
|
+
# Lighthouse CI for automated score tracking
|
|
267
|
+
npm install --save-dev @lhci/cli
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**axe-core test example (Vitest + React Testing Library):**
|
|
271
|
+
|
|
272
|
+
```js
|
|
273
|
+
import { render } from "@testing-library/react";
|
|
274
|
+
import { axe, toHaveNoViolations } from "vitest-axe";
|
|
275
|
+
import { expect } from "vitest";
|
|
276
|
+
import { LoginForm } from "./LoginForm";
|
|
277
|
+
|
|
278
|
+
expect.extend(toHaveNoViolations);
|
|
279
|
+
|
|
280
|
+
it("LoginForm has no axe violations", async () => {
|
|
281
|
+
const { container } = render(<LoginForm />);
|
|
282
|
+
const results = await axe(container);
|
|
283
|
+
expect(results).toHaveNoViolations();
|
|
284
|
+
});
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**eslint config (eslint.config.js flat config):**
|
|
288
|
+
|
|
289
|
+
```js
|
|
290
|
+
import jsxA11y from "eslint-plugin-jsx-a11y";
|
|
291
|
+
|
|
292
|
+
export default [
|
|
293
|
+
jsxA11y.flatConfigs.recommended,
|
|
294
|
+
{
|
|
295
|
+
rules: {
|
|
296
|
+
"jsx-a11y/no-autofocus": "warn",
|
|
297
|
+
"jsx-a11y/anchor-is-valid": "error",
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
];
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Screen reader testing matrix
|
|
304
|
+
|
|
305
|
+
| Screen reader | Browser | Platform | Priority |
|
|
306
|
+
| ------------- | ------- | ---------- | ----------------------------- |
|
|
307
|
+
| VoiceOver | Safari | macOS, iOS | High — Apple devices dominant |
|
|
308
|
+
| NVDA (free) | Firefox | Windows | High — most common Windows SR |
|
|
309
|
+
| JAWS | Chrome | Windows | High — enterprise standard |
|
|
310
|
+
| TalkBack | Chrome | Android | Medium — mobile |
|
|
311
|
+
| Narrator | Edge | Windows | Low — rarely primary |
|
|
312
|
+
|
|
313
|
+
**Quick VoiceOver commands (macOS):**
|
|
314
|
+
|
|
315
|
+
- Turn on/off: `Cmd + F5`
|
|
316
|
+
- Navigate by headings: `VO + Cmd + H`
|
|
317
|
+
- Navigate by form controls: `VO + Cmd + J`
|
|
318
|
+
- Read from cursor: `VO + A`
|
|
319
|
+
- Navigate landmarks: `VO + U` (rotor)
|
|
320
|
+
|
|
321
|
+
**Quick NVDA commands (Windows):**
|
|
322
|
+
|
|
323
|
+
- Turn on: `Ctrl + Alt + N`
|
|
324
|
+
- Navigate by headings: `H`
|
|
325
|
+
- Navigate by landmarks: `D`
|
|
326
|
+
- Navigate by form fields: `F`
|
|
327
|
+
- List all headings: `Insert + F7`
|
|
328
|
+
|
|
329
|
+
## Quality checklist
|
|
330
|
+
|
|
331
|
+
Before delivering any accessible component or audit fix:
|
|
332
|
+
|
|
333
|
+
- [ ] All interactive elements reachable and operable via keyboard alone
|
|
334
|
+
- [ ] Focus indicator visible on every interactive element (`outline: none` removed or replaced)
|
|
335
|
+
- [ ] Focus order follows logical reading order
|
|
336
|
+
- [ ] All images have appropriate alt text (descriptive or `alt=""` for decorative)
|
|
337
|
+
- [ ] All form inputs have a programmatically associated label
|
|
338
|
+
- [ ] Error messages identify the field and suggest correction (not just red border)
|
|
339
|
+
- [ ] Colour contrast meets 4.5:1 for body text, 3:1 for large text and UI components
|
|
340
|
+
- [ ] Information is not conveyed by colour alone
|
|
341
|
+
- [ ] Dynamic content changes announced via `aria-live` or focus management
|
|
342
|
+
- [ ] Modal dialogs trap focus, return focus on close, respond to Escape
|
|
343
|
+
- [ ] Page has a `<title>` and a logical heading hierarchy starting with `<h1>`
|
|
344
|
+
- [ ] `<html lang>` is set correctly
|
|
345
|
+
- [ ] Skip navigation link present and functional
|
|
346
|
+
- [ ] axe-core reports zero violations in automated tests
|
|
347
|
+
- [ ] Tested with at least one screen reader (VoiceOver or NVDA)
|
|
348
|
+
- [ ] Tested with keyboard only (no mouse)
|
|
349
|
+
- [ ] Tested at 200% zoom without horizontal scrolling
|
|
350
|
+
|
|
351
|
+
## Self-improving learnings
|
|
352
|
+
|
|
353
|
+
`_learnings/accessibility.yaml` records:
|
|
354
|
+
|
|
355
|
+
- Component library in use (Radix UI, Headless UI, MUI, custom) and its a11y baseline
|
|
356
|
+
- Screen reader(s) the team tests with
|
|
357
|
+
- axe-core rules the team has intentionally disabled and why
|
|
358
|
+
- Known contrast waivers (branding colours that can't be changed)
|
|
359
|
+
- Whether the project has a Lighthouse CI threshold configured
|
|
360
|
+
- Patterns the team has already implemented (skip links, focus traps, live regions)
|
|
361
|
+
|
|
362
|
+
Apply on invocation; update on correction.
|
|
363
|
+
|
|
364
|
+
## References
|
|
365
|
+
|
|
366
|
+
Load these files when you need deeper context:
|
|
367
|
+
|
|
368
|
+
| File | When to load |
|
|
369
|
+
| --------------------------------- | ----------------------------------------------------------------------------- |
|
|
370
|
+
| `references/wcag-guide.md` | Full WCAG 2.2 success criterion breakdown with implementation examples |
|
|
371
|
+
| `references/aria-patterns.md` | Common ARIA patterns: modals, accordions, live regions, navigation menus |
|
|
372
|
+
| `references/testing-checklist.md` | Automated + manual testing procedures, tool setup, common issues by component |
|
|
373
|
+
|
|
374
|
+
## Workflows
|
|
375
|
+
|
|
376
|
+
Follow these step-by-step when the user initiates the matching action:
|
|
377
|
+
|
|
378
|
+
| File | When to follow |
|
|
379
|
+
| --------------------------------------------- | -------------------------------------------------------------------------- |
|
|
380
|
+
| `workflows/audit-page.md` | User wants to audit an existing page or component for accessibility issues |
|
|
381
|
+
| `workflows/implement-accessible-component.md` | User is building a new UI component and wants it accessible from the start |
|
|
382
|
+
|
|
383
|
+
## Integration
|
|
384
|
+
|
|
385
|
+
- **agileflow-test-writer** — add axe-core and keyboard navigation tests alongside unit tests for every new component; accessibility fixes need regression coverage
|
|
386
|
+
- **agileflow-story-writer** — include WCAG-level accessibility acceptance criteria in user stories before implementation begins, not as an afterthought
|
|
387
|
+
- **agileflow-engineering** — delegate the implementation of accessibility fixes (ARIA attributes, focus management, semantic HTML corrections) to engineering
|
|
388
|
+
- **agileflow-audit** — the accessibility dimension of a full audit feeds into this skill for WCAG-specific remediation and severity prioritisation
|
|
389
|
+
- **agileflow-pr-reviewer** — invoke accessibility checks as part of PR review for any story touching UI components or interactive elements; it's a merge gate, not optional
|
|
390
|
+
- **agileflow-delivery** — accessibility review is required before shipping user-facing features; delivery should block on unresolved P0/P1 WCAG violations
|
|
391
|
+
- **agileflow-seo** — semantic HTML, alt text quality, and heading hierarchy improvements benefit both accessibility and search ranking simultaneously
|
|
392
|
+
- **agileflow-research** — use when implementing complex patterns (data tables, multi-step forms, modals with focus traps) to verify correct ARIA patterns before coding
|