Our review
Creates a bug branch from an existing project branch with a single debugging challenge.
Strengths
- Automates the creation of sequentially numbered bug branches.
- Guides the user through adding a bug and creating a run script to reproduce the failure.
- Verifies repository state and ensures all changes are committed before finishing.
Limitations
- Requires the user to manually introduce the bug (no automatic bug generation).
- Does not handle complex multi-file bugs – intended for a single, simple bug.
When you want to create a structured debugging challenge with a dedicated branch, reproduction script, and clear numbering.
If you need to automatically generate a bug or handle complex bugs with multiple dependencies.
Security analysis
CautionThe skill uses git and bash to create branches and run user-specified commands. While not inherently malicious, it allows the user to supply any command that will be executed, posing a risk if the user provides dangerous input. No input sanitization is mentioned.
- •The skill instructs the execution of user-provided shell commands (via run.sh and uv run), which could be arbitrary and potentially destructive. It also uses git operations that modify the repository state.
Examples
/add-bug/add-bug
Project name: tinydb/add-bug
Project name: quixbugs-challenge
Description: Add off-by-one error in loop conditionname: add-bug description: Create a new bug branch from an existing project branch with a single debugging challenge
Add Bug Branch
Creates a new bug branch from an existing project branch with a single debugging challenge.
Usage
/add-bug
Instructions
When this command is invoked:
-
Ask the user for required information:
- Project name (the base project branch, e.g.,
tinydb,quixbugs-challenge) - Bug number (or auto-detect next available number)
- Brief description of what bug they want to add (optional, for commit message)
- Project name (the base project branch, e.g.,
-
Verify current state:
- Confirm the project branch exists
- Check for uncommitted changes (warn if any exist)
- Find the next available bug number by checking for existing
<project-name>-bug*branches
-
Create the bug branch:
git checkout <project-name> git checkout -b <project-name>-bug<N> -
Guide the user through adding the bug:
- Explain that they should now: a. Modify the code to introduce the bug b. Verify the bug causes a test failure or observable issue
- Wait for the user to make their changes (don't make code changes automatically)
-
Help create the run script:
- Ask the user what command reproduces the bug (e.g.,
pytest tests/test_foo.py::test_bar) - Create
run.shwith the appropriate command:#!/bin/bash uv run <command> - Make it executable:
chmod +x run.sh
- Ask the user what command reproduces the bug (e.g.,
-
Commit the bug:
git add . git commit -m "[<project-name>] Add bug <N>: <description>" -
Verify the setup:
- Test that
./run.shreproduces the failure - Confirm all changes are committed
- Test that
-
Provide next steps:
- Suggest pushing the branch:
git push -u origin <project-name>-bug<N> - Remind that this branch is now a complete debugging challenge
- Suggest pushing the branch:
Context
Bug branches are the actual debugging challenges given to participants. Each bug branch should:
- Contain exactly ONE bug (not multiple bugs)
- Have a
run.shscript that demonstrates the failure - Be small enough to debug within 30 minutes
- Have bugs that aren't obvious from simple code inspection
- Include clear test failures or observable incorrect behavior
Types of Bugs
According to academic software engineering research, the majority of all bug fixes are one of two kinds:
- Changes to a conditional path (adding a predicate to a branch, adding/removing a branch, adding an early exit branch)
- Changing a method call by changing the expression passed to the method or changing the shape of the method call
Thus, bugs that we add should prefer to have solutions that are one of these types of fixes.
Guidelines for Good Bugs
A good 30-minute debugging challenge should:
- ✅ Require executing code to understand the failure
- ✅ Have bugs that aren't obvious from simple inspection
- ✅ Be small enough to debug within the time limit
- ✅ Have clear test cases that show failures
- ✅ Test realistic debugging scenarios
- ❌ Not be solvable by just reading the code for 5 minutes
- ❌ Not be so complex that understanding the code takes most of the time
Bug Numbering
Bug numbers should be sequential per project. If tinydb-bug1 and tinydb-bug2 exist, the next bug should be tinydb-bug3.
The skill should auto-detect the next available number, but allow the user to override if needed.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.