Agent skill

Bug To Patch Generator

by ArabelaTso in ArabelaTso/Skills-4-SE

Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces.

Apache-2.0Auto-check passedTesting & QA

Install Bug To Patch Generator

skills CLI
$ npx skills add ArabelaTso/Skills-4-SE --skill bug-to-patch-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ArabelaTso/Skills-4-SE bug-to-patch-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/bug-to-patch-generator .claude/skills/bug-to-patch-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bug-to-patch-generator
GitHub stars
253
Token cost
~4.4k tokens
SKILL.md length
892 words
Files
1
Skills in repo
151
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces.

  • Works in 9 steps: Bug Analysis → Root Cause Identification → Patch Generation → …
  • Fixing test failures
  • SKILL.md covers Core Capabilities, Bug-to-Patch Workflow, Bug Fix Patterns and Patch Presentation Format, plus 1 more section
  • Calls pytest

What it does

Bug To Patch Generator is an agent skill from ArabelaTso/Skills-4-SE. Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces. Use this skill when debugging code, fixing test failures, addressing GitHub issues, resolving runtime errors, or patching security vulnerabilities. Analyzes the bug context, identifies root causes, and generates precise code patches with explanations and validation steps.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Failing and flaky tests, Debugging and Root cause analysis. It works with GitHub. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.

When your agent uses it

  • Fixing test failures
  • Addressing GitHub issues
  • Resolving runtime errors
  • Patching security vulnerabilities

Example prompts

  • “/bug-to-patch-generator”

Requirements

  • Python 3

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Bug Analysis
  2. Root Cause Identification
  3. Patch Generation
  4. Patch Validation
  5. Gather Bug Context
  6. Analyze the Bug
  7. Locate Relevant Code
  8. Generate the Patch
  9. Validate the Fix

What it can do on your machine

Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pytest

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bug To Patch Generator loads about 4.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 892 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 892 words, ~4,383 tokens.

