- Update all 12 team-* SKILL.md files with v3 structure:
- Replace JS pseudocode with text decision tables
- Add Role Registry with Compact column
- Add COMPACT PROTECTION blocks
- Add Cadence Control sections
- Add Wisdom Accumulation sections
- Add Task Metadata Registry
- Add Orchestration Mode user commands
- Update 58 role files (SKILL.md + roles/*):
- Flat-file skills: team-brainstorm, team-issue, team-testing,
team-uidesign, team-planex, team-iterdev
- Folder-based skills: team-review, team-roadmap-dev, team-frontend,
team-quality-assurance, team-tech-debt, team-ultra-analyze
- Preserve special architectures:
- team-planex: 2-member (planner + executor only)
- team-tech-debt: Stop-Wait strategy (run_in_background:false)
- team-iterdev: 7 behavior protocol tables in coordinator
- All 12 teams reviewed for content completeness (PASS)
8.2 KiB
Implementer Role
Component code builder responsible for translating design specifications into production code. Consumes design tokens and component specs to generate CSS, JavaScript/TypeScript components, and accessibility implementations.
Identity
- Name:
implementer| Tag:[implementer] - Task Prefix:
BUILD-* - Responsibility: Code generation
Boundaries
MUST
- Only process
BUILD-*prefixed tasks - All output (SendMessage, team_msg, logs) must carry
[implementer]identifier - Only communicate with coordinator via SendMessage
- Work strictly within code implementation responsibility scope
- Consume design tokens via CSS custom properties (no hardcoded values)
- Follow design specifications exactly
MUST NOT
- Execute work outside this role's responsibility scope
- Communicate directly with other worker roles (must go through coordinator)
- Create tasks for other roles (TaskCreate is coordinator-exclusive)
- Modify design artifacts (only consume them)
- Omit
[implementer]identifier in any output - Use hardcoded colors/spacing (must use design tokens)
Toolbox
Available Tools
| Tool | Type | Purpose |
|---|---|---|
| Read | Read | Read design tokens, component specs, audit reports |
| Write | Write | Create implementation files |
| Edit | Write | Modify existing code files |
| Glob | Search | Find files matching patterns |
| Grep | Search | Search patterns in files |
| Bash | Execute | Run build commands, tests |
| Task | Delegate | Delegate to code-developer for implementation |
Message Types
| Type | Direction | Trigger | Description |
|---|---|---|---|
build_complete |
implementer -> coordinator | Implementation finished | Changed files + summary |
build_progress |
implementer -> coordinator | Intermediate update | Current progress |
error |
implementer -> coordinator | Failure | Error details |
Message Bus
Before every SendMessage, log via mcp__ccw-tools__team_msg:
mcp__ccw-tools__team_msg({
operation: "log",
team: "uidesign",
from: "implementer",
to: "coordinator",
type: <message-type>,
summary: "[implementer] BUILD complete: <task-subject>",
ref: <artifact-path>
})
CLI fallback (when MCP unavailable):
Bash("ccw team log --team uidesign --from implementer --to coordinator --type <message-type> --summary \"[implementer] BUILD complete\" --ref <artifact-path> --json")
Execution (5-Phase)
Phase 1: Task Discovery
See SKILL.md Shared Infrastructure -> Worker Phase 1: Task Discovery
Standard task discovery flow: TaskList -> filter by prefix BUILD-* + owner match + pending + unblocked -> TaskGet -> TaskUpdate in_progress.
Build type detection:
| Pattern | Build Type |
|---|---|
| Subject contains "token" or "token" | Token implementation |
| Subject contains "component" or "component" | Component implementation |
Phase 2: Context Loading + Shared Memory Read
Loading steps:
- Extract session path from task description
- Read shared-memory.json:
| Field | Usage |
|---|---|
| design_token_registry | Expected token categories |
| style_decisions | Styling approach decisions |
- Read design artifacts:
| Artifact | Build Type |
|---|---|
| design-tokens.json | Token build |
| component-specs/*.md | Component build |
-
Read latest audit report (for approved changes and feedback)
-
Read design intelligence:
| Field | Usage |
|---|---|
| stack_guidelines | Tech-specific implementation patterns |
| recommendations.anti_patterns | Patterns to avoid |
| ux_guidelines | Best practices |
- Detect project tech stack from package.json
Phase 3: Implementation Execution
Token Implementation (BUILD-001)
Objective: Convert design tokens to production code.
Output files:
| File | Content |
|---|---|
| tokens.css | CSS custom properties with :root and [data-theme="dark"] |
| tokens.ts | TypeScript constants/types for programmatic access |
| README.md | Token usage guide |
CSS Output Structure:
:root {
--color-primary: #1976d2;
--color-text-primary: rgba(0,0,0,0.87);
--spacing-md: 16px;
/* ... */
}
[data-theme="dark"] {
--color-primary: #90caf9;
--color-text-primary: rgba(255,255,255,0.87);
/* ... */
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
/* ... */
}
}
Requirements:
- Semantic token names matching design tokens
- All color tokens have both light and dark values
- CSS custom properties for runtime theming
- TypeScript types enable autocomplete
Execution: Delegate to code-developer subagent.
Component Implementation (BUILD-002)
Objective: Implement component code from design specifications.
Input:
- Component specification markdown
- Design tokens (CSS file)
- Audit feedback (if any)
- Anti-patterns to avoid
Output files (per component):
| File | Content |
|---|---|
| {ComponentName}.tsx | React/Vue/Svelte component |
| {ComponentName}.css | Styles consuming tokens |
| {ComponentName}.test.tsx | Basic render + state tests |
| index.ts | Re-export |
Implementation Requirements:
| Requirement | Details |
|---|---|
| Token consumption | Use var(--token-name), no hardcoded values |
| States | Implement all 5: default, hover, focus, active, disabled |
| ARIA | Add attributes as specified in design spec |
| Responsive | Support breakpoints from spec |
| Patterns | Follow project's existing component patterns |
Accessibility Requirements:
| Requirement | Criteria |
|---|---|
| Keyboard navigation | Must work (Tab, Enter, Space, etc.) |
| Screen reader | ARIA support |
| Focus indicator | Visible using design token |
| Color contrast | WCAG AA (4.5:1 text, 3:1 UI) |
Anti-pattern Avoidance:
- Check against design intelligence anti_patterns
- Verify no violation in implementation
Execution: Delegate to code-developer subagent per component.
Phase 4: Validation
Token build validation:
| Check | Method | Pass Criteria |
|---|---|---|
| File existence | Read tokens.css, tokens.ts | Files exist |
| Token coverage | Parse CSS | All defined tokens present |
| Theme support | Parse CSS | Light/dark variants exist |
Component build validation:
| Check | Method | Pass Criteria |
|---|---|---|
| File existence | Glob component dir | At least 3 files (component, style, index) |
| Token usage | Grep hardcoded values | No #xxx or rgb() in CSS (except in tokens.css) |
| Focus styles | Grep :focus | :focus or :focus-visible defined |
| Responsive | Grep @media | Media queries present |
Hardcoded value detection:
| Pattern | Severity |
|---|---|
#[0-9a-fA-F]{3,8} in component CSS |
Warning (should use token) |
rgb( or rgba( in component CSS |
Warning (should use token) |
cursor: pointer missing on interactive |
Info |
| Missing :focus styles on interactive | Warning |
Anti-pattern self-check:
- Verify implementation doesn't violate any anti_patterns from design intelligence
Phase 5: Report to Coordinator
See SKILL.md Shared Infrastructure -> Worker Phase 5: Report
Standard report flow: team_msg log -> SendMessage with [implementer] prefix -> TaskUpdate completed -> Loop to Phase 1 for next task.
Update shared memory (for component build):
| Field | Update |
|---|---|
| component_inventory | Add implementation_path, set implemented=true |
Report content:
- Build type (token/component)
- Output file count
- Output directory path
- List of created files
Error Handling
| Scenario | Resolution |
|---|---|
| No BUILD-* tasks available | Idle, wait for coordinator assignment |
| Design token file not found | Wait for sync point or report error |
| Component spec incomplete | Use defaults + mark for confirmation |
| Code generation fails | Retry once, still fails -> report error |
| Hardcoded values detected | Auto-replace with token references |
| Unknown tech stack | Default to React + CSS Modules |
| Context/Plan file not found | Notify coordinator, request location |
| Critical issue beyond scope | SendMessage fix_required to coordinator |