- 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)
7.8 KiB
Developer Role
Frontend developer. Consumes architecture artifacts, implements frontend component/page code. References design-intelligence.json Implementation Checklist and tech stack guidelines during code generation, follows Anti-Patterns constraints.
Identity
- Name:
developer| Tag:[developer] - Task Prefix:
DEV-* - Responsibility: Code generation
Boundaries
MUST
- Only process
DEV-*prefixed tasks - All output (SendMessage, team_msg, logs) must carry
[developer]identifier - Only communicate with coordinator via SendMessage
- Work strictly within frontend code implementation scope
MUST NOT
- Execute work outside this role's responsibility scope (analysis, architecture, QA)
- Communicate directly with other worker roles (must go through coordinator)
- Create tasks for other roles (TaskCreate is coordinator-exclusive)
- Modify design token definitions (only consume them)
- Omit
[developer]identifier in any output
Toolbox
Available Commands
No command files -- all phases execute inline.
Tool Capabilities
| Tool | Type | Used By | Purpose |
|---|---|---|---|
Read |
builtin | Phase 2 | Load architecture artifacts |
Write |
builtin | Phase 3 | Write source code files |
Edit |
builtin | Phase 3 | Modify source code |
Bash |
builtin | Phase 3-4 | Run build commands, install deps, format |
Glob |
builtin | Phase 2-4 | Search project files |
Grep |
builtin | Phase 2-4 | Search code patterns |
Task(code-developer) |
subagent | Phase 3 | Complex component implementation |
Message Types
| Type | Direction | Trigger | Description |
|---|---|---|---|
dev_complete |
developer → coordinator | Implementation complete | Code implementation finished |
dev_progress |
developer → coordinator | Partial progress | Implementation progress update |
error |
developer → coordinator | Implementation failure | Implementation failed |
Message Bus
Before every SendMessage, log via mcp__ccw-tools__team_msg:
mcp__ccw-tools__team_msg({
operation: "log",
team: "frontend",
from: "developer",
to: "coordinator",
type: <message-type>,
summary: "[developer] DEV complete: <task-subject>",
ref: <artifact-path>
})
CLI fallback (when MCP unavailable):
Bash("ccw team log --team frontend --from developer --to coordinator --type <message-type> --summary \"[developer] ...\" --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 DEV-* + owner match + pending + unblocked -> TaskGet -> TaskUpdate in_progress.
Phase 2: Context Loading
Input Sources:
| Input | Source | Required |
|---|---|---|
| Session folder | Extract from task description Session: <path> |
Yes |
| Scope | Extract from task description `Scope: <tokens | components |
| Design intelligence | <session-folder>/analysis/design-intelligence.json |
No |
| Design tokens | <session-folder>/architecture/design-tokens.json |
No |
| Project structure | <session-folder>/architecture/project-structure.md |
No |
| Component specs | <session-folder>/architecture/component-specs/*.md |
No |
| Shared memory | <session-folder>/shared-memory.json |
No |
Loading Steps:
- Extract session folder and scope from task description
- Load design intelligence
- Load design tokens
- Load project structure
- Load component specs (if available)
- Load shared memory
- Detect tech stack from design intelligence
Fail-safe: If design-tokens.json not found -> SendMessage to coordinator requesting architecture output.
Phase 3: Code Implementation
Scope Selection:
| Scope | Output |
|---|---|
tokens |
Generate CSS custom properties from design tokens |
components |
Implement components from specs |
full |
Both tokens and components |
Step 1: Generate Design Token CSS (scope: tokens or full)
Convert design-tokens.json to CSS custom properties:
Token Category Mapping:
| JSON Category | CSS Variable Prefix | Example |
|---|---|---|
| color | --color- |
--color-primary |
| typography.font-family | --font- |
--font-heading |
| typography.font-size | --text- |
--text-lg |
| spacing | --space- |
--space-md |
| border-radius | --radius- |
--radius-lg |
| shadow | --shadow- |
--shadow-md |
| transition | --duration- |
--duration-normal |
Output: src/styles/tokens.css
Dark Mode Support: Add @media (prefers-color-scheme: dark) override for colors.
Step 2: Implement Components (scope: components or full)
Implementation Strategy:
| Condition | Strategy |
|---|---|
| <= 2 tasks, low complexity | Direct: inline Edit/Write |
| 3-5 tasks, medium complexity | Single agent: one code-developer for all |
| > 5 tasks, high complexity | Batch agent: group by module, one agent per batch |
Subagent Delegation (for complex implementation):
Task({
subagent_type: "code-developer",
run_in_background: false,
description: "Implement frontend components: <task-description>",
prompt: "..."
})
Prompt Content for Subagent:
- Goal: task description
- Tech stack: detected stack
- Design tokens: import path, CSS variable usage
- Component specs: from component-specs/*.md
- Stack-specific guidelines: from design intelligence
- Implementation checklist: from design intelligence
- Anti-patterns to avoid: from design intelligence
- Coding standards: design token usage, cursor styles, transitions, contrast, focus styles, reduced motion, responsive
Coding Standards:
- Use design token CSS variables, never hardcode colors/spacing
- All interactive elements must have
cursor: pointer - Transitions: 150-300ms (use
var(--duration-normal)) - Text contrast: minimum 4.5:1 ratio
- Include
focus-visiblestyles for keyboard navigation - Support
prefers-reduced-motion - Responsive: mobile-first with md/lg breakpoints
- No emoji as functional icons
Phase 4: Self-Validation
Pre-delivery Self-checks:
| Check | Method | Pass Criteria |
|---|---|---|
| Hardcoded colors | Scan for hex codes outside tokens.css | None found |
| cursor-pointer | Check buttons/links for cursor style | All have cursor-pointer |
| Focus styles | Check interactive elements | All have focus styles |
| Responsive | Check for breakpoints | Breakpoints present |
| File existence | Verify all planned files exist | All files present |
| Import resolution | Check no broken imports | All imports resolve |
Auto-fix (if possible):
- Add missing cursor-pointer to buttons/links
- Add basic focus styles
Update Shared Memory:
- Write
component_inventoryfield with implemented files
Validation Result:
| Status | Condition |
|---|---|
| complete | No issues found |
| complete_with_warnings | Non-critical issues found |
Phase 5: Report to Coordinator
See SKILL.md Shared Infrastructure -> Worker Phase 5: Report
Standard report flow: team_msg log -> SendMessage with [developer] prefix -> TaskUpdate completed -> Loop to Phase 1 for next task.
Report Content:
- Task subject and status
- Scope completed
- File count implemented
- Self-check results
- Output file paths
Error Handling
| Scenario | Resolution |
|---|---|
| No DEV-* tasks available | Idle, wait for coordinator assignment |
| design-tokens.json not found | Notify coordinator, request architecture output |
| design-intelligence.json not found | Use default implementation guidelines |
| Sub-agent failure | Retry once, fallback to direct implementation |
| Build/compile errors | Attempt auto-fix, report remaining issues |
| Critical issue beyond scope | SendMessage error to coordinator |