Download SKILL.mdSave it as .claude/skills/bug-to-patch-generator/SKILL.md (or your agent's skills folder).
name
bug-to-patch-generator
description
Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces. Use this skill when debugging code, fixing test failures, addressing GitHub issues, resolving runtime errors, or patching security vulnerabilities. Analyzes the bug context, identifies root causes, and generates precise code patches with explanations and validation steps.

Bug-to-Patch Generator

Automatically generate code fixes from bug reports, failing tests, error messages, and stack traces. Analyzes bug context, identifies root causes, and produces verified patches.

Core Capabilities

1. Bug Analysis

Understand bugs from multiple sources:

  • Failing test cases - Analyze test failures and expected vs actual behavior
  • Error messages - Parse exceptions, stack traces, and error logs
  • Bug reports - Process issue descriptions, reproduction steps, and screenshots
  • Crash dumps - Interpret segmentation faults, core dumps, and memory errors
  • Runtime errors - Handle assertion failures, type errors, and logic bugs
2. Root Cause Identification

Determine the underlying issue:

  • Trace error back to source
  • Identify incorrect logic or assumptions
  • Find missing validation or edge cases
  • Detect off-by-one errors and boundary issues
  • Recognize concurrency problems
  • Spot resource leaks and memory issues
3. Patch Generation

Create targeted fixes:

  • Minimal, focused changes
  • Preserve existing functionality
  • Follow code style and patterns
  • Include safety checks where needed
  • Add comments explaining the fix
  • Suggest related improvements
4. Patch Validation

Ensure fix correctness:

  • Verify fix addresses the bug
  • Check for regression risks
  • Suggest validation tests
  • Recommend manual verification steps
  • Consider edge cases and side effects

Bug-to-Patch Workflow

Step 1: Gather Bug Context

Collect all relevant information:

From failing tests:

python
FAILED tests/test_calculator.py::test_divide - ZeroDivisionError: division by zero

def test_divide():
    result = divide(10, 0)
    assert result == None  # Expected to return None for division by zero

From error messages:

Traceback (most recent call last):
  File "app.py", line 42, in process_data
    result = data[index]
IndexError: list index out of range

From bug reports:

Title: App crashes when processing empty file
Steps to reproduce:
1. Upload empty CSV file
2. Click "Process"
3. App crashes with NoneType error

Expected: Error message shown to user
Actual: Application crashes
Step 2: Analyze the Bug

Identify the root cause:

Questions to answer:

  • What is the exact error?
  • Where does it occur? (file, line, function)
  • What are the preconditions?
  • What input triggers it?
  • What was expected vs what happened?
  • Is it a logic error, validation issue, or edge case?

Common bug patterns:

  • Missing null/None checks
  • Off-by-one errors
  • Incorrect boundary conditions
  • Missing error handling
  • Wrong operator or comparison
  • Race conditions
  • Resource leaks
  • Type mismatches
Step 3: Locate Relevant Code

Find the code that needs fixing:

python
# Read the source file
def divide(a, b):
    return a / b  # Bug: No check for b == 0

Context needed:

  • The buggy function/method
  • Related functions it calls
  • Caller functions
  • Test cases
  • Similar correct implementations
Step 4: Generate the Patch

Create minimal, focused fix:

Patch format:

python
# Before (buggy code)
def divide(a, b):
    return a / b

# After (fixed code)
def divide(a, b):
    if b == 0:
        return None  # or raise ValueError("Cannot divide by zero")
    return a / b

Patch components:

  1. Clear before/after comparison
  2. Explanation of the fix
  3. Why this approach was chosen
  4. Potential alternatives
  5. Edge cases now handled
Step 5: Validate the Fix

Ensure correctness:

Validation steps:

python
# Test that should now pass
def test_divide_by_zero():
    assert divide(10, 0) is None

# Additional tests for edge cases
def test_divide_normal():
    assert divide(10, 2) == 5

def test_divide_negative():
    assert divide(-10, 2) == -5

Verification checklist:

  • Original test now passes
  • Existing tests still pass (no regression)
  • Edge cases handled
  • Error messages are clear
  • Performance not degraded

Bug Fix Patterns

Pattern 1: Missing Null/None Check

Bug report:

AttributeError: 'NoneType' object has no attribute 'upper'

Buggy code:

python
def format_name(name):
    return name.upper()

Root cause: No validation for None input

Patch:

python
def format_name(name):
    if name is None:
        return ""  # or raise ValueError("Name cannot be None")
    return name.upper()

Explanation:

  • Added None check before accessing string method
  • Returns empty string for None (or could raise exception)
  • Prevents AttributeError

Alternative approaches:

python
# Option 1: Raise exception
def format_name(name):
    if name is None:
        raise ValueError("Name cannot be None")
    return name.upper()

# Option 2: Use default parameter
def format_name(name=None):
    return (name or "").upper()

# Option 3: Type hint and early return
def format_name(name: str | None) -> str:
    if not name:
        return ""
    return name.upper()
Pattern 2: Off-by-One Error

Bug report:

IndexError: list index out of range

Failing test:

python
def test_get_last_element():
    arr = [1, 2, 3]
    assert get_element(arr, 3) == 3  # Want last element

Buggy code:

python
def get_element(arr, index):
    return arr[index]  # index 3 is out of bounds for length 3

Root cause: Confusion between length and index (0-based)

Patch:

python
def get_element(arr, index):
    if index < 0 or index >= len(arr):
        raise IndexError(f"Index {index} out of range for array of length {len(arr)}")
    return arr[index]

Explanation:

  • Added bounds checking
  • Clear error message
  • Handles negative indices too

Better alternative:

python
def get_element(arr, index):
    """Get element at index. Supports negative indexing."""
    try:
        return arr[index]
    except IndexError:
        raise IndexError(f"Index {index} out of range for array of length {len(arr)}")
Pattern 3: Missing Error Handling

Bug report:

Application crashes when file doesn't exist
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'

Buggy code:

python
def load_config():
    with open('config.json') as f:
        return json.load(f)

Root cause: No handling for missing file

Patch:

python
def load_config():
    try:
        with open('config.json') as f:
            return json.load(f)
    except FileNotFoundError:
        # Return default config
        return {"debug": False, "port": 8080}
    except json.JSONDecodeError as e:
        raise ValueError(f"Invalid JSON in config.json: {e}")

Explanation:

  • Added FileNotFoundError handling with sensible default
  • Also handles JSON parsing errors
  • Provides clear error message for invalid JSON

Alternative with logging:

python
import logging

def load_config():
    try:
        with open('config.json') as f:
            return json.load(f)
    except FileNotFoundError:
        logging.warning("config.json not found, using defaults")
        return {"debug": False, "port": 8080}
    except json.JSONDecodeError as e:
        logging.error(f"Invalid JSON in config.json: {e}")
        raise
Pattern 4: Incorrect Logic/Condition

Failing test:

python
def test_is_even():
    assert is_even(0) == True  # FAILS
    assert is_even(2) == True
    assert is_even(3) == False

Buggy code:

python
def is_even(n):
    if n % 2:  # Bug: 0 % 2 == 0 which is falsy
        return False
    return True

Root cause: Incorrect boolean logic (0 is falsy)

Patch:

python
def is_even(n):
    return n % 2 == 0  # Explicitly check equality

Explanation:

  • Changed from implicit truthiness to explicit comparison
  • Handles 0 correctly (0 % 2 == 0 is True)
  • More readable and explicit
Pattern 5: Race Condition

Bug report:

Intermittent test failure in multithreaded code
AssertionError: Expected counter=1000, got counter=987

Buggy code:

python
class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1  # Not atomic!

Root cause: Non-atomic operation in concurrent context

Patch (Python):

python
import threading

class Counter:
    def __init__(self):
        self.count = 0
        self.lock = threading.Lock()

    def increment(self):
        with self.lock:
            self.count += 1

Alternative using atomic operations:

python
from threading import Lock
from threading import local

class Counter:
    def __init__(self):
        self.count = 0
        self._lock = Lock()

    def increment(self):
        with self._lock:
            self.count += 1

# Or use atomic integer
from threading import Lock

class Counter:
    def __init__(self):
        from queue import Queue
        self._queue = Queue()
        self.count = 0

# Better: use threading.local or atomic types
import threading

class AtomicCounter:
    def __init__(self):
        self._value = 0
        self._lock = threading.Lock()

    def increment(self):
        with self._lock:
            self._value += 1
            return self._value

    @property
    def value(self):
        with self._lock:
            return self._value
Show full SKILL.md (354 more words)Show less
Pattern 6: Memory Leak

Bug report:

Application memory usage grows unbounded
Memory increases by ~100MB every hour

Buggy code:

python
class Cache:
    def __init__(self):
        self.data = {}

    def store(self, key, value):
        self.data[key] = value  # Never clears old entries

    def get(self, key):
        return self.data.get(key)

Root cause: Unbounded cache growth

Patch:

python
from collections import OrderedDict

class Cache:
    def __init__(self, max_size=1000):
        self.data = OrderedDict()
        self.max_size = max_size

    def store(self, key, value):
        if key in self.data:
            # Move to end (most recently used)
            self.data.move_to_end(key)
        else:
            self.data[key] = value

        # Evict oldest if over limit
        if len(self.data) > self.max_size:
            self.data.popitem(last=False)

    def get(self, key):
        if key in self.data:
            # Move to end (most recently used)
            self.data.move_to_end(key)
            return self.data[key]
        return None

Explanation:

  • Implemented LRU cache with size limit
  • Uses OrderedDict for efficient LRU tracking
  • Automatically evicts oldest entries
Pattern 7: Incorrect Exception Type

Failing test:

python
def test_invalid_input():
    with pytest.raises(ValueError):
        process(-1)  # FAILS: raises TypeError instead

Buggy code:

python
def process(value):
    if value < 0:
        raise TypeError("Value must be non-negative")  # Wrong exception type
    return value * 2

Root cause: Using TypeError instead of ValueError

Patch:

python
def process(value):
    if value < 0:
        raise ValueError("Value must be non-negative")  # Correct exception
    return value * 2

Explanation:

  • ValueError is for invalid values
  • TypeError is for invalid types
  • Changed to appropriate exception type

Patch Presentation Format

Structured Patch Template
markdown
## Bug Fix: [Short description]

### Bug Details
- **Location:** [file:line]
- **Error:** [error message or test failure]
- **Root Cause:** [explanation of the underlying issue]
- **Severity:** [Critical/High/Medium/Low]

### Analysis
[Detailed explanation of why the bug occurs]

### Proposed Fix

#### Changes
```[language]
# File: [filename]

# Before (lines X-Y)
[buggy code]

# After
[fixed code]
Explanation

[Why this fix works and what it does]

Alternative Approaches
Validation
Tests to Add/Modify
language
[test code that validates the fix]
Manual Verification Steps
  1. [Step 1]
  2. [Step 2]
  3. [Expected result]
Regression Checks
  • Existing tests still pass
  • No performance degradation
  • No new edge cases introduced
  • Consider also fixing: [related code that may have same issue]
  • Similar patterns in: [other files]

### Example Complete Patch

```markdown
## Bug Fix: Handle division by zero in calculator

### Bug Details
- **Location:** src/calculator.py:15
- **Error:** `ZeroDivisionError: division by zero`
- **Root Cause:** Missing validation for zero divisor
- **Severity:** High (causes crash)

### Analysis
The `divide` function performs division without checking if the divisor is zero.
When called with b=0, Python raises ZeroDivisionError, crashing the application.
The function should either return None, return infinity, or raise a custom exception
with a clear message.

### Proposed Fix

#### Changes
```python
# File: src/calculator.py

# Before (lines 14-15)
def divide(a, b):
    return a / b

# After
def divide(a, b):
    """Divide a by b. Returns None if b is zero."""
    if b == 0:
        return None
    return a / b
Explanation

Added a check for zero divisor before performing division. Returns None to indicate invalid operation, which is consistent with other error cases in the codebase. This prevents the uncaught exception and allows callers to handle the None return.

Alternative Approaches
  1. Raise custom exception: raise ValueError("Cannot divide by zero")

    • Pros: Explicit error, forces caller to handle
    • Cons: More verbose for callers
  2. Return float('inf'): Mathematical infinity

    • Pros: Mathematically correct for positive/negative infinity
    • Cons: May cause issues in downstream calculations
  3. Return 0: Default to zero

    • Pros: Simple
    • Cons: Mathematically incorrect, hides errors

Chosen approach: Return None because it's consistent with the existing codebase pattern of returning None for invalid operations.

Validation
Tests to Add/Modify
python
# tests/test_calculator.py

def test_divide_by_zero():
    """Test that division by zero returns None."""
    assert divide(10, 0) is None
    assert divide(0, 0) is None
    assert divide(-5, 0) is None

def test_divide_normal():
    """Test normal division still works."""
    assert divide(10, 2) == 5
    assert divide(10, 3) == pytest.approx(3.333, rel=0.001)
Manual Verification Steps
  1. Run the failing test: pytest tests/test_calculator.py::test_divide
  2. Verify it now passes
  3. Run full test suite: pytest
  4. Test in REPL: divide(10, 0) should return None
Regression Checks
  • All existing calculator tests pass
  • No performance impact (simple check)
  • Consistent with other error handling in codebase
  • Consider also checking modulo function for same issue
  • power function may have similar edge cases (0^0, 0^-1)

## Best Practices

1. **Minimal changes** - Fix only what's broken, don't refactor unnecessarily
2. **Preserve behavior** - Ensure fix doesn't break working functionality
3. **Clear explanations** - Explain why the bug occurred and how fix addresses it
4. **Test thoroughly** - Add tests that would have caught the bug
5. **Consider alternatives** - Present multiple fix options when applicable
6. **Document the fix** - Add comments explaining non-obvious fixes
7. **Check for similar bugs** - Look for the same pattern elsewhere
8. **Validate edge cases** - Ensure fix handles all scenarios
9. **Follow code style** - Match existing patterns and conventions
10. **Suggest improvements** - Note related technical debt if relevant

## Common Pitfalls to Avoid

### Pitfall 1: Over-fixing
```python
# Bad: Refactoring unrelated code
def divide(a, b):
    # Also renamed parameters and restructured
    if divisor == 0:
        return None
    quotient = dividend / divisor
    return quotient

# Good: Minimal fix
def divide(a, b):
    if b == 0:
        return None
    return a / b
Pitfall 2: Introducing New Bugs
python
# Bad: Fix creates new issue
def get_first(arr):
    if len(arr) == 0:
        return None
    return arr[1]  # Bug! Should be arr[0]

# Good: Correct fix
def get_first(arr):
    if len(arr) == 0:
        return None
    return arr[0]
Pitfall 3: Hiding the Real Problem
python
# Bad: Silencing exceptions
def load_data():
    try:
        return dangerous_operation()
    except Exception:
        return None  # Hides the actual error!

# Good: Specific exception handling
def load_data():
    try:
        return dangerous_operation()
    except FileNotFoundError:
        return None  # Expected case
    # Let other exceptions propagate

Language-Specific Fix Patterns

For language-specific bug patterns and fixes:

© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/bug-to-patch-generator of ArabelaTso/Skills-4-SE.

Open the folder on GitHubat commit 4f38503

Compare with similar skills

Bug To Patch Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bug To Patch Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bug To Patch Generator this skillArabelaTso/Skills-4-SE253—~4.4kAutomated safety check: PassApache-2.0
Prp DebugWirasm/prp2.3k—~1.1kAutomated safety check: PassMIT
Prp DebugWirasm/prp2.3k—~1.1kAutomated safety check: PassMIT
Triage Issuesoftspark/ai-toolkit179—~1.3kAutomated safety check: NotesApache-2.0
Pester Failure AnalysisPowerShell/PowerShell56k—~5.1kAutomated safety check: PassMIT
Issue To Regression Testbrunosabot/streamline-card269—~529Automated safety check: PassMIT

Similar skills

  • Prp Debug

    Wirasm/prp

    Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.

    2.3k GitHub stars~1.1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Prp Debug

    Wirasm/prp

    Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.

    2.3k GitHub stars~1.1k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Triage Issue

    softspark/ai-toolkit

    Bug triage: explores codebase for root cause, files GitHub issue with TDD fix plan.

    179 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Pester Failure Analysis

    PowerShell/PowerShell

    Investigates failing Pester tests in PowerShell CI jobs by following a six-step workflow from pull request status to documented fix recommendations.

    56k GitHub stars~5.1k tokensUpdated today
    Testing & QAAuto-check passed
  • Issue To Regression Test

    brunosabot/streamline-card

    A skill your agent uses when the user asks to fix a bug, references a GitHub issue number, or describes an issue and wants a fix.

    269 GitHub stars~529 tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Bug Reproducer

    AnastasiyaW/codex-claude-code-config

    Find likely software bugs in a codebase, rank concrete bug candidates, and prove or reject them with focused regression tests before proposing a fix.

    154 GitHub stars~4.1k tokensUpdated 5 days ago
    Testing & QAAuto-check passed

More from ArabelaTso/Skills-4-SE

All 151 skills in this repo
  • Framework Migration Assistant

    ArabelaTso/Skills-4-SE

    Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).

    253 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Metamorphic Test Generator

    ArabelaTso/Skills-4-SE

    Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.

    253 GitHub stars~798 tokensUpdated 1 mo ago
    Auto-check passed
  • Reproduction Trace Instrumenter

    ArabelaTso/Skills-4-SE

    Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.

    253 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Spring Mvc To Boot Migrator

    ArabelaTso/Skills-4-SE

    Automatically migrate Spring MVC applications to Spring Boot.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Bug To Patch Generator

