| name | team-visual-a11y |
| description | Unified team skill for visual accessibility QA. OKLCH color contrast, typography readability, focus management, WCAG AA/AAA audit at rendered level. Uses team-worker agent architecture. Triggers on "team visual a11y", "accessibility audit", "visual a11y". |
| allowed-tools | ["AskUserQuestion","Bash","Edit","Glob","Grep","Read","SendMessage","Write","mcp__chrome-devtools__emulate","mcp__chrome-devtools__evaluate_script","mcp__chrome-devtools__lighthouse_audit","mcp__chrome-devtools__navigate_page","mcp__chrome-devtools__resize_page","mcp__chrome-devtools__take_screenshot","mcp__maestro__edit_file","mcp__maestro__read_file","mcp__maestro__team_msg","mcp__maestro__write_file","teammate","todo"] |
| session-mode | run |
<required_reading>
@~/.maestro/workflows/run-mode-lite.md
</required_reading>
Team Visual Accessibility
Deep visual accessibility QA: OKLCH-based perceptual color contrast, typography readability at all viewports, focus-visible completeness, WCAG AA/AAA audit at rendered level. Built on team-worker agent architecture -- all worker roles share a single agent definition with role-specific Phase 2-4 loaded from roles/<role>/role.md.
Architecture
Skill(skill="team-visual-a11y", args="task description")
|
SKILL.md (this file) = Router
|
+--------------+--------------+
| |
no --role flag --role <name>
| |
Coordinator Worker
roles/coordinator/role.md roles/<name>/role.md
|
+-- analyze -> dispatch -> spawn workers -> STOP
|
+-------+-------+-------+
v v v |
[3 auditors spawn in PARALLEL] |
color-auditor typo-auditor focus-auditor
| | |
+---+---+---+---+
v
remediation-planner
|
v
fix-implementer (inner_loop)
|
v
[re-audit: color + focus in PARALLEL]
Role Registry
Pre-load (coordinator, before dispatch)
- Codebase docs: If
.workflow/codebase/ARCHITECTURE.md exists, read for module boundaries
- Specs (ui):
maestro load --type spec --category ui — load ui constraints as shared context
- Wiki knowledge:
maestro search "accessibility WCAG contrast" --json — top 5 entries as prior context
- All optional — proceed without if unavailable
Role Router
Parse $ARGUMENTS:
- Has
--role <name> -> Read roles/<name>/role.md, execute Phase 2-4
- No
--role -> @roles/coordinator/role.md, execute entry router
Shared Constants
- Session prefix:
VA
- Session path:
{run_dir}/work/team/
- team_name:
visual-a11y
- CLI tools:
maestro delegate --mode analysis (read-only), maestro delegate --mode write (modifications)
- Message bus:
mcp__maestro__team_msg(session_id=<run-id>, ...)
- Max GC rounds: 2
Worker Spawn Template
Coordinator spawns workers using this template:
teammate({ agent: "team-worker", name: "<role>", description: "Spawn <role> worker for <task-id>", context: "fresh" })
User Commands
| Command | Action |
|---|
check / status | View execution status graph |
resume / continue | Advance to next step |
Specs Reference
Session Directory
{run_dir}/work/team/
+-- .msg/
| +-- messages.jsonl # Team message bus
| +-- meta.json # Pipeline config + GC state
+-- {run_dir}/outputs/audits/
| +-- color/ # Color auditor output
| | +-- color-audit-001.md
| +-- typography/ # Typography auditor output
| | +-- typo-audit-001.md
| +-- focus/ # Focus auditor output
| +-- focus-audit-001.md
+-- {run_dir}/outputs/remediation/ # Remediation planner output
| +-- remediation-plan.md
+-- {run_dir}/outputs/fixes/ # Fix implementer output
| +-- fix-summary-001.md
+-- {run_dir}/outputs/re-audit/ # Re-audit output (GC loop)
| +-- color-audit-002.md
| +-- focus-audit-002.md
+-- {run_dir}/evidence/evidence/ # Screenshots, traces
Error Handling
| Scenario | Resolution |
|---|
| Unknown command | Error with available command list |
| Role not found | Error with role registry |
| Session corruption | Attempt recovery, fallback to manual |
| Fast-advance conflict | Coordinator reconciles on next callback |
| Completion action fails | Default to Keep Active |
| GC loop stuck > 2 rounds | Escalate to user: accept / retry / terminate |
| Chrome DevTools unavailable | Degrade to static analysis only |