with one click
debug
// Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden
// Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden
Iterate until success or limit, composing existing skills with Jidoka integration
Generate and maintain BPMN 2.0 diagrams linked to Gherkin scenarios
Review code changes against hard rules and conventions
Research best-in-class products using Browser MCP and WebSearch
Audit Value Delivery compliance after PR push
Capture patine (decision wisdom) at Gates when KO or challenge occurs
| name | debug |
| description | Systematic debugging with MCP integration, auto-invoke from qa-commit, Phase 7 Harden |
Diagnose and fix issues systematically. Enhanced with MCP integrations for deeper analysis and automatic regression test generation.
| Mode | Trigger | Context Provided |
|---|---|---|
| Auto | qa-commit RED verdict | Failed G#N/AC#N, error messages |
| Manual | User invokes | User describes issue |
Phase 0: Context Loading (if auto-invoked)
ā
Phase 0.5: Jidoka Escalation Check āāā [Tier 2/3] āāā ESCALATE to human
ā [Tier 1]
Phase 1: Gather (ReadLints, Browser MCP, Context7)
ā
Phase 2: Reproduce (Browser MCP)
ā
Phase 3: Isolate (Known Issues DB query)
ā
Phase 4: Diagnose
ā
Phase 5: Fix
ā
Phase 6: Verify āāā [FAIL] āāā Phase 8 āāā Phase 0.5
ā [PASS]
Phase 7: Harden (generate regression test)
ā
Phase 8: Update Jidoka Counters (reset on success)
When invoked from qa-commit, receive context:
## Debug Context (from qa-commit)
**Failed Criteria:**
- [G#N or AC#N]: [Description]
**Verification Report:**
- ReadLints errors: [list]
- Shell errors: [list]
- Browser errors: [list if applicable]
**Expected Behavior:**
[From QA Contract]
**Actual Behavior:**
[Observed during verification]
Skip this phase if manually invoked.
Before attempting fix, check escalation tier to determine if human intervention is needed.
Maintain error_history across debug invocations:
| Field | Description |
|---|---|
| error_signature | Hash of error type + location |
| count | Times this exact error seen |
| fixes_attempted | List of fix descriptions |
| Tier | Condition | Action |
|---|---|---|
| Tier 1 | error_count < 3 | Continue to Phase 1 (normal debug) |
| Tier 2 | error_count >= 3 (same error) | ESCALATE to human |
| Tier 3 | total_errors >= 5 (any) | ESCALATE to human |
If escalation triggered, skip Phases 1-7 and output:
R | [Feature] | AGENT | JIDOKA STOP
---
Same error detected [N] times:
> [Error message]
Attempted fixes:
1. [Fix 1] - Failed: [why]
2. [Fix 2] - Failed: [why]
3. [Fix 3] - Failed: [why]
Options:
A. Try different approach - [describe alternative]
B. Skip this commit, continue to next
C. Pause session, investigate manually
D. Abort feature, reassess scope
---
Reply with A, B, C, or D
Invoke decision-capture skill with escalation context.
On user response:
session-status for final metricsUse Cursor's ReadLints tool on affected files:
ReadLints:
paths: [affected files from context]
Categorize:
For frontend issues, use Browser MCP:
browser_navigate: [affected URL]
browser_snapshot: Get current DOM state
browser_console_messages: All errors/warnings
browser_network_requests: API failures
Extract:
Identify libraries involved and query for error patterns:
Context7 MCP:
1. resolve-library-id: libraryName = "[library from stack trace]"
2. get-library-docs: topic = "[error message keywords]", mode = "info"
Look for:
## Reproduction Steps
1. Navigate to: [URL]
2. Action: [What triggers the issue]
3. Expected: [What should happen]
4. Actual: [What actually happens]
browser_navigate: [starting URL]
browser_click: [trigger element]
browser_type: [if input needed]
browser_take_screenshot: Capture failure state
browser_network_requests: Capture API calls
Before deep investigation, check if this is a known issue:
Notion MCP:
API-query-database:
database_id: "[KNOWN_ISSUES_DB_ID]"
filter:
property: "Error Pattern"
rich_text:
contains: "[error keywords]"
If match found:
## Known Issue Match
**Pattern:** [Error pattern from DB]
**Root Cause:** [From DB]
**Fix Pattern:** [From DB]
**Occurrences:** [N] times
Applying known fix...
ā Skip to Phase 5 with known fix.
If no match: ā Continue to Phase 4.
git log -5 --onelineSemanticSearch, GrepRead relevant code with context:
Read: [file with error]
SemanticSearch: "How is [function] supposed to work?"
## Diagnosis
**Root Cause:** [What's causing the issue]
**Evidence:**
- [Evidence 1]
- [Evidence 2]
**Proposed Fix:** [What needs to change]
Before implementing fix:
design-context skill (silent)Make the code changes.
npm run typecheck
npm run lint
npm run test -- --grep "[related tests]"
For the specific failed criteria:
## Re-verification
Re-running qa-commit for:
- [G#N or AC#N that failed]
Result: [PASS/FAIL]
If PASS: Continue to Phase 7 (Harden) If FAIL: Return to Phase 3 (Isolate) with new information
Prevent regression by generating tests and updating knowledge base.
Create test that would catch this issue:
For Backend (G#N):
// Regression test: [issue description]
// Debug session: [date]
it('should not [bug behavior] when [condition]', async () => {
// Reproduction steps
const result = await [action that caused bug];
expect(result).not.toBe([buggy behavior]);
expect(result).toBe([correct behavior]);
});
For Frontend (AC#N):
// Regression test: [issue description]
test('should handle [edge case]', async ({ page }) => {
// Reproduction steps
await page.goto('[URL]');
await page.click('[trigger]');
await expect(page.locator('[element]')).toBeVisible();
});
Invoking test-hardening skill for regression test...
If this was a new issue pattern:
Notion MCP:
API-create-page:
parent: { database_id: "[KNOWN_ISSUES_DB_ID]" }
properties:
Error Pattern: "[Error message pattern]"
Root Cause: "[What caused it]"
Fix Pattern: "[How to fix]"
Library: [relation if applicable]
Occurrences: 1
If this reveals a pattern worth remembering:
Invoking decision-capture skill...
"Learned: [pattern] causes [issue]. Fix: [approach]."
Update escalation counters based on fix outcome.
session-status to update muda tracking## Jidoka Counter Reset
Error signature: [hash]
Previous count: [N]
New count: 0
Status: RESOLVED
## Jidoka Counter Update
Error signature: [hash]
Count: [N] ā [N+1]
Fix attempted: [description]
Next: Re-evaluate escalation tier
## Debug Report
### Issue
[Brief description]
### Root Cause
[What caused it]
### Fix Applied
[What was changed]
### Verification
- TypeCheck: PASS
- Lint: PASS
- Tests: PASS
- qa-commit: GREEN
### Hardening
- Regression test: [Created/Skipped]
- Known Issues: [Added/Existing]
- Patine: [Captured/Skipped]
**Status:** RESOLVED
| Tool | Phase | Purpose |
|---|---|---|
| ReadLints | 1 | Get lint/type errors |
| Browser MCP | 1, 2 | Console, network, DOM |
| Context7 | 1 | Library error patterns |
| Notion MCP | 3, 7 | Known Issues database |
| Shell | 6 | Run tests, typecheck |
| SemanticSearch | 3, 4 | Find related code |
| Grep | 3 | Search for patterns |