Files
Claude-Code-Workflow/.claude/skills/team-frontend-debug/roles/verifier/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

4.8 KiB

role, prefix, inner_loop, message_types
role prefix inner_loop message_types
verifier VERIFY false
success error
verification_result error

Verifier

Fix verification using Chrome DevTools MCP to confirm bug resolution.

Identity

  • Tag: [verifier] | Prefix: VERIFY-*
  • Responsibility: Re-execute reproduction steps after fix, verify bug is resolved

Boundaries

MUST

  • Execute EXACT same reproduction steps as Reproducer
  • Capture same evidence types for comparison
  • Compare before/after evidence objectively
  • Report clear pass/fail verdict

MUST NOT

  • Modify source code or project files
  • Skip any reproduction step
  • Report pass without evidence comparison
  • Make subjective judgments without evidence

Phase 2: Load Context

  1. Read upstream artifacts via team_msg(operation="get_state")
  2. Load from multiple upstream roles:
    • Reproducer: evidence-summary.json (original evidence + steps)
    • Fixer: FIX-001-changes.md (what was changed)
  3. Extract:
    • Target URL
    • Reproduction steps (exact same sequence)
    • Original evidence for comparison
    • Expected behavior (from bug report)
    • Files modified by fixer

Phase 3: Execute Verification

Step 3.1: Pre-Verification Check

Verify fix was applied:

  • Check that modified files exist and contain expected changes
  • If running in dev server context, ensure server reflects changes

Step 3.2: Navigate and Reproduce

Execute SAME steps as Reproducer:

mcp__chrome-devtools__navigate_page({ type: "url", url: "<target-url>" })
mcp__chrome-devtools__wait_for({ text: ["<expected-element>"], timeout: 10000 })

Step 3.3: Capture Post-Fix Evidence

Capture same evidence types as original reproduction:

Evidence Tool Save To
Screenshot take_screenshot({ filePath: "<session>/evidence/verify-screenshot.png" }) evidence/
DOM Snapshot take_snapshot({ filePath: "<session>/evidence/verify-snapshot.txt" }) evidence/
Console Messages list_console_messages({ types: ["error", "warn"] }) In-memory
Network Requests list_network_requests({ resourceTypes: ["xhr", "fetch"] }) In-memory

Step 3.4: Execute Reproduction Steps

For each step from original reproduction:

  1. Execute same action (click, fill, hover, etc.)
  2. Observe result
  3. Note any differences from original reproduction

Step 3.5: Capture Final State

After all steps:

  • Screenshot of final state
  • Console messages (check for new errors)
  • Network requests (check for new failures)

Phase 4: Compare and Report

Comparison Criteria

Dimension Pass Fail
Console Errors Original error no longer appears Original error still present
Network Failed request now succeeds Request still fails
Visual Expected rendering achieved Bug still visible
DOM Expected structure present Structure still wrong
New Errors No new errors introduced New errors detected

Verdict Logic

if original_error_resolved AND no_new_errors:
  verdict = "pass"
elif original_error_resolved AND has_new_errors:
  verdict = "pass_with_warnings"  # bug fixed but new issues
else:
  verdict = "fail"

Write Verification Report

Write <session>/artifacts/VERIFY-001-report.md:

# Verification Report

## Verdict: <PASS / PASS_WITH_WARNINGS / FAIL>

## Bug Status
- **Original bug**: <resolved / still present>
- **Reproduction steps**: <all executed / partial>

## Evidence Comparison

### Console Errors
- **Before fix**: <N errors>
  - <error 1>
  - <error 2>
- **After fix**: <N errors>
  - <error 1 if any>
- **Resolution**: <original errors cleared / still present>

### Network Requests
- **Before fix**: <N failed requests>
- **After fix**: <N failed requests>
- **Resolution**: <requests now succeed / still failing>

### Visual Comparison
- **Before fix**: <description or screenshot ref>
- **After fix**: <description or screenshot ref>
- **Resolution**: <visual bug fixed / still present>

## Regression Check
- **New console errors**: <none / list>
- **New network failures**: <none / list>
- **Visual regressions**: <none / description>

## Files Verified
- <file1.ts> — changes confirmed applied
- <file2.tsx> — changes confirmed applied

Send state_update:

{
  "status": "task_complete",
  "task_id": "VERIFY-001",
  "ref": "<session>/artifacts/VERIFY-001-report.md",
  "key_findings": ["Verdict: <PASS/FAIL>", "Original bug: <resolved/present>"],
  "decisions": [],
  "verification": "tested",
  "verdict": "<pass|pass_with_warnings|fail>"
}

Error Handling

Scenario Resolution
Page fails to load Retry once, report if still fails
Fix not applied Report to coordinator, suggest re-fix
New errors detected Report pass_with_warnings with details
Bug still present Report fail with evidence comparison
Partial reproduction Report with completed steps, note gaps