Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Diagnostic Fix

ASecurity

Structured diagnostic-then-fix workflow using GitNexus knowledge graph

3 stars
0 votes
0 copies
0 views
Added 9/20/2026
code-qualitygotestingrefactoringgitapi

Works with

api

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$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 automatically 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.

Download Zip
Files
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

ruskicoderruskicoder
View sourceMore from ruskicoder →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman Review

Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.

1023331 votes

Caveman Commit

Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.

1023331 votes

Verification Loop

一个全面的 Claude Code 会话验证系统。

2456590 votes

Springboot Verification

Verification loop for Spring Boot projects: build, static analysis, tests with coverage, security scans, and diff review before release or PR.

2456590 votes

Django Verification

Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.

2456590 votes
View all in code-quality →