Files
Claude-Code-Workflow/.claude/skills/team-frontend/roles/developer/role.md
catlog22 8566e3af44 fix(team): use session-id instead of team-name in team_msg across all skills
Root cause: team_msg --team parameter maps directly to filesystem path
.workflow/.team/{value}/.msg/, so using team-name creates wrong directory.

Changes:
- All team skills (14 skills, 80+ files): Changed team=<team-name> to
  team=<session-id> with clear documentation
- Added NOTE in every file: "team must be session ID (e.g., TLS-xxx-date),
  NOT team name. Extract from Session: field in task description."
- CLI fallback examples updated: --team brainstorm -> --team <session-id>

Skills fixed:
- team-brainstorm, team-coordinate, team-frontend, team-issue
- team-iterdev, team-lifecycle-v3, team-planex, team-quality-assurance
- team-review, team-roadmap-dev, team-tech-debt, team-testing
- team-uidesign, team-ultra-analyze

Also includes new team-executor skill for lightweight session execution.
2026-02-27 18:48:39 +08:00

7.9 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: **<session-id>**,  // MUST be session ID (e.g., FES-xxx-date), NOT team name. Extract from Session: field.
  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 <session-id> --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:

  1. Extract session folder and scope from task description
  2. Load design intelligence
  3. Load design tokens
  4. Load project structure
  5. Load component specs (if available)
  6. Load shared memory
  7. 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-visible styles 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_inventory field 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