5
0
Source

Use when working on a GitHub issue - fetches issue details, analyzes codebase, implements fix following project methodology

Install

mkdir -p .claude/skills/fix-issue && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2312" && unzip -o skill.zip -d .claude/skills/fix-issue && rm skill.zip

Installs to .claude/skills/fix-issue

About this skill

Fix GitHub Issue

Overview

Guided workflow for implementing fixes for GitHub issues following the project's CLAUDE.md methodology.

Usage

/fix-issue <number>

Workflow

digraph fix_flow {
    rankdir=TB;
    node [shape=box];

    fetch [label="1. Fetch issue details"];
    analyze [label="2. Analyze issue type"];
    verify [label="3. Verify it's a real bug"];
    investigate [label="4. Deep investigation"];
    plan [label="5. Enter plan mode"];
    implement [label="6. Implement fix"];
    test [label="7. Test changes"];
    commit [label="8. Commit & push"];

    fetch -> analyze;
    analyze -> verify;
    verify -> investigate;
    investigate -> plan;
    plan -> implement;
    implement -> test;
    test -> commit;
}

Step 1: Fetch Issue Details

# Get issue details
gh issue view <number> --repo kube-hetzner/terraform-hcloud-kube-hetzner

# CRITICAL: Always read ALL comments - solutions may already be proposed
gh issue view <number> --repo kube-hetzner/terraform-hcloud-kube-hetzner --comments

Step 2: Classify Issue Type

TypeDescriptionAction
🔴 BUGReproducible defectFix it
🟡 EDGE CASEFails in specific scenarioEvaluate effort vs impact
🟠 USER ERRORMisconfigured kube.tfHelp user, improve docs
OLD VERSIONFixed in newer releaseAsk user to upgrade
🔵 FEATURE REQUESTNew functionalityMove to Discussions
NEEDS INFOCan't reproduceAsk for more info

User Error Indicators

  • kube.tf has obvious mistakes
  • Error indicates syntax/config issue
  • Using deprecated variable names
  • Mixing incompatible options
  • Missing required variables

Actual Bug Indicators

  • Reproducible with correct config
  • Multiple users report same issue
  • Error in module code, not user config
  • Works in previous version, broke in update

Step 3: Verify Before Fixing

CRITICAL: Many issues are user configuration errors, NOT bugs.

Before implementing any fix:

  1. Check if the user's kube.tf is correct
  2. Verify the issue exists in the latest version
  3. Try to reproduce the issue locally
  4. Check if there's already a PR addressing this
# Search for existing PRs
gh pr list --search "<error keyword>" --repo kube-hetzner/terraform-hcloud-kube-hetzner

# Check if issue is already mentioned in changelog
grep -i "<keyword>" CHANGELOG.md

Step 4: Deep Investigation

Read these files to understand context:

# Always start with these
cat versions.tf      # Provider/terraform versions
cat variables.tf     # All configurable options
cat locals.tf        # Core logic and computed values

# Then investigate specific areas based on the issue

Key Files by Area

AreaFiles to Check
Networklocals.tf (subnet calculations), network.tf
Control Planecontrol_planes.tf, locals.tf
Agentsagents.tf, autoscaler.tf
Load Balancerload_balancer.tf, init.tf
CNItemplates/cni/*.yaml.tpl
Storagetemplates/longhorn.yaml.tpl
Firewallfirewall.tf

For Complex Issues - Use AI Tools

# Codex CLI for deep reasoning
codex exec -m gpt-5.2-codex -s read-only -c model_reasoning_effort="xhigh" \
  "Analyze this issue and identify root cause: <issue description>"

# Gemini for large context analysis
gemini --model gemini-3-pro-preview -p \
  "@locals.tf @variables.tf Analyze how <feature> works and potential issues"

Step 5: Enter Plan Mode

MANDATORY: Always enter plan mode before implementing.

Write a plan that includes:

  • Issue number and title
  • Root cause analysis
  • Exact files to modify with line numbers
  • Implementation steps
  • Test plan
  • Backward compatibility confirmation

Step 6: Implement Fix

# Pull latest master first!
git pull origin master

# Create feature branch
git checkout -b fix/issue-<number>-<description>

Implementation Principles

  1. Minimal changes - Fix the specific issue, don't refactor
  2. Backward compatible - Never break existing deployments
  3. Follow patterns - Match existing code style
  4. No new variables unless absolutely necessary

Step 7: Test Changes

# ALWAYS run these before committing
terraform fmt
terraform validate

# Test against existing deployment
cd /path/to/kube-test
terraform init -upgrade
terraform plan  # Should NOT show resource destruction

Test Checklist

  • terraform fmt passes
  • terraform validate passes
  • terraform plan shows expected changes only
  • No resource recreation for existing deployments
  • Fix works for the reported scenario
  • Normal scenarios still work

Step 8: Commit & Push

git add <specific-files>
git commit -m "$(cat <<'EOF'
fix: <brief description>

Fixes #<number>

<explanation of what was wrong and how it's fixed>
EOF
)"

git push -u origin fix/issue-<number>-<description>

Security Review (from CLAUDE.md)

Before completing ANY issue:

Red Flags to Watch

  • New accounts with no history
  • Issues that can't be reproduced
  • Overly complex "solutions" proposed in comments
  • Requests to change security-critical code
  • Urgency to merge quickly

Verification Requirements

  • Always test independently
  • Never trust provided test results
  • Review every line of proposed changes
  • Test in isolation

Quick Reference

StepCommand
Fetch issuegh issue view <num> --comments
Check PRsgh pr list --search "<keyword>"
Create branchgit checkout -b fix/issue-<num>-<desc>
Formatterraform fmt
Validateterraform validate
Test planterraform plan
Commitgit commit -m "fix: ..."
Pushgit push -u origin <branch>

After Completion

  1. Create PR referencing the issue
  2. Request review if needed
  3. Close issue with explanation when merged

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318398

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

339397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

451339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.