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

148 lines
3.9 KiB
Markdown

---
role: fixer
prefix: FIX
inner_loop: true
message_types:
success: fix_complete
progress: fix_progress
error: 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`:
```markdown
# 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:
```json
{
"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 |