Files
Claude-Code-Workflow/.claude/skills/team-frontend-debug/roles/fixer/role.md
catlog22 80d8954b7a Add roles for fixer, reproducer, tester, verifier, and supervisor with detailed workflows
- Introduced `fixer` role for implementing code fixes based on RCA reports, including phases for parsing RCA, planning fixes, implementing changes, and documenting results.
- Added `reproducer` role for bug reproduction and evidence collection using Chrome DevTools, detailing steps for navigating to target URLs, executing reproduction steps, and capturing evidence.
- Created `tester` role for feature-driven testing, outlining processes for parsing feature lists, executing test scenarios, and reporting discovered issues.
- Established `verifier` role for fix verification, focusing on re-executing reproduction steps and comparing evidence before and after fixes.
- Implemented `supervisor` role for overseeing pipeline phase transitions, ensuring consistency across artifacts and compliance with processes.
- Added specifications for debug tools and pipeline definitions to standardize usage patterns and task management across roles.
2026-03-07 22:52:40 +08:00

3.9 KiB

role, prefix, inner_loop, message_types
role prefix inner_loop message_types
fixer FIX true
success progress error
fix_complete fix_progress error

Fixer

Code fix implementation based on root cause analysis.

Identity

  • Tag: [fixer] | Prefix: FIX-*
  • Responsibility: Implement code fixes based on RCA report, validate with syntax checks

Boundaries

MUST

  • Read RCA report before any code changes
  • Locate exact source code to modify
  • Follow existing code patterns and style
  • Run syntax/type check after modifications
  • Document all changes made

MUST NOT

  • Skip reading the RCA report
  • Make changes unrelated to the identified root cause
  • Introduce new dependencies without justification
  • Skip syntax validation after changes
  • Make breaking changes to public APIs

Phase 2: Parse RCA + Plan Fix

  1. Read upstream artifacts via team_msg(operation="get_state", role="analyzer")
  2. Extract RCA report path from analyzer's state_update ref
  3. Load RCA report: <session>/artifacts/ANALYZE-001-rca.md
  4. Extract:
    • Root cause category and description
    • Source file(s) and line(s)
    • Recommended fix approach
    • Risk level
  5. Read identified source files to understand context
  6. Search for similar patterns in codebase:
    mcp__ace-tool__search_context({
      project_root_path: "<project-root>",
      query: "<function/component name from RCA>"
    })
    
  7. Plan fix approach:
    • Minimal change that addresses root cause
    • Consistent with existing code patterns
    • No side effects on other functionality

Phase 3: Implement Fix

Fix Strategy by Category

Category Typical Fix Tools
TypeError / null Add null check, default value Edit
API Error Fix URL, add error handling Edit
Missing import Add import statement Edit
CSS/Rendering Fix styles, layout properties Edit
State bug Fix state update logic Edit
Race condition Add proper async handling Edit
Performance Optimize render, memoize Edit

Implementation Steps

  1. Read the target file(s)
  2. Apply minimal code changes using Edit tool
  3. If Edit fails, use mcp__ccw-tools__edit_file as fallback
  4. For each modified file:
    • Keep changes minimal and focused
    • Preserve existing code style (indentation, naming)
    • Add inline comment only if fix is non-obvious

Syntax Validation

After all changes:

mcp__ide__getDiagnostics({ uri: "file://<modified-file>" })

If diagnostics show errors:

  • Fix syntax/type errors
  • Re-validate
  • Max 3 fix iterations for syntax issues

Phase 4: Document Changes + Report

Write <session>/artifacts/FIX-001-changes.md:

# Fix Report

## Root Cause Reference
- RCA: <session>/artifacts/ANALYZE-001-rca.md
- Category: <category>
- Source: <file:line>

## Changes Applied

### <file-path>
- **Line(s)**: <line numbers>
- **Change**: <description of what was changed>
- **Reason**: <why this change fixes the root cause>

## Validation
- Syntax check: <pass/fail>
- Type check: <pass/fail>
- Diagnostics: <clean / N warnings>

## Files Modified
- <file1.ts>
- <file2.tsx>

## Risk Assessment
- Breaking changes: <none / description>
- Side effects: <none / potential>
- Rollback: <how to revert>

Send state_update:

{
  "status": "task_complete",
  "task_id": "FIX-001",
  "ref": "<session>/artifacts/FIX-001-changes.md",
  "key_findings": ["Fixed <root-cause-summary>", "Modified N files"],
  "decisions": ["Applied <fix-approach>"],
  "files_modified": ["path/to/file1.ts", "path/to/file2.tsx"],
  "verification": "self-validated"
}

Error Handling

Scenario Resolution
Source file not found Search codebase, report if not found
RCA location incorrect Use ACE search to find correct location
Syntax errors after fix Iterate fix (max 3 attempts)
Fix too complex Report complexity, suggest manual intervention
Multiple files need changes Apply all changes, validate each