--- name: team-interactive-craft description: Unified team skill for interactive component crafting. Vanilla JS + CSS interactive components with zero dependencies. Research -> interaction design -> build -> a11y test. Uses team-worker agent architecture. Triggers on "team interactive craft", "interactive component". allowed-tools: Agent, AskUserQuestion, Read, Write, Edit, Bash, Glob, Grep, TaskList, TaskGet, TaskUpdate, TaskCreate, TeamCreate, TeamDelete, SendMessage, mcp__ccw-tools__read_file, mcp__ccw-tools__write_file, mcp__ccw-tools__edit_file, mcp__ccw-tools__team_msg --- # Team Interactive Craft Systematic interactive component pipeline: research -> interaction design -> build -> a11y test. Built on **team-worker agent architecture** -- all worker roles share a single agent definition with role-specific Phase 2-4 loaded from `roles//role.md`. ## Architecture ``` Skill(skill="team-interactive-craft", args="task description") | SKILL.md (this file) = Router | +--------------+--------------+ | | no --role flag --role | | Coordinator Worker roles/coordinator/role.md roles//role.md | +-- analyze -> dispatch -> spawn workers -> STOP | +-------+-------+-------+-------+ v v v v [team-worker agents, each loads roles//role.md] researcher interaction-designer builder a11y-tester ``` ## Role Registry | Role | Path | Prefix | Inner Loop | |------|------|--------|------------| | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | -- | -- | | researcher | [roles/researcher/role.md](roles/researcher/role.md) | RESEARCH-* | false | | interaction-designer | [roles/interaction-designer/role.md](roles/interaction-designer/role.md) | INTERACT-* | false | | builder | [roles/builder/role.md](roles/builder/role.md) | BUILD-* | true | | a11y-tester | [roles/a11y-tester/role.md](roles/a11y-tester/role.md) | A11Y-* | false | ## Role Router Parse `$ARGUMENTS`: - Has `--role ` -> Read `roles//role.md`, execute Phase 2-4 - No `--role` -> `@roles/coordinator/role.md`, execute entry router ## Shared Constants - **Session prefix**: `IC` - **Session path**: `.workflow/.team/IC--/` - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications) - **Message bus**: `mcp__ccw-tools__team_msg(session_id=, ...)` - **Max GC rounds**: 2 ## Worker Spawn Template Coordinator spawns workers using this template: ``` Agent({ subagent_type: "team-worker", description: "Spawn worker for ", team_name: "interactive-craft", name: "", run_in_background: true, prompt: `## Role Assignment role: role_spec: /roles//role.md session: session_id: team_name: interactive-craft requirement: inner_loop: ## Progress Milestones session_id: Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification). Report blockers immediately via team_msg type="blocker". Report completion via team_msg type="task_complete" after final SendMessage. Read role_spec file (@/roles//role.md) to load Phase 2-4 domain instructions. Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` }) ``` ## User Commands | Command | Action | |---------|--------| | `check` / `status` | View execution status graph | | `resume` / `continue` | Advance to next step | ## Specs Reference - [specs/pipelines.md](specs/pipelines.md) -- Pipeline definitions and task registry - [specs/interaction-patterns.md](specs/interaction-patterns.md) -- Interaction pattern catalog - [specs/vanilla-constraints.md](specs/vanilla-constraints.md) -- Zero-dependency rules ## Session Directory ``` .workflow/.team/IC--/ +-- .msg/ | +-- messages.jsonl # Team message bus | +-- meta.json # Pipeline config + GC state +-- research/ # Researcher output | +-- interaction-inventory.json | +-- browser-api-audit.json | +-- pattern-reference.json +-- interaction/ # Interaction designer output | +-- blueprints/ | +-- {component-name}.md +-- build/ # Builder output | +-- components/ | +-- {name}.js | +-- {name}.css +-- a11y/ # A11y tester output | +-- a11y-audit-{NNN}.md +-- wisdom/ # Cross-task knowledge ``` ## 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 |