What does Bug To Patch Generator do?

Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces. Bug To Patch Generator is an agent skill from ArabelaTso/Skills-4-SE. Generate code fixes and patches from bug reports, failing test cases, error messages, and stack traces.

When should I use Bug To Patch Generator?

Bug To Patch Generator fits situations like: fixing test failures; addressing GitHub issues; resolving runtime errors; patching security vulnerabilities.

How do I install Bug To Patch Generator in Claude Code?

Run `npx skills add ArabelaTso/Skills-4-SE --skill bug-to-patch-generator -a claude-code`. Or copy the skill folder (skills/bug-to-patch-generator in ArabelaTso/Skills-4-SE) into .claude/skills/bug-to-patch-generator in your project. Claude Code loads it when a task matches its description.

How do I install Bug To Patch Generator in Codex?

Run `npx skills add ArabelaTso/Skills-4-SE --skill bug-to-patch-generator -a codex`. Or copy the skill folder (skills/bug-to-patch-generator in ArabelaTso/Skills-4-SE) into .agents/skills/bug-to-patch-generator in your project. Codex loads it when a task matches its description.

Can I use Bug To Patch Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill bug-to-patch-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bug-to-patch-generator, .gemini/skills/bug-to-patch-generator, .github/skills/bug-to-patch-generator and .opencode/skills/bug-to-patch-generator in your project.

What does Bug To Patch Generator need to run?

Going by SKILL.md and its folder, Bug To Patch Generator needs the command-line tools its instructions call (pytest). Our summary lists: Python 3.

Does Bug To Patch Generator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bug To Patch Generator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bug To Patch Generator use?

Bug To Patch Generator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bug To Patch Generator use?

About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bug To Patch Generator?

Skills that share tags, products or a category with Bug To Patch Generator: Prp Debug (Wirasm/prp, 2.3k stars), Prp Debug (Wirasm/prp, 2.3k stars), Triage Issue (softspark/ai-toolkit, 179 stars) and Pester Failure Analysis (PowerShell/PowerShell, 56k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bug To Patch Generator?

ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 151 skills in this directory. The repository was last updated on August 21, 2026.

Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.