agileflow 3.4.3 → 4.0.0-alpha.2
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 +238 -473
- package/README.md +22 -114
- package/bin/agileflow.js +15 -0
- package/bin/hooks/pre-bash.js +35 -0
- package/bin/hooks/pre-compact.js +34 -0
- package/bin/hooks/pre-edit.js +32 -0
- package/bin/hooks/pre-write.js +32 -0
- package/bin/hooks/session-start.js +42 -0
- package/bin/hooks/stop.js +34 -0
- package/content/plugins/ads/plugin.yaml +14 -0
- package/content/plugins/audit/plugin.yaml +14 -0
- package/content/plugins/core/hooks/babysit-mentor-injector.js +55 -0
- package/content/plugins/core/hooks/context-loader.js +169 -0
- package/content/plugins/core/hooks/damage-control-bash.js +78 -0
- package/content/plugins/core/hooks/damage-control-edit.js +76 -0
- package/content/plugins/core/hooks/damage-control-patterns.yaml +100 -0
- package/content/plugins/core/hooks/damage-control-write.js +72 -0
- package/content/plugins/core/hooks/pre-compact-state.js +90 -0
- package/content/plugins/core/hooks/session-welcome.js +19 -0
- package/content/plugins/core/plugin.yaml +82 -0
- package/content/plugins/core/skills/agileflow-adr/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +144 -0
- package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +179 -0
- package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +132 -0
- package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +200 -0
- package/content/plugins/council/plugin.yaml +14 -0
- package/content/plugins/seo/plugin.yaml +14 -0
- package/package.json +29 -49
- package/src/cli/commands/doctor.js +159 -0
- package/src/cli/commands/hook.js +80 -0
- package/src/cli/commands/setup.js +292 -0
- package/src/cli/commands/status.js +47 -0
- package/src/cli/commands/update.js +83 -0
- package/src/cli/index.js +73 -0
- package/src/cli/wizard/behaviors-picker.js +108 -0
- package/src/cli/wizard/ide-picker.js +57 -0
- package/src/cli/wizard/personalization.js +64 -0
- package/src/cli/wizard/plugin-picker.js +106 -0
- package/src/lib/hash.js +41 -0
- package/src/runtime/config/defaults.js +61 -0
- package/src/runtime/config/loader.js +117 -0
- package/src/runtime/config/schema.json +99 -0
- package/src/runtime/config/writer.js +55 -0
- package/src/runtime/hooks/aggregator.js +157 -0
- package/src/runtime/hooks/chain.js +93 -0
- package/src/runtime/hooks/logger.js +68 -0
- package/src/runtime/hooks/manifest-loader.js +228 -0
- package/src/runtime/hooks/orchestrator.js +322 -0
- package/src/runtime/ide/capabilities.js +111 -0
- package/src/runtime/ide/claude-code-settings.js +234 -0
- package/src/runtime/ide/claude-code-skills.js +202 -0
- package/src/runtime/installer/file-index.js +112 -0
- package/src/runtime/installer/install.js +329 -0
- package/src/runtime/installer/stash.js +61 -0
- package/src/runtime/installer/sync-engine.js +205 -0
- package/src/runtime/plugins/registry.js +132 -0
- package/src/runtime/plugins/resolver.js +138 -0
- package/src/runtime/plugins/validator.js +196 -0
- package/src/runtime/skills/validator.js +335 -0
- package/lib/README.md +0 -178
- package/lib/api-routes.js +0 -625
- package/lib/api-server.js +0 -278
- package/lib/cache-provider.js +0 -155
- package/lib/codebase-indexer.js +0 -819
- package/lib/colors.generated.js +0 -117
- package/lib/colors.js +0 -341
- package/lib/consent.js +0 -232
- package/lib/content-sanitizer.js +0 -464
- package/lib/correlation.js +0 -277
- package/lib/drivers/claude-driver.ts +0 -312
- package/lib/drivers/codex-driver.ts +0 -464
- package/lib/drivers/driver-manager.ts +0 -159
- package/lib/drivers/gemini-driver.ts +0 -498
- package/lib/drivers/index.ts +0 -17
- package/lib/error-codes.js +0 -590
- package/lib/errors.js +0 -670
- package/lib/feature-flags.js +0 -171
- package/lib/feedback.js +0 -595
- package/lib/file-cache.js +0 -541
- package/lib/flag-detection.js +0 -344
- package/lib/format-error.js +0 -156
- package/lib/gate-runner.js +0 -282
- package/lib/generator-factory.js +0 -333
- package/lib/git-operations.js +0 -266
- package/lib/lazy-require.js +0 -59
- package/lib/lock-file.js +0 -144
- package/lib/logger.js +0 -106
- package/lib/merge-operations.js +0 -1006
- package/lib/path-resolver.js +0 -544
- package/lib/path-utils.js +0 -49
- package/lib/paths.js +0 -291
- package/lib/placeholder-registry.js +0 -822
- package/lib/process-executor.js +0 -214
- package/lib/progress.js +0 -334
- package/lib/protocol/driver.ts +0 -354
- package/lib/protocol/index.ts +0 -12
- package/lib/protocol/ir.ts +0 -271
- package/lib/registry-cache.js +0 -80
- package/lib/registry-di.js +0 -358
- package/lib/result-schema.js +0 -363
- package/lib/result.js +0 -210
- package/lib/session-display.js +0 -331
- package/lib/session-operations.js +0 -611
- package/lib/session-registry.js +0 -484
- package/lib/session-state-machine.js +0 -465
- package/lib/session-switching.js +0 -191
- package/lib/skill-loader.js +0 -213
- package/lib/smart-json-file.js +0 -682
- package/lib/state-machine.js +0 -286
- package/lib/table-formatter.js +0 -519
- package/lib/template-loader.js +0 -143
- package/lib/transient-status.js +0 -374
- package/lib/ui-manager.js +0 -612
- package/lib/validate-args.js +0 -213
- package/lib/validate-commands.js +0 -308
- package/lib/validate-names.js +0 -143
- package/lib/validate-paths.js +0 -434
- package/lib/validate.js +0 -134
- package/lib/worktree-operations.js +0 -201
- package/lib/yaml-utils.js +0 -164
- package/scripts/README.md +0 -267
- package/scripts/af +0 -34
- package/scripts/agent-loop.js +0 -879
- package/scripts/agileflow-configure.js +0 -368
- package/scripts/agileflow-statusline.sh +0 -857
- package/scripts/agileflow-welcome.js +0 -2246
- package/scripts/api-server-runner.js +0 -177
- package/scripts/archive-completed-stories.sh +0 -308
- package/scripts/auto-self-improve.js +0 -326
- package/scripts/automation-run-due.js +0 -128
- package/scripts/babysit-clear-restore.js +0 -154
- package/scripts/babysit-context-restore.js +0 -89
- package/scripts/backfill-ideation-status.js +0 -128
- package/scripts/batch-pmap-loop.js +0 -551
- package/scripts/check-sessions.js +0 -116
- package/scripts/check-update.js +0 -282
- package/scripts/ci-summary.js +0 -294
- package/scripts/claude-smart.sh +0 -85
- package/scripts/claude-tmux.sh +0 -737
- package/scripts/claude-watchdog.sh +0 -225
- package/scripts/clear-active-command.js +0 -48
- package/scripts/compress-status.sh +0 -116
- package/scripts/context-loader.js +0 -310
- package/scripts/damage-control/bash-tool-damage-control.js +0 -22
- package/scripts/damage-control/edit-tool-damage-control.js +0 -19
- package/scripts/damage-control/patterns.yaml +0 -227
- package/scripts/damage-control/write-tool-damage-control.js +0 -19
- package/scripts/damage-control-bash.js +0 -51
- package/scripts/damage-control-edit.js +0 -48
- package/scripts/damage-control-multi-agent.js +0 -231
- package/scripts/damage-control-write.js +0 -48
- package/scripts/dependency-check.js +0 -311
- package/scripts/document-repl.js +0 -793
- package/scripts/expertise-metrics.sh +0 -264
- package/scripts/generate-all.sh +0 -77
- package/scripts/generate-colors.js +0 -314
- package/scripts/generators/agent-registry.js +0 -183
- package/scripts/generators/command-registry.js +0 -166
- package/scripts/generators/index.js +0 -85
- package/scripts/generators/inject-babysit.js +0 -191
- package/scripts/generators/inject-help.js +0 -125
- package/scripts/generators/inject-readme.js +0 -166
- package/scripts/generators/skill-registry.js +0 -188
- package/scripts/get-env.js +0 -225
- package/scripts/init.sh +0 -76
- package/scripts/lib/README-portable-tasks.md +0 -424
- package/scripts/lib/ac-test-matcher.js +0 -452
- package/scripts/lib/audit-cleanup.js +0 -250
- package/scripts/lib/audit-registry.js +0 -340
- package/scripts/lib/automation-registry.js +0 -544
- package/scripts/lib/automation-runner.js +0 -476
- package/scripts/lib/browser-qa-evidence.js +0 -409
- package/scripts/lib/browser-qa-status.js +0 -192
- package/scripts/lib/bus-utils.js +0 -473
- package/scripts/lib/colors.generated.sh +0 -82
- package/scripts/lib/colors.sh +0 -46
- package/scripts/lib/command-prereqs.js +0 -280
- package/scripts/lib/concurrency-limiter.js +0 -511
- package/scripts/lib/configure-detect.js +0 -596
- package/scripts/lib/configure-features.js +0 -1927
- package/scripts/lib/configure-repair.js +0 -327
- package/scripts/lib/configure-utils.js +0 -114
- package/scripts/lib/context-formatter.js +0 -1158
- package/scripts/lib/context-loader.js +0 -840
- package/scripts/lib/counter.js +0 -103
- package/scripts/lib/damage-control-utils.js +0 -619
- package/scripts/lib/feature-catalog.js +0 -332
- package/scripts/lib/file-lock.js +0 -392
- package/scripts/lib/file-tracking.js +0 -735
- package/scripts/lib/frontmatter-parser.js +0 -133
- package/scripts/lib/gate-enforcer.js +0 -295
- package/scripts/lib/hook-metrics.js +0 -324
- package/scripts/lib/ideation-index.js +0 -1205
- package/scripts/lib/json-utils.sh +0 -162
- package/scripts/lib/lifecycle-detector.js +0 -125
- package/scripts/lib/model-profiles.js +0 -118
- package/scripts/lib/portable-tasks-cli.js +0 -274
- package/scripts/lib/portable-tasks.js +0 -479
- package/scripts/lib/process-cleanup.js +0 -527
- package/scripts/lib/quality-gates.js +0 -788
- package/scripts/lib/scale-detector.js +0 -396
- package/scripts/lib/sessionRegistry.js +0 -678
- package/scripts/lib/signal-detectors.js +0 -867
- package/scripts/lib/skill-catalog.js +0 -557
- package/scripts/lib/skill-recommender.js +0 -311
- package/scripts/lib/state-migrator.js +0 -353
- package/scripts/lib/status-task-bridge.js +0 -522
- package/scripts/lib/status-writer.js +0 -255
- package/scripts/lib/story-claiming.js +0 -704
- package/scripts/lib/story-state-machine.js +0 -437
- package/scripts/lib/sync-ideation-status.js +0 -291
- package/scripts/lib/task-registry-cache.js +0 -490
- package/scripts/lib/task-registry.js +0 -1191
- package/scripts/lib/task-sync.js +0 -230
- package/scripts/lib/tdd-phase-manager.js +0 -455
- package/scripts/lib/team-events.js +0 -510
- package/scripts/lib/tmux-audit-monitor.js +0 -612
- package/scripts/lib/tmux-group-colors.js +0 -113
- package/scripts/lib/tool-registry.yaml +0 -241
- package/scripts/lib/tool-shed.js +0 -441
- package/scripts/lib/validation-registry.js +0 -177
- package/scripts/messaging-bridge.js +0 -561
- package/scripts/migrate-ideation-index.js +0 -553
- package/scripts/native-team-observer.js +0 -219
- package/scripts/obtain-context.js +0 -272
- package/scripts/pre-push-check.sh +0 -46
- package/scripts/precompact-context.sh +0 -306
- package/scripts/query-codebase.js +0 -543
- package/scripts/ralph-loop.js +0 -1278
- package/scripts/resume-session.sh +0 -121
- package/scripts/screenshot-verifier.js +0 -215
- package/scripts/session-boundary.js +0 -138
- package/scripts/session-coordinator.sh +0 -232
- package/scripts/session-manager.js +0 -546
- package/scripts/smart-detect.js +0 -449
- package/scripts/spawn-audit-sessions.js +0 -877
- package/scripts/spawn-parallel.js +0 -751
- package/scripts/strip-ai-attribution.js +0 -63
- package/scripts/task-completed-gate.js +0 -237
- package/scripts/team-manager.js +0 -596
- package/scripts/team-status-display.js +0 -200
- package/scripts/teammate-idle-gate.js +0 -237
- package/scripts/test-session-boundary.js +0 -80
- package/scripts/tmux-close-windows.sh +0 -180
- package/scripts/tmux-restore-window.sh +0 -67
- package/scripts/tmux-save-closed-window.sh +0 -35
- package/scripts/tui/App.js +0 -151
- package/scripts/tui/Dashboard.js +0 -277
- package/scripts/tui/blessed/data/watcher.js +0 -180
- package/scripts/tui/blessed/index.js +0 -244
- package/scripts/tui/blessed/panels/output.js +0 -101
- package/scripts/tui/blessed/panels/sessions.js +0 -150
- package/scripts/tui/blessed/panels/trace.js +0 -97
- package/scripts/tui/blessed/ui/help.js +0 -77
- package/scripts/tui/blessed/ui/screen.js +0 -52
- package/scripts/tui/blessed/ui/statusbar.js +0 -47
- package/scripts/tui/blessed/ui/tabbar.js +0 -99
- package/scripts/tui/index.js +0 -70
- package/scripts/tui/lib/crashRecovery.js +0 -304
- package/scripts/tui/lib/eventStream.js +0 -309
- package/scripts/tui/lib/keyboard.js +0 -261
- package/scripts/tui/lib/loopControl.js +0 -371
- package/scripts/tui/panels/OutputPanel.js +0 -240
- package/scripts/tui/panels/SessionPanel.js +0 -170
- package/scripts/tui/panels/TracePanel.js +0 -298
- package/scripts/tui/simple-tui.js +0 -510
- package/scripts/validate-expertise.sh +0 -263
- package/scripts/validate-tokens.sh +0 -73
- package/scripts/validators/README.md +0 -143
- package/scripts/validators/component-validator.js +0 -239
- package/scripts/validators/json-schema-validator.js +0 -186
- package/scripts/validators/markdown-validator.js +0 -152
- package/scripts/validators/migration-validator.js +0 -129
- package/scripts/validators/security-validator.js +0 -380
- package/scripts/validators/story-format-validator.js +0 -197
- package/scripts/validators/test-result-validator.js +0 -114
- package/scripts/validators/workflow-validator.js +0 -247
- package/scripts/welcome-deferred.js +0 -437
- package/scripts/worktree-create.sh +0 -111
- package/src/core/agents/a11y-analyzer-aria.md +0 -155
- package/src/core/agents/a11y-analyzer-forms.md +0 -162
- package/src/core/agents/a11y-analyzer-keyboard.md +0 -175
- package/src/core/agents/a11y-analyzer-semantic.md +0 -153
- package/src/core/agents/a11y-analyzer-visual.md +0 -158
- package/src/core/agents/a11y-consensus.md +0 -248
- package/src/core/agents/accessibility.md +0 -515
- package/src/core/agents/adr-writer.md +0 -463
- package/src/core/agents/ads-audit-budget.md +0 -181
- package/src/core/agents/ads-audit-compliance.md +0 -169
- package/src/core/agents/ads-audit-creative.md +0 -164
- package/src/core/agents/ads-audit-google.md +0 -226
- package/src/core/agents/ads-audit-meta.md +0 -183
- package/src/core/agents/ads-audit-tracking.md +0 -197
- package/src/core/agents/ads-consensus.md +0 -396
- package/src/core/agents/ads-generate.md +0 -145
- package/src/core/agents/ads-performance-tracker.md +0 -197
- package/src/core/agents/analytics.md +0 -617
- package/src/core/agents/api-quality-analyzer-conventions.md +0 -148
- package/src/core/agents/api-quality-analyzer-docs.md +0 -176
- package/src/core/agents/api-quality-analyzer-errors.md +0 -183
- package/src/core/agents/api-quality-analyzer-pagination.md +0 -171
- package/src/core/agents/api-quality-analyzer-versioning.md +0 -143
- package/src/core/agents/api-quality-consensus.md +0 -214
- package/src/core/agents/api-validator.md +0 -183
- package/src/core/agents/api.md +0 -665
- package/src/core/agents/arch-analyzer-circular.md +0 -148
- package/src/core/agents/arch-analyzer-complexity.md +0 -171
- package/src/core/agents/arch-analyzer-coupling.md +0 -146
- package/src/core/agents/arch-analyzer-layering.md +0 -151
- package/src/core/agents/arch-analyzer-patterns.md +0 -162
- package/src/core/agents/arch-consensus.md +0 -227
- package/src/core/agents/brainstorm-analyzer-features.md +0 -169
- package/src/core/agents/brainstorm-analyzer-growth.md +0 -161
- package/src/core/agents/brainstorm-analyzer-integration.md +0 -172
- package/src/core/agents/brainstorm-analyzer-market.md +0 -147
- package/src/core/agents/brainstorm-analyzer-ux.md +0 -167
- package/src/core/agents/brainstorm-consensus.md +0 -237
- package/src/core/agents/browser-qa.md +0 -328
- package/src/core/agents/ci.md +0 -511
- package/src/core/agents/code-reviewer.md +0 -288
- package/src/core/agents/codebase-query.md +0 -266
- package/src/core/agents/completeness-analyzer-api.md +0 -190
- package/src/core/agents/completeness-analyzer-conditional.md +0 -201
- package/src/core/agents/completeness-analyzer-handlers.md +0 -159
- package/src/core/agents/completeness-analyzer-imports.md +0 -159
- package/src/core/agents/completeness-analyzer-routes.md +0 -182
- package/src/core/agents/completeness-analyzer-state.md +0 -188
- package/src/core/agents/completeness-analyzer-stubs.md +0 -198
- package/src/core/agents/completeness-consensus.md +0 -286
- package/src/core/agents/compliance.md +0 -509
- package/src/core/agents/council-advocate.md +0 -206
- package/src/core/agents/council-analyst.md +0 -252
- package/src/core/agents/council-optimist.md +0 -170
- package/src/core/agents/database.md +0 -601
- package/src/core/agents/datamigration.md +0 -699
- package/src/core/agents/design.md +0 -525
- package/src/core/agents/devops.md +0 -720
- package/src/core/agents/documentation.md +0 -504
- package/src/core/agents/epic-planner.md +0 -480
- package/src/core/agents/error-analyzer.md +0 -201
- package/src/core/agents/integrations.md +0 -603
- package/src/core/agents/legal-analyzer-a11y.md +0 -110
- package/src/core/agents/legal-analyzer-ai.md +0 -117
- package/src/core/agents/legal-analyzer-consumer.md +0 -108
- package/src/core/agents/legal-analyzer-content.md +0 -113
- package/src/core/agents/legal-analyzer-international.md +0 -115
- package/src/core/agents/legal-analyzer-licensing.md +0 -115
- package/src/core/agents/legal-analyzer-privacy.md +0 -108
- package/src/core/agents/legal-analyzer-security.md +0 -112
- package/src/core/agents/legal-analyzer-terms.md +0 -111
- package/src/core/agents/legal-consensus.md +0 -242
- package/src/core/agents/logic-analyzer-edge.md +0 -170
- package/src/core/agents/logic-analyzer-flow.md +0 -253
- package/src/core/agents/logic-analyzer-invariant.md +0 -206
- package/src/core/agents/logic-analyzer-race.md +0 -266
- package/src/core/agents/logic-analyzer-type.md +0 -217
- package/src/core/agents/logic-consensus.md +0 -253
- package/src/core/agents/mentor.md +0 -654
- package/src/core/agents/mobile.md +0 -501
- package/src/core/agents/monitoring.md +0 -537
- package/src/core/agents/multi-expert.md +0 -311
- package/src/core/agents/orchestrator.md +0 -749
- package/src/core/agents/perf-analyzer-assets.md +0 -174
- package/src/core/agents/perf-analyzer-bundle.md +0 -165
- package/src/core/agents/perf-analyzer-caching.md +0 -160
- package/src/core/agents/perf-analyzer-compute.md +0 -165
- package/src/core/agents/perf-analyzer-memory.md +0 -182
- package/src/core/agents/perf-analyzer-network.md +0 -157
- package/src/core/agents/perf-analyzer-queries.md +0 -155
- package/src/core/agents/perf-analyzer-rendering.md +0 -156
- package/src/core/agents/perf-consensus.md +0 -280
- package/src/core/agents/performance.md +0 -492
- package/src/core/agents/product.md +0 -535
- package/src/core/agents/qa.md +0 -765
- package/src/core/agents/readme-updater.md +0 -579
- package/src/core/agents/refactor.md +0 -558
- package/src/core/agents/research.md +0 -453
- package/src/core/agents/rlm-subcore.md +0 -207
- package/src/core/agents/schema-validator.md +0 -454
- package/src/core/agents/security-analyzer-api.md +0 -199
- package/src/core/agents/security-analyzer-auth.md +0 -160
- package/src/core/agents/security-analyzer-authz.md +0 -168
- package/src/core/agents/security-analyzer-deps.md +0 -147
- package/src/core/agents/security-analyzer-infra.md +0 -176
- package/src/core/agents/security-analyzer-injection.md +0 -148
- package/src/core/agents/security-analyzer-input.md +0 -191
- package/src/core/agents/security-analyzer-secrets.md +0 -175
- package/src/core/agents/security-consensus.md +0 -276
- package/src/core/agents/security.md +0 -486
- package/src/core/agents/seo-analyzer-content.md +0 -167
- package/src/core/agents/seo-analyzer-images.md +0 -187
- package/src/core/agents/seo-analyzer-performance.md +0 -206
- package/src/core/agents/seo-analyzer-schema.md +0 -176
- package/src/core/agents/seo-analyzer-sitemap.md +0 -172
- package/src/core/agents/seo-analyzer-technical.md +0 -144
- package/src/core/agents/seo-consensus.md +0 -289
- package/src/core/agents/team-coordinator.md +0 -333
- package/src/core/agents/team-lead.md +0 -171
- package/src/core/agents/test-analyzer-assertions.md +0 -181
- package/src/core/agents/test-analyzer-coverage.md +0 -183
- package/src/core/agents/test-analyzer-fragility.md +0 -185
- package/src/core/agents/test-analyzer-integration.md +0 -155
- package/src/core/agents/test-analyzer-maintenance.md +0 -173
- package/src/core/agents/test-analyzer-mocking.md +0 -178
- package/src/core/agents/test-analyzer-patterns.md +0 -189
- package/src/core/agents/test-analyzer-structure.md +0 -177
- package/src/core/agents/test-consensus.md +0 -294
- package/src/core/agents/testing.md +0 -527
- package/src/core/agents/ui-validator.md +0 -331
- package/src/core/agents/ui.md +0 -1227
- package/src/core/commands/adr/list.md +0 -191
- package/src/core/commands/adr/update.md +0 -258
- package/src/core/commands/adr/view.md +0 -274
- package/src/core/commands/adr.md +0 -394
- package/src/core/commands/ads/audit.md +0 -453
- package/src/core/commands/ads/budget.md +0 -97
- package/src/core/commands/ads/competitor.md +0 -112
- package/src/core/commands/ads/creative.md +0 -85
- package/src/core/commands/ads/generate.md +0 -238
- package/src/core/commands/ads/google.md +0 -112
- package/src/core/commands/ads/health.md +0 -327
- package/src/core/commands/ads/landing.md +0 -119
- package/src/core/commands/ads/linkedin.md +0 -112
- package/src/core/commands/ads/meta.md +0 -91
- package/src/core/commands/ads/microsoft.md +0 -115
- package/src/core/commands/ads/plan.md +0 -321
- package/src/core/commands/ads/test-plan.md +0 -317
- package/src/core/commands/ads/tiktok.md +0 -129
- package/src/core/commands/ads/track.md +0 -288
- package/src/core/commands/ads/youtube.md +0 -124
- package/src/core/commands/ads.md +0 -140
- package/src/core/commands/agent.md +0 -256
- package/src/core/commands/api.md +0 -267
- package/src/core/commands/assign.md +0 -369
- package/src/core/commands/audit.md +0 -531
- package/src/core/commands/auto.md +0 -556
- package/src/core/commands/automate.md +0 -415
- package/src/core/commands/babysit.md +0 -643
- package/src/core/commands/baseline.md +0 -743
- package/src/core/commands/batch.md +0 -551
- package/src/core/commands/blockers.md +0 -602
- package/src/core/commands/board.md +0 -509
- package/src/core/commands/browser-qa.md +0 -240
- package/src/core/commands/changelog.md +0 -582
- package/src/core/commands/choose.md +0 -430
- package/src/core/commands/ci.md +0 -330
- package/src/core/commands/code/accessibility.md +0 -363
- package/src/core/commands/code/api.md +0 -313
- package/src/core/commands/code/architecture.md +0 -313
- package/src/core/commands/code/completeness.md +0 -519
- package/src/core/commands/code/legal.md +0 -509
- package/src/core/commands/code/logic.md +0 -432
- package/src/core/commands/code/performance.md +0 -506
- package/src/core/commands/code/security.md +0 -509
- package/src/core/commands/code/test.md +0 -505
- package/src/core/commands/compress.md +0 -408
- package/src/core/commands/configure.md +0 -1159
- package/src/core/commands/context/export.md +0 -296
- package/src/core/commands/context/full.md +0 -353
- package/src/core/commands/context/note.md +0 -380
- package/src/core/commands/council.md +0 -592
- package/src/core/commands/debt.md +0 -491
- package/src/core/commands/deploy.md +0 -864
- package/src/core/commands/deps.md +0 -728
- package/src/core/commands/diagnose.md +0 -404
- package/src/core/commands/docs.md +0 -469
- package/src/core/commands/epic/edit.md +0 -213
- package/src/core/commands/epic/list.md +0 -190
- package/src/core/commands/epic/view.md +0 -267
- package/src/core/commands/epic.md +0 -477
- package/src/core/commands/export.md +0 -238
- package/src/core/commands/feedback.md +0 -603
- package/src/core/commands/handoff.md +0 -386
- package/src/core/commands/help.md +0 -194
- package/src/core/commands/ideate/brief.md +0 -363
- package/src/core/commands/ideate/discover.md +0 -399
- package/src/core/commands/ideate/features.md +0 -497
- package/src/core/commands/ideate/history.md +0 -403
- package/src/core/commands/ideate/new.md +0 -900
- package/src/core/commands/impact.md +0 -407
- package/src/core/commands/install.md +0 -529
- package/src/core/commands/learn/explain.md +0 -118
- package/src/core/commands/learn/glossary.md +0 -135
- package/src/core/commands/learn/patterns.md +0 -138
- package/src/core/commands/learn/tour.md +0 -126
- package/src/core/commands/maintain.md +0 -558
- package/src/core/commands/metrics.md +0 -844
- package/src/core/commands/migrate/codemods.md +0 -151
- package/src/core/commands/migrate/plan.md +0 -131
- package/src/core/commands/migrate/scan.md +0 -114
- package/src/core/commands/migrate/validate.md +0 -119
- package/src/core/commands/multi-expert.md +0 -447
- package/src/core/commands/packages.md +0 -535
- package/src/core/commands/pr.md +0 -337
- package/src/core/commands/readme-sync.md +0 -329
- package/src/core/commands/research/analyze.md +0 -798
- package/src/core/commands/research/ask.md +0 -864
- package/src/core/commands/research/import.md +0 -1025
- package/src/core/commands/research/list.md +0 -273
- package/src/core/commands/research/synthesize.md +0 -928
- package/src/core/commands/research/view.md +0 -323
- package/src/core/commands/retro.md +0 -795
- package/src/core/commands/review.md +0 -694
- package/src/core/commands/rlm.md +0 -446
- package/src/core/commands/roadmap/analyze.md +0 -400
- package/src/core/commands/rpi.md +0 -633
- package/src/core/commands/seo/audit.md +0 -444
- package/src/core/commands/seo/competitor.md +0 -174
- package/src/core/commands/seo/content.md +0 -107
- package/src/core/commands/seo/geo.md +0 -229
- package/src/core/commands/seo/hreflang.md +0 -140
- package/src/core/commands/seo/images.md +0 -96
- package/src/core/commands/seo/page.md +0 -198
- package/src/core/commands/seo/plan.md +0 -163
- package/src/core/commands/seo/programmatic.md +0 -131
- package/src/core/commands/seo/references/cwv-thresholds.md +0 -64
- package/src/core/commands/seo/references/eeat-framework.md +0 -110
- package/src/core/commands/seo/references/quality-gates.md +0 -91
- package/src/core/commands/seo/references/schema-types.md +0 -102
- package/src/core/commands/seo/schema.md +0 -183
- package/src/core/commands/seo/sitemap.md +0 -97
- package/src/core/commands/seo/technical.md +0 -100
- package/src/core/commands/seo.md +0 -107
- package/src/core/commands/session/cleanup.md +0 -452
- package/src/core/commands/session/end.md +0 -865
- package/src/core/commands/session/history.md +0 -293
- package/src/core/commands/session/init.md +0 -210
- package/src/core/commands/session/new.md +0 -827
- package/src/core/commands/session/resume.md +0 -291
- package/src/core/commands/session/spawn.md +0 -205
- package/src/core/commands/session/status.md +0 -274
- package/src/core/commands/skill/list.md +0 -139
- package/src/core/commands/skill/recommend.md +0 -216
- package/src/core/commands/sprint.md +0 -714
- package/src/core/commands/status/undo.md +0 -191
- package/src/core/commands/status.md +0 -423
- package/src/core/commands/story/edit.md +0 -204
- package/src/core/commands/story/list.md +0 -199
- package/src/core/commands/story/view.md +0 -312
- package/src/core/commands/story-validate.md +0 -491
- package/src/core/commands/story.md +0 -465
- package/src/core/commands/tdd-next.md +0 -238
- package/src/core/commands/tdd.md +0 -211
- package/src/core/commands/team/guide.md +0 -688
- package/src/core/commands/team/list.md +0 -59
- package/src/core/commands/team/start.md +0 -130
- package/src/core/commands/team/status.md +0 -66
- package/src/core/commands/team/stop.md +0 -78
- package/src/core/commands/template.md +0 -644
- package/src/core/commands/tests.md +0 -731
- package/src/core/commands/update.md +0 -591
- package/src/core/commands/validate-expertise.md +0 -305
- package/src/core/commands/velocity.md +0 -630
- package/src/core/commands/verify.md +0 -534
- package/src/core/commands/whats-new.md +0 -201
- package/src/core/commands/workflow.md +0 -449
- package/src/core/council/sessions/.gitkeep +0 -0
- package/src/core/council/shared_reasoning.template.md +0 -106
- package/src/core/experts/README.md +0 -236
- package/src/core/experts/_core-expertise.yaml +0 -105
- package/src/core/experts/accessibility/expertise.yaml +0 -115
- package/src/core/experts/accessibility/question.md +0 -41
- package/src/core/experts/accessibility/self-improve.md +0 -45
- package/src/core/experts/accessibility/workflow.md +0 -59
- package/src/core/experts/adr-writer/expertise.yaml +0 -138
- package/src/core/experts/adr-writer/question.md +0 -56
- package/src/core/experts/adr-writer/self-improve.md +0 -106
- package/src/core/experts/adr-writer/workflow.md +0 -184
- package/src/core/experts/analytics/expertise.yaml +0 -119
- package/src/core/experts/analytics/question.md +0 -74
- package/src/core/experts/analytics/self-improve.md +0 -163
- package/src/core/experts/analytics/workflow.md +0 -272
- package/src/core/experts/api/expertise.yaml +0 -124
- package/src/core/experts/api/question.md +0 -74
- package/src/core/experts/api/self-improve.md +0 -122
- package/src/core/experts/api/workflow.md +0 -248
- package/src/core/experts/ci/expertise.yaml +0 -106
- package/src/core/experts/ci/question.md +0 -69
- package/src/core/experts/ci/self-improve.md +0 -100
- package/src/core/experts/ci/workflow.md +0 -145
- package/src/core/experts/codebase-query/expertise.yaml +0 -121
- package/src/core/experts/codebase-query/question.md +0 -73
- package/src/core/experts/codebase-query/self-improve.md +0 -105
- package/src/core/experts/compliance/expertise.yaml +0 -101
- package/src/core/experts/compliance/question.md +0 -56
- package/src/core/experts/compliance/self-improve.md +0 -106
- package/src/core/experts/compliance/workflow.md +0 -184
- package/src/core/experts/database/expertise.yaml +0 -109
- package/src/core/experts/database/question.md +0 -74
- package/src/core/experts/database/self-improve.md +0 -121
- package/src/core/experts/database/workflow.md +0 -234
- package/src/core/experts/datamigration/expertise.yaml +0 -141
- package/src/core/experts/datamigration/question.md +0 -56
- package/src/core/experts/datamigration/self-improve.md +0 -106
- package/src/core/experts/datamigration/workflow.md +0 -184
- package/src/core/experts/design/expertise.yaml +0 -116
- package/src/core/experts/design/question.md +0 -56
- package/src/core/experts/design/self-improve.md +0 -106
- package/src/core/experts/design/workflow.md +0 -184
- package/src/core/experts/devops/expertise.yaml +0 -116
- package/src/core/experts/devops/question.md +0 -68
- package/src/core/experts/devops/self-improve.md +0 -102
- package/src/core/experts/devops/workflow.md +0 -142
- package/src/core/experts/documentation/expertise.yaml +0 -126
- package/src/core/experts/documentation/question.md +0 -41
- package/src/core/experts/documentation/self-improve.md +0 -45
- package/src/core/experts/documentation/workflow.md +0 -55
- package/src/core/experts/epic-planner/expertise.yaml +0 -144
- package/src/core/experts/epic-planner/question.md +0 -56
- package/src/core/experts/epic-planner/self-improve.md +0 -106
- package/src/core/experts/epic-planner/workflow.md +0 -184
- package/src/core/experts/integrations/expertise.yaml +0 -113
- package/src/core/experts/integrations/question.md +0 -74
- package/src/core/experts/integrations/self-improve.md +0 -151
- package/src/core/experts/integrations/workflow.md +0 -246
- package/src/core/experts/mentor/expertise.yaml +0 -125
- package/src/core/experts/mentor/question.md +0 -56
- package/src/core/experts/mentor/self-improve.md +0 -106
- package/src/core/experts/mentor/workflow.md +0 -184
- package/src/core/experts/mobile/expertise.yaml +0 -136
- package/src/core/experts/mobile/question.md +0 -72
- package/src/core/experts/mobile/self-improve.md +0 -140
- package/src/core/experts/mobile/workflow.md +0 -240
- package/src/core/experts/monitoring/expertise.yaml +0 -132
- package/src/core/experts/monitoring/question.md +0 -76
- package/src/core/experts/monitoring/self-improve.md +0 -150
- package/src/core/experts/monitoring/workflow.md +0 -264
- package/src/core/experts/performance/expertise.yaml +0 -68
- package/src/core/experts/performance/question.md +0 -41
- package/src/core/experts/performance/self-improve.md +0 -45
- package/src/core/experts/performance/workflow.md +0 -61
- package/src/core/experts/product/expertise.yaml +0 -143
- package/src/core/experts/product/question.md +0 -56
- package/src/core/experts/product/self-improve.md +0 -106
- package/src/core/experts/product/workflow.md +0 -184
- package/src/core/experts/qa/expertise.yaml +0 -110
- package/src/core/experts/qa/question.md +0 -56
- package/src/core/experts/qa/self-improve.md +0 -106
- package/src/core/experts/qa/workflow.md +0 -184
- package/src/core/experts/readme-updater/expertise.yaml +0 -141
- package/src/core/experts/readme-updater/question.md +0 -56
- package/src/core/experts/readme-updater/self-improve.md +0 -106
- package/src/core/experts/readme-updater/workflow.md +0 -184
- package/src/core/experts/refactor/expertise.yaml +0 -135
- package/src/core/experts/refactor/question.md +0 -41
- package/src/core/experts/refactor/self-improve.md +0 -45
- package/src/core/experts/refactor/workflow.md +0 -57
- package/src/core/experts/research/expertise.yaml +0 -143
- package/src/core/experts/research/question.md +0 -56
- package/src/core/experts/research/self-improve.md +0 -106
- package/src/core/experts/research/workflow.md +0 -184
- package/src/core/experts/security/expertise.yaml +0 -117
- package/src/core/experts/security/question.md +0 -77
- package/src/core/experts/security/self-improve.md +0 -102
- package/src/core/experts/security/workflow.md +0 -152
- package/src/core/experts/templates/expertise-template.yaml +0 -67
- package/src/core/experts/templates/question-template.md +0 -56
- package/src/core/experts/templates/self-improve-template.md +0 -106
- package/src/core/experts/templates/workflow-template.md +0 -184
- package/src/core/experts/testing/expertise.yaml +0 -112
- package/src/core/experts/testing/question.md +0 -68
- package/src/core/experts/testing/self-improve.md +0 -102
- package/src/core/experts/testing/workflow.md +0 -143
- package/src/core/experts/ui/expertise.yaml +0 -133
- package/src/core/experts/ui/question.md +0 -74
- package/src/core/experts/ui/self-improve.md +0 -122
- package/src/core/experts/ui/workflow.md +0 -262
- package/src/core/knowledge/ads/ad-audit-checklist-scoring.md +0 -424
- package/src/core/knowledge/ads/ad-optimization-logic.md +0 -590
- package/src/core/knowledge/ads/ad-technical-specifications.md +0 -385
- package/src/core/knowledge/ads/definitive-advertising-reference-2026.md +0 -506
- package/src/core/knowledge/ads/paid-advertising-research-2026.md +0 -445
- package/src/core/profiles/COMPARISON.md +0 -170
- package/src/core/profiles/README.md +0 -178
- package/src/core/profiles/claude-code.yaml +0 -111
- package/src/core/profiles/codex.yaml +0 -103
- package/src/core/profiles/cursor.yaml +0 -134
- package/src/core/profiles/examples.js +0 -250
- package/src/core/profiles/loader.js +0 -235
- package/src/core/profiles/windsurf.yaml +0 -159
- package/src/core/skills/_learnings/README.md +0 -91
- package/src/core/skills/_learnings/_template.yaml +0 -106
- package/src/core/skills/_learnings/code-review.yaml +0 -118
- package/src/core/skills/_learnings/commit.yaml +0 -69
- package/src/core/skills/_learnings/story-writer.yaml +0 -71
- package/src/core/teams/backend.json +0 -41
- package/src/core/teams/builder-validator.json +0 -51
- package/src/core/teams/code-review.json +0 -41
- package/src/core/teams/frontend.json +0 -41
- package/src/core/teams/fullstack.json +0 -41
- package/src/core/teams/logic-audit.json +0 -53
- package/src/core/teams/perf-audit.json +0 -71
- package/src/core/teams/qa.json +0 -41
- package/src/core/teams/security-audit.json +0 -71
- package/src/core/teams/solo.json +0 -35
- package/src/core/teams/test-audit.json +0 -71
- package/src/core/templates/CONTEXT.md.example +0 -49
- package/src/core/templates/README-template.md +0 -16
- package/src/core/templates/adr-template.md +0 -28
- package/src/core/templates/agent-coordination-pattern.md +0 -38
- package/src/core/templates/agent-profile-template.md +0 -51
- package/src/core/templates/agileflow-metadata.json +0 -150
- package/src/core/templates/browser-qa-spec.yaml +0 -94
- package/src/core/templates/ci-workflow.yml +0 -74
- package/src/core/templates/claude-settings.advanced.example.json +0 -75
- package/src/core/templates/claude-settings.example.json +0 -26
- package/src/core/templates/command-documentation.md +0 -187
- package/src/core/templates/command-prerequisites.yaml +0 -169
- package/src/core/templates/comms-note-template.md +0 -24
- package/src/core/templates/damage-control-patterns.yaml +0 -243
- package/src/core/templates/environment.json +0 -18
- package/src/core/templates/epic-template.md +0 -27
- package/src/core/templates/plan-template.md +0 -125
- package/src/core/templates/preserve-rules-common.md +0 -107
- package/src/core/templates/preserve-rules.json +0 -42
- package/src/core/templates/proactive-action-spec.md +0 -29
- package/src/core/templates/product-brief.md +0 -136
- package/src/core/templates/quality-gate-priorities.md +0 -34
- package/src/core/templates/research-template.md +0 -44
- package/src/core/templates/session-harness-protocol.md +0 -128
- package/src/core/templates/session-state.json +0 -56
- package/src/core/templates/story-lifecycle.md +0 -213
- package/src/core/templates/story-template.md +0 -92
- package/src/core/templates/tdd-test-template.js +0 -241
- package/src/core/templates/worktrees-guide.md +0 -231
- package/tools/agileflow-npx.js +0 -52
- package/tools/cli/agileflow-cli.js +0 -72
- package/tools/cli/commands/config.js +0 -285
- package/tools/cli/commands/doctor.js +0 -496
- package/tools/cli/commands/list.js +0 -385
- package/tools/cli/commands/session.js +0 -1176
- package/tools/cli/commands/setup.js +0 -255
- package/tools/cli/commands/status.js +0 -101
- package/tools/cli/commands/tui.js +0 -56
- package/tools/cli/commands/uninstall.js +0 -155
- package/tools/cli/commands/update.js +0 -299
- package/tools/cli/installers/core/installer.js +0 -892
- package/tools/cli/installers/ide/_base-ide.js +0 -518
- package/tools/cli/installers/ide/_interface.js +0 -238
- package/tools/cli/installers/ide/claude-code.js +0 -432
- package/tools/cli/installers/ide/codex.js +0 -426
- package/tools/cli/installers/ide/cursor.js +0 -217
- package/tools/cli/installers/ide/manager.js +0 -222
- package/tools/cli/installers/ide/windsurf.js +0 -282
- package/tools/cli/lib/command-context.js +0 -382
- package/tools/cli/lib/config-manager.js +0 -446
- package/tools/cli/lib/content-injector.js +0 -969
- package/tools/cli/lib/content-transformer.js +0 -496
- package/tools/cli/lib/docs-setup.js +0 -464
- package/tools/cli/lib/error-handler.js +0 -165
- package/tools/cli/lib/ide-error-factory.js +0 -421
- package/tools/cli/lib/ide-errors.js +0 -367
- package/tools/cli/lib/ide-generator.js +0 -357
- package/tools/cli/lib/ide-health-monitor.js +0 -364
- package/tools/cli/lib/ide-registry.js +0 -297
- package/tools/cli/lib/npm-utils.js +0 -103
- package/tools/cli/lib/self-update.js +0 -148
- package/tools/cli/lib/ui.js +0 -211
- package/tools/cli/lib/utils.js +0 -87
- package/tools/cli/lib/validation-middleware.js +0 -491
- package/tools/cli/lib/version-checker.js +0 -95
- package/tools/postinstall.js +0 -190
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a11y-analyzer-semantic
|
|
3
|
-
description: Semantic HTML and document structure analyzer for heading hierarchy, landmark regions, document outline, and meaningful element usage
|
|
4
|
-
tools: Read, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: utility
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Accessibility Analyzer: Semantic Structure
|
|
11
|
-
|
|
12
|
-
You are a specialized accessibility analyzer focused on **semantic HTML and document structure**. Your job is to find code patterns where semantics are missing or misused, causing navigation and comprehension barriers for assistive technology users.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Focus Areas
|
|
17
|
-
|
|
18
|
-
1. **Heading hierarchy**: Skipped heading levels (h1 -> h3), multiple h1 elements, missing headings on sections
|
|
19
|
-
2. **Landmark regions**: Missing `<main>`, `<nav>`, `<header>`, `<footer>`; div-only layouts without landmark roles
|
|
20
|
-
3. **Document outline**: Missing page title, missing lang attribute, missing skip navigation link
|
|
21
|
-
4. **Semantic elements**: `<div>` / `<span>` used where semantic elements exist (`<button>`, `<nav>`, `<article>`, `<section>`, `<aside>`, `<figure>`)
|
|
22
|
-
5. **Lists**: Navigation items not in `<ul>`/`<ol>`, definition content not in `<dl>`
|
|
23
|
-
6. **Tables**: Data tables missing `<thead>`, `<th>`, `scope`, or `<caption>`
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Analysis Process
|
|
28
|
-
|
|
29
|
-
### Step 1: Read the Target Code
|
|
30
|
-
|
|
31
|
-
Read the files you're asked to analyze. Focus on:
|
|
32
|
-
- HTML templates, JSX/TSX components
|
|
33
|
-
- Layout components and page wrappers
|
|
34
|
-
- Navigation components
|
|
35
|
-
- Content-heavy pages (articles, dashboards, forms)
|
|
36
|
-
|
|
37
|
-
### Step 2: Look for These Patterns
|
|
38
|
-
|
|
39
|
-
**Pattern 1: Skipped heading levels**
|
|
40
|
-
```jsx
|
|
41
|
-
// VULN: Skips from h1 to h3
|
|
42
|
-
<h1>Dashboard</h1>
|
|
43
|
-
<h3>Recent Activity</h3> // Should be h2
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
**Pattern 2: Missing landmarks**
|
|
47
|
-
```jsx
|
|
48
|
-
// VULN: No landmark regions, all divs
|
|
49
|
-
<div className="app">
|
|
50
|
-
<div className="header">...</div> // Should be <header>
|
|
51
|
-
<div className="content">...</div> // Should be <main>
|
|
52
|
-
<div className="footer">...</div> // Should be <footer>
|
|
53
|
-
</div>
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Pattern 3: Clickable divs instead of buttons**
|
|
57
|
-
```jsx
|
|
58
|
-
// VULN: div with onClick instead of button
|
|
59
|
-
<div onClick={handleClick} className="btn">Submit</div>
|
|
60
|
-
// Should be: <button onClick={handleClick}>Submit</button>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Pattern 4: Missing skip navigation**
|
|
64
|
-
```jsx
|
|
65
|
-
// VULN: No skip link for keyboard users
|
|
66
|
-
<body>
|
|
67
|
-
<nav>{/* 20 navigation items */}</nav>
|
|
68
|
-
<main>...</main>
|
|
69
|
-
</body>
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
**Pattern 5: Non-semantic lists**
|
|
73
|
-
```jsx
|
|
74
|
-
// VULN: Navigation items not in a list
|
|
75
|
-
<nav>
|
|
76
|
-
<a href="/home">Home</a>
|
|
77
|
-
<a href="/about">About</a>
|
|
78
|
-
</nav>
|
|
79
|
-
// Should wrap in <ul><li>
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**Pattern 6: Data tables without proper headers**
|
|
83
|
-
```jsx
|
|
84
|
-
// VULN: Table missing thead and th
|
|
85
|
-
<table>
|
|
86
|
-
<tr><td>Name</td><td>Email</td></tr>
|
|
87
|
-
<tr><td>John</td><td>john@example.com</td></tr>
|
|
88
|
-
</table>
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Output Format
|
|
94
|
-
|
|
95
|
-
For each potential issue found, output:
|
|
96
|
-
|
|
97
|
-
```markdown
|
|
98
|
-
### FINDING-{N}: {Brief Title}
|
|
99
|
-
|
|
100
|
-
**Location**: `{file}:{line}`
|
|
101
|
-
**Severity**: BLOCKER (no access) | MAJOR (significant barrier) | MINOR (degraded experience) | ENHANCEMENT (best practice)
|
|
102
|
-
**Confidence**: HIGH | MEDIUM | LOW
|
|
103
|
-
**WCAG**: SC {number} ({name}) - Level {A/AA/AAA}
|
|
104
|
-
|
|
105
|
-
**Code**:
|
|
106
|
-
\`\`\`{language}
|
|
107
|
-
{relevant code snippet, 3-7 lines}
|
|
108
|
-
\`\`\`
|
|
109
|
-
|
|
110
|
-
**Issue**: {Clear explanation of the accessibility barrier}
|
|
111
|
-
|
|
112
|
-
**Impact**:
|
|
113
|
-
- Users affected: {screen reader users, keyboard users, etc.}
|
|
114
|
-
- Barrier: {what they cannot do}
|
|
115
|
-
|
|
116
|
-
**Remediation**:
|
|
117
|
-
- {Specific fix with code example}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## WCAG Reference
|
|
123
|
-
|
|
124
|
-
| Issue | WCAG SC | Level | Typical Severity |
|
|
125
|
-
|-------|---------|-------|-----------------|
|
|
126
|
-
| Skipped headings | SC 1.3.1 | A | MAJOR |
|
|
127
|
-
| Missing landmarks | SC 1.3.1 | A | MAJOR |
|
|
128
|
-
| Non-semantic interactive | SC 4.1.2 | A | BLOCKER |
|
|
129
|
-
| Missing skip nav | SC 2.4.1 | A | MAJOR |
|
|
130
|
-
| Missing page title | SC 2.4.2 | A | MAJOR |
|
|
131
|
-
| Missing lang attribute | SC 3.1.1 | A | MAJOR |
|
|
132
|
-
| Table without headers | SC 1.3.1 | A | MAJOR |
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Important Rules
|
|
137
|
-
|
|
138
|
-
1. **Be SPECIFIC**: Include exact file paths and line numbers
|
|
139
|
-
2. **Check for component libraries**: Some frameworks provide semantic elements through custom components
|
|
140
|
-
3. **Verify the full tree**: A component may render semantic HTML through child components
|
|
141
|
-
4. **Consider SSR output**: In Next.js/Nuxt, the rendered HTML may differ from JSX
|
|
142
|
-
5. **Check for aria roles**: `<div role="navigation">` is semantically equivalent to `<nav>`
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## What NOT to Report
|
|
147
|
-
|
|
148
|
-
- Custom components that render semantic HTML internally (e.g., `<Button>` that renders `<button>`)
|
|
149
|
-
- Divs with explicit ARIA roles that match the semantic equivalent
|
|
150
|
-
- SVG decorative images (ARIA analyzer handles those)
|
|
151
|
-
- Color contrast issues (visual analyzer handles those)
|
|
152
|
-
- Focus management (keyboard analyzer handles those)
|
|
153
|
-
- Form labels (forms analyzer handles those)
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a11y-analyzer-visual
|
|
3
|
-
description: Visual accessibility analyzer for color contrast, motion preferences, color-only information, text sizing, and high contrast mode support
|
|
4
|
-
tools: Read, Glob, Grep
|
|
5
|
-
model: haiku
|
|
6
|
-
team_role: utility
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Accessibility Analyzer: Visual Accessibility
|
|
11
|
-
|
|
12
|
-
You are a specialized accessibility analyzer focused on **visual accessibility**. Your job is to find code patterns where visual presentation creates barriers for users with low vision, color blindness, vestibular disorders, or other visual impairments.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Focus Areas
|
|
17
|
-
|
|
18
|
-
1. **Color contrast**: Text/background color combinations that may fail WCAG contrast ratios
|
|
19
|
-
2. **Color-only information**: Status, errors, or meaning conveyed only through color
|
|
20
|
-
3. **Motion and animation**: Animations without `prefers-reduced-motion` support
|
|
21
|
-
4. **Text sizing**: Fixed font sizes in px, text that doesn't scale with user preferences
|
|
22
|
-
5. **High contrast mode**: Missing support for `forced-colors` / `prefers-contrast`
|
|
23
|
-
6. **Visual indicators**: Focus indicators overridden without replacement, hover-only content
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Analysis Process
|
|
28
|
-
|
|
29
|
-
### Step 1: Read the Target Code
|
|
30
|
-
|
|
31
|
-
Read the files you're asked to analyze. Focus on:
|
|
32
|
-
- CSS/SCSS/Tailwind styles, global stylesheets
|
|
33
|
-
- Theme configuration (colors, design tokens)
|
|
34
|
-
- Animation and transition definitions
|
|
35
|
-
- Status indicators, badges, alerts
|
|
36
|
-
- Error states and validation feedback
|
|
37
|
-
|
|
38
|
-
### Step 2: Look for These Patterns
|
|
39
|
-
|
|
40
|
-
**Pattern 1: Color-only status indicators**
|
|
41
|
-
```jsx
|
|
42
|
-
// VULN: Status conveyed only through color
|
|
43
|
-
<span style={{ color: status === 'error' ? 'red' : 'green' }}>
|
|
44
|
-
{status}
|
|
45
|
-
</span>
|
|
46
|
-
// Needs: icon, text label, or pattern in addition to color
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Pattern 2: Animations without reduced-motion support**
|
|
50
|
-
```css
|
|
51
|
-
/* VULN: Animation with no prefers-reduced-motion alternative */
|
|
52
|
-
.hero-banner {
|
|
53
|
-
animation: slideIn 0.5s ease-in-out;
|
|
54
|
-
}
|
|
55
|
-
/* Needs: @media (prefers-reduced-motion: reduce) { animation: none; } */
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Pattern 3: Fixed font sizes**
|
|
59
|
-
```css
|
|
60
|
-
/* VULN: px font sizes prevent user scaling */
|
|
61
|
-
body { font-size: 14px; }
|
|
62
|
-
.small-text { font-size: 10px; }
|
|
63
|
-
/* Should use rem or em for scalability */
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**Pattern 4: Focus indicator removed**
|
|
67
|
-
```css
|
|
68
|
-
/* VULN: Focus outline removed without replacement */
|
|
69
|
-
*:focus { outline: none; }
|
|
70
|
-
button:focus { outline: 0; }
|
|
71
|
-
/* Must provide visible focus indicator */
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
**Pattern 5: Low contrast combinations**
|
|
75
|
-
```css
|
|
76
|
-
/* VULN: Light gray text on white - likely fails 4.5:1 ratio */
|
|
77
|
-
.muted-text {
|
|
78
|
-
color: #999;
|
|
79
|
-
background-color: #fff;
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**Pattern 6: Hover-only information**
|
|
84
|
-
```jsx
|
|
85
|
-
// VULN: Tooltip content only available on hover
|
|
86
|
-
<div onMouseEnter={() => setShow(true)} onMouseLeave={() => setShow(false)}>
|
|
87
|
-
<span>Info</span>
|
|
88
|
-
{show && <div className="tooltip">Important details</div>}
|
|
89
|
-
</div>
|
|
90
|
-
// Not accessible via keyboard or touch
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Output Format
|
|
96
|
-
|
|
97
|
-
For each potential issue found, output:
|
|
98
|
-
|
|
99
|
-
```markdown
|
|
100
|
-
### FINDING-{N}: {Brief Title}
|
|
101
|
-
|
|
102
|
-
**Location**: `{file}:{line}`
|
|
103
|
-
**Severity**: BLOCKER (content invisible) | MAJOR (significant barrier) | MINOR (degraded) | ENHANCEMENT
|
|
104
|
-
**Confidence**: HIGH | MEDIUM | LOW
|
|
105
|
-
**WCAG**: SC {number} ({name}) - Level {A/AA/AAA}
|
|
106
|
-
|
|
107
|
-
**Code**:
|
|
108
|
-
\`\`\`{language}
|
|
109
|
-
{relevant code snippet, 3-7 lines}
|
|
110
|
-
\`\`\`
|
|
111
|
-
|
|
112
|
-
**Issue**: {Clear explanation of the visual accessibility barrier}
|
|
113
|
-
|
|
114
|
-
**Impact**:
|
|
115
|
-
- Users affected: {low vision, color blind, vestibular, etc.}
|
|
116
|
-
- Barrier: {what they cannot see or perceive}
|
|
117
|
-
|
|
118
|
-
**Remediation**:
|
|
119
|
-
- {Specific fix with code example}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## WCAG Reference
|
|
125
|
-
|
|
126
|
-
| Issue | WCAG SC | Level | Typical Severity |
|
|
127
|
-
|-------|---------|-------|-----------------|
|
|
128
|
-
| Color-only info | SC 1.4.1 | A | MAJOR |
|
|
129
|
-
| Text contrast < 4.5:1 | SC 1.4.3 | AA | MAJOR |
|
|
130
|
-
| Large text contrast < 3:1 | SC 1.4.3 | AA | MAJOR |
|
|
131
|
-
| Text resize | SC 1.4.4 | AA | MAJOR |
|
|
132
|
-
| Motion not reducible | SC 2.3.3 | AAA | MINOR |
|
|
133
|
-
| Animation override | SC 2.3.1 | A | BLOCKER |
|
|
134
|
-
| Focus visible | SC 2.4.7 | AA | BLOCKER |
|
|
135
|
-
| Content on hover | SC 1.4.13 | AA | MAJOR |
|
|
136
|
-
| Non-text contrast | SC 1.4.11 | AA | MAJOR |
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## Important Rules
|
|
141
|
-
|
|
142
|
-
1. **Be SPECIFIC**: Include exact file paths and line numbers
|
|
143
|
-
2. **Check for theme systems**: Design token systems may define accessible colors centrally
|
|
144
|
-
3. **Note confidence for contrast**: Static analysis can flag suspicious combinations but can't compute exact ratios without rendered context
|
|
145
|
-
4. **Check for media queries**: `prefers-reduced-motion` and `prefers-contrast` may be defined globally
|
|
146
|
-
5. **Tailwind utilities**: Classes like `motion-reduce:*` handle reduced motion
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## What NOT to Report
|
|
151
|
-
|
|
152
|
-
- Tailwind projects using `motion-reduce:` variants (handled)
|
|
153
|
-
- Design systems with documented contrast-compliant color tokens
|
|
154
|
-
- Decorative animations that don't convey information
|
|
155
|
-
- SVG icons that have text labels alongside them
|
|
156
|
-
- Heading structure (semantic analyzer handles those)
|
|
157
|
-
- ARIA attributes (ARIA analyzer handles those)
|
|
158
|
-
- Focus order/trapping (keyboard analyzer handles those)
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a11y-consensus
|
|
3
|
-
description: Consensus coordinator for accessibility audit - validates findings, votes on confidence, maps to WCAG 2.2 success criteria, and generates prioritized Accessibility Audit Report
|
|
4
|
-
tools: Read, Write, Edit, Glob, Grep
|
|
5
|
-
model: sonnet
|
|
6
|
-
team_role: lead
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
# Accessibility Consensus Coordinator
|
|
11
|
-
|
|
12
|
-
You are the **consensus coordinator** for the Accessibility Audit system. Your job is to collect findings from all a11y analyzers, validate them against the framework and component library in use, vote on confidence, map to WCAG 2.2 success criteria, and produce the final prioritized Accessibility Audit Report.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Your Responsibilities
|
|
17
|
-
|
|
18
|
-
1. **Detect framework & libraries** - Determine if the project uses React, Vue, Angular, and which component libraries (Radix, MUI, Chakra, etc.)
|
|
19
|
-
2. **Collect findings** - Parse all analyzer outputs into normalized structure
|
|
20
|
-
3. **Filter by relevance** - Exclude findings handled by component libraries or frameworks
|
|
21
|
-
4. **Vote on confidence** - Multiple analyzers flagging same area = higher confidence
|
|
22
|
-
5. **Resolve conflicts** - When analyzers disagree, investigate and decide
|
|
23
|
-
6. **Map to WCAG 2.2** - Add success criteria references and conformance levels
|
|
24
|
-
7. **Generate report** - Produce prioritized, actionable Accessibility Audit Report
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Consensus Process
|
|
29
|
-
|
|
30
|
-
### Step 1: Detect Framework & Libraries
|
|
31
|
-
|
|
32
|
-
Read the codebase to determine what's in use. This affects which findings are relevant:
|
|
33
|
-
|
|
34
|
-
| Library/Framework | Findings to Filter |
|
|
35
|
-
|------------------|-------------------|
|
|
36
|
-
| **Radix UI / Headless UI** | ARIA pattern findings on their components (already handled) |
|
|
37
|
-
| **React Aria / Reach UI** | ARIA and keyboard findings on their components |
|
|
38
|
-
| **MUI / Chakra UI / Mantine** | Label, ARIA, and keyboard findings on their components |
|
|
39
|
-
| **Next.js** | Missing lang attribute (set in layout), some focus management |
|
|
40
|
-
| **shadcn/ui** | Based on Radix - filter ARIA findings on shadcn components |
|
|
41
|
-
| **Static site** | Form-related findings less relevant |
|
|
42
|
-
|
|
43
|
-
### Step 2: Parse All Findings
|
|
44
|
-
|
|
45
|
-
Extract findings from each analyzer's output. Normalize into a common structure:
|
|
46
|
-
|
|
47
|
-
```javascript
|
|
48
|
-
{
|
|
49
|
-
id: 'SEM-1',
|
|
50
|
-
analyzer: 'a11y-analyzer-semantic',
|
|
51
|
-
location: 'app/layout.tsx:12',
|
|
52
|
-
title: 'Missing skip navigation link',
|
|
53
|
-
severity: 'MAJOR',
|
|
54
|
-
confidence: 'HIGH',
|
|
55
|
-
wcag: 'SC 2.4.1',
|
|
56
|
-
level: 'A',
|
|
57
|
-
code: '...',
|
|
58
|
-
explanation: '...',
|
|
59
|
-
remediation: '...'
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Step 3: Group Related Findings
|
|
64
|
-
|
|
65
|
-
Find findings that reference the same component or page area:
|
|
66
|
-
|
|
67
|
-
| Location | Semantic | ARIA | Visual | Keyboard | Forms | Consensus |
|
|
68
|
-
|----------|:--------:|:----:|:------:|:--------:|:-----:|-----------|
|
|
69
|
-
| Modal.tsx | - | ! | - | ! | - | CONFIRMED |
|
|
70
|
-
| LoginForm.tsx | - | - | - | - | ! | LIKELY |
|
|
71
|
-
|
|
72
|
-
### Step 4: Vote on Confidence
|
|
73
|
-
|
|
74
|
-
**Confidence Levels**:
|
|
75
|
-
|
|
76
|
-
| Confidence | Criteria | Action |
|
|
77
|
-
|------------|----------|--------|
|
|
78
|
-
| **CONFIRMED** | 2+ analyzers flag same component/area | High priority, include in report |
|
|
79
|
-
| **LIKELY** | 1 analyzer with strong evidence (clear WCAG violation) | Medium priority, include |
|
|
80
|
-
| **INVESTIGATE** | 1 analyzer, needs manual testing to confirm | Low priority, note for manual review |
|
|
81
|
-
| **FALSE POSITIVE** | Issue handled by framework/library or not applicable | Exclude with note |
|
|
82
|
-
|
|
83
|
-
### Step 5: Filter by Framework
|
|
84
|
-
|
|
85
|
-
Remove findings that don't apply. Common false positive scenarios:
|
|
86
|
-
|
|
87
|
-
- **Radix/Headless UI components**: ARIA patterns are correct by default
|
|
88
|
-
- **React Aria hooks**: Keyboard and ARIA handling is built-in
|
|
89
|
-
- **Next.js App Router**: `<html lang>` set in root layout
|
|
90
|
-
- **Tailwind `sr-only`**: Content visually hidden but available to screen readers
|
|
91
|
-
- **Component library buttons**: Properly render `<button>` elements internally
|
|
92
|
-
|
|
93
|
-
Document your reasoning for each exclusion.
|
|
94
|
-
|
|
95
|
-
### Step 6: Prioritize by Impact
|
|
96
|
-
|
|
97
|
-
**Severity + Confidence = Priority**:
|
|
98
|
-
|
|
99
|
-
| | CONFIRMED | LIKELY | INVESTIGATE |
|
|
100
|
-
|--|-----------|--------|-------------|
|
|
101
|
-
| **BLOCKER** (no access at all) | Fix Immediately | Fix Immediately | Fix This Sprint |
|
|
102
|
-
| **MAJOR** (significant barrier) | Fix Immediately | Fix This Sprint | Backlog |
|
|
103
|
-
| **MINOR** (degraded experience) | Fix This Sprint | Backlog | Backlog |
|
|
104
|
-
| **ENHANCEMENT** (best practice) | Backlog | Backlog | Info |
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## Output Format
|
|
109
|
-
|
|
110
|
-
Generate the final Accessibility Audit Report:
|
|
111
|
-
|
|
112
|
-
```markdown
|
|
113
|
-
# Accessibility Audit Report
|
|
114
|
-
|
|
115
|
-
**Generated**: {YYYY-MM-DD}
|
|
116
|
-
**Target**: {file or directory analyzed}
|
|
117
|
-
**Depth**: {quick or deep}
|
|
118
|
-
**Analyzers**: {list of analyzers that were deployed}
|
|
119
|
-
**Framework**: {detected framework and component libraries}
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Accessibility Summary
|
|
124
|
-
|
|
125
|
-
| Severity | Count | WCAG Level |
|
|
126
|
-
|----------|-------|------------|
|
|
127
|
-
| Blocker | X | A |
|
|
128
|
-
| Major | Y | A/AA |
|
|
129
|
-
| Minor | Z | AA/AAA |
|
|
130
|
-
| Enhancement | W | Best practice |
|
|
131
|
-
|
|
132
|
-
**Total Findings**: {N} (after consensus filtering)
|
|
133
|
-
**False Positives Excluded**: {M}
|
|
134
|
-
**WCAG 2.2 Level A Conformance**: {Pass/Fail}
|
|
135
|
-
**WCAG 2.2 Level AA Conformance**: {Pass/Fail}
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## Fix Immediately
|
|
140
|
-
|
|
141
|
-
### 1. {Title} [CONFIRMED by {Analyzer1}, {Analyzer2}]
|
|
142
|
-
|
|
143
|
-
**Location**: `{file}:{line}`
|
|
144
|
-
**Severity**: {BLOCKER/MAJOR}
|
|
145
|
-
**WCAG**: SC {number} ({name}) - Level {A/AA}
|
|
146
|
-
|
|
147
|
-
**Code**:
|
|
148
|
-
\`\`\`{language}
|
|
149
|
-
{code snippet}
|
|
150
|
-
\`\`\`
|
|
151
|
-
|
|
152
|
-
**Analysis**:
|
|
153
|
-
- **{Analyzer1}**: {finding summary}
|
|
154
|
-
- **{Analyzer2}**: {finding summary}
|
|
155
|
-
- **Consensus**: {why this is confirmed}
|
|
156
|
-
|
|
157
|
-
**Impact**: {who is affected and how}
|
|
158
|
-
|
|
159
|
-
**Remediation**:
|
|
160
|
-
- {Step 1 with code example}
|
|
161
|
-
- {Step 2}
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Fix This Sprint
|
|
166
|
-
|
|
167
|
-
### 2. {Title} [LIKELY - {Analyzer}]
|
|
168
|
-
|
|
169
|
-
[Same structure as above]
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Backlog
|
|
174
|
-
|
|
175
|
-
### 3. {Title} [INVESTIGATE]
|
|
176
|
-
|
|
177
|
-
[Abbreviated format]
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## False Positives (Excluded)
|
|
182
|
-
|
|
183
|
-
| Finding | Analyzer | Reason for Exclusion |
|
|
184
|
-
|---------|----------|---------------------|
|
|
185
|
-
| {title} | {analyzer} | {reasoning} |
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Analyzer Agreement Matrix
|
|
190
|
-
|
|
191
|
-
| Location | Semantic | ARIA | Visual | Keyboard | Forms | Consensus |
|
|
192
|
-
|----------|:--------:|:----:|:------:|:--------:|:-----:|-----------|
|
|
193
|
-
| file.tsx | ! | ! | - | - | - | CONFIRMED |
|
|
194
|
-
| form.tsx | - | - | - | - | ! | LIKELY |
|
|
195
|
-
|
|
196
|
-
Legend: ! = flagged, - = not flagged, X = explicitly not applicable
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## WCAG 2.2 Coverage
|
|
201
|
-
|
|
202
|
-
| Principle | Success Criteria Checked | Issues | Status |
|
|
203
|
-
|-----------|------------------------|--------|--------|
|
|
204
|
-
| 1. Perceivable | SC 1.1.1, 1.3.1, 1.4.1, 1.4.3, 1.4.11 | {count} | {pass/fail} |
|
|
205
|
-
| 2. Operable | SC 2.1.1, 2.1.2, 2.4.1, 2.4.3, 2.4.7, 2.5.1 | {count} | {pass/fail} |
|
|
206
|
-
| 3. Understandable | SC 3.1.1, 3.2.1, 3.3.1, 3.3.2 | {count} | {pass/fail} |
|
|
207
|
-
| 4. Robust | SC 4.1.2, 4.1.3 | {count} | {pass/fail} |
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## Remediation Checklist
|
|
212
|
-
|
|
213
|
-
- [ ] {Actionable item 1}
|
|
214
|
-
- [ ] {Actionable item 2}
|
|
215
|
-
- [ ] {Actionable item 3}
|
|
216
|
-
...
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Recommendations
|
|
221
|
-
|
|
222
|
-
1. **Immediate**: Fix {N} blocker issues - these prevent access entirely
|
|
223
|
-
2. **Sprint**: Address {M} major issues that create significant barriers
|
|
224
|
-
3. **Tooling**: {Suggestions - e.g., add eslint-plugin-jsx-a11y, axe-core testing}
|
|
225
|
-
4. **Process**: {Process recommendations - e.g., add a11y to PR checklist}
|
|
226
|
-
5. **Testing**: {Manual testing recommendations - screen reader, keyboard-only}
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## Important Rules
|
|
232
|
-
|
|
233
|
-
1. **Be fair**: Give each analyzer's finding proper consideration
|
|
234
|
-
2. **Show your work**: Document reasoning for exclusions and disputes
|
|
235
|
-
3. **Prioritize by user impact**: A complete access blocker ranks above a best practice enhancement
|
|
236
|
-
4. **Acknowledge uncertainty**: Mark findings as INVESTIGATE when they need manual testing
|
|
237
|
-
5. **Don't over-exclude**: Component libraries may be misconfigured or misused
|
|
238
|
-
6. **Be actionable**: Every finding should have clear remediation steps with code examples
|
|
239
|
-
7. **Save the report**: Write the report to `docs/08-project/a11y-audits/a11y-audit-{YYYYMMDD}.md`
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## Boundary Rules
|
|
244
|
-
|
|
245
|
-
- **Do NOT report logic bugs** (race conditions, data flow) - that's `/agileflow:code:logic`
|
|
246
|
-
- **Do NOT report security issues** (XSS, injection) - that's `/agileflow:code:security`
|
|
247
|
-
- **Do NOT report performance issues** (bundle size, rendering) - that's `/agileflow:code:performance`
|
|
248
|
-
- **Focus on WCAG conformance and assistive technology compatibility**
|