Skip to content
Back to skills

Diagnostic Fix

ASecurity

Structured diagnostic-then-fix workflow using GitNexus knowledge graph

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 20, 2026
code-qualitygotestingrefactoringgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add ruskicoder/system-prompts --skill diagnostic-fix --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Diagnostic Fix?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Diagnostic Fix
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ruskicoder-diagnostic-fix/badge)](https://www.skillsdirectory.com/skills/ruskicoder-diagnostic-fix)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: diagnostic-fix
description: Structured diagnostic-then-fix workflow using GitNexus knowledge graph
  and Ariya-4 problem framing. Gathers symptoms, isolates root causes, formulates
  hypotheses, verifies via reproduction, and applies targeted fixes.
argument-hint: <error symptom or stack trace>
---

<!-- Generated from workflows/diagnostic-fix.md by tools/generate_integrations.py. Edit the source file, not this one. This is an execution WORKFLOW packaged as an Agent Skill so it is discoverable and directly invocable ("/diagnostic-fix") in every compatible tool. -->

# Workflow: Diagnostic-then-Fix

## When to Use
| Criteria | Match |
|----------|-------|
| Intention | bug_fix, error_investigation |
| Complexity | unknown root cause, needs tracing |
| Power Mode | Balanced or Deep |
| Clarity | symptom is known, cause is unknown |

## Required Skills
- codebase-understanding (GitNexus) — HEAVY use
- file-operations
- code-execution
- code-quality-testing
- communication-tone
- safety-profiles (default)

## Flow

### Phase 0: Thinking Stage (Pre-Action)
- [ ] What is the exact symptom? Error message, wrong output, crash?
- [ ] Have I gathered all available diagnostic context? (logs, stack traces, state)
- [ ] Do NOT jump to fixing — root cause must be identified first
- [ ] Re-evaluate intent: is this diagnostic or fix? *(Factory)*

### Phase 1: Gather Symptoms
- What is the exact error message / unexpected behavior?
- When does it happen? (always, intermittent, specific conditions)
- What changed recently that might have caused it?

### Phase 2: Trace Root Cause (Ariya-4 Problem Frame)

Before proposing any fix, complete all 4 fields of the Ariya-4 Problem Frame:
- **Problem**: What is actually broken (the root mechanism, not the symptom).
- **Cause**: Root causes (structural constraints, misaligned incentives, or reinforcing feedback loops).
- **Cessation**: Definition of Done (measurable, specific, bounded criteria for resolution).
- **Path**: Least-friction route from Problem to Cessation.

```
1. query({search_query: "<error text or symptom>"})
   → Identify suspect symbols and execution flows

2. context({name: "<suspect>"})
   → See all callers, callees, and processes

3. trace({from: "<entry_point>", to: "<suspect>"})
   → Find the shortest call chain if needed

4. READ gitnexus://repo/{name}/process/{name}
   → Step-by-step execution trace
```

### Phase 3: Confirm Hypothesis
- Read source files at identified locations
- Add targeted logging to confirm the flow
- Reproduce the issue if possible
- If hypothesis is wrong: return to Phase 2 with new information

### Phase 4: Fix
- Apply minimal targeted change addressing root cause
- DO NOT fix symptoms — fix the root
- DO NOT refactor unrelated code

### Phase 5: Verify
- Run tests for affected execution flows
- Verify the original symptom is resolved
- Run `detect_changes()` to check blast radius

### Phase 5b: Sanity Check
- [ ] Did I fix the ROOT CAUSE, not just the symptom?
- [ ] Have I verified the original symptom is actually resolved?
- [ ] Are there other places with the same pattern that need fixing?
- [ ] Did `detect_changes()` show only expected files changed?
- [ ] Is the fix minimal? No unrelated refactoring?

### Phase 6: Report
- Root cause (1 sentence)
- Fix applied (1-2 sentences)
- Verification result

## Token Budget
- **Typical**: 10K-40K tokens
- **Max recommended**: 80K tokens
- **Warning threshold**: >80K → consider session summarization

## GitNexus Integration — Required
This workflow depends on GitNexus for:
- `query` — find code related to error
- `context` — 360° view of suspect symbols
- `trace` — call chain between entry point and error site
- `detect_changes` — verify fix scope

If GitNexus index is stale, run `npx gitnexus analyze` first.

## Hallucination Watchpoints
- Fixing symptoms instead of root cause (most common)
- Making changes without tracing the full path
- Applying multiple fixes at once (which one worked?)
- Editing files in a loop without verifying results
- Assuming the error source based on surface similarity

## Example
```
User: "Payment endpoint returns 500 intermittently"

Phase 2:
1. query({search_query: "payment error handling"})
   → CheckoutFlow: processPayment → validateCard → chargeStripe
   → ErrorHandling: handlePaymentError

2. context({name: "validatePayment"})
   → Outgoing calls: verifyCard, fetchRates (external API!)

3. trace({from: "checkoutHandler", to: "fetchRates"})
   → checkoutHandler → processPayment → validatePayment → fetchRates

4. Read fetchRates → no timeout configured on HTTP call

Phase 4: Add 5s timeout to fetchRates HTTP call
Phase 5: detect_changes() → only fetchRates.ts changed ✓
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…