Skip to content
Back to skills

Fix

ASecurity

Fix bugs and technical debt with minimal ceremony. Issue GitHub optional — provide one for traceability or work free-form. Replaces /issue-fix.

  • 25 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
code-qualitypythongoshellbashtestingrefactoringgitapifrontendsecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add matteocervelli/llms --skill fix --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fix?

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

Security grade badge for Fix
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/matteocervelli-fix/badge)](https://www.skillsdirectory.com/skills/matteocervelli-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: fix
description: Fix bugs and technical debt with minimal ceremony. Issue GitHub optional — provide one for traceability or work free-form. Replaces /issue-fix.
---

# Fix Skill

## Purpose

Minimal-ceremony fix workflow for bugs and technical debt. GitHub issue is optional — provide one
for traceability, or describe the problem free-form.

Replaces `/issue-fix`. Key differences from the old skill:

- Issue number not required
- No automatic PR (opt-in with `--pr`)
- Cleaner ceremony: branch → fix → security scan → regression test → commit

## When to Use vs Other Skills

|          | `/quick`       | `/fix`            | `/implementation`  |
| -------- | -------------- | ----------------- | ------------------ |
| Ceremony | None           | Minimal           | Full               |
| Size     | Tiny (minutes) | Small-medium      | Medium-large       |
| Type     | Anything       | Bug / tech debt   | Feature / refactor |
| Issue    | Optional       | Optional          | Optional           |
| PR       | No             | Optional (`--pr`) | Yes                |
| Tests    | No             | Regression only   | Full TDD           |

## Usage

```bash
/fix "broken login after password change"
/fix --issue 42 "auth regression on mobile"
/fix --pr "memory leak in worker queue"        # create PR after commit
/fix --issue 15 --pr "null pointer in parser"  # issue + PR
```

## Workflow

### 1. Analysis

If issue provided:

```bash
gh issue view <N>
```

**Complexity check — pick one path:**

**Simple fix** (root cause obvious from description, ≤2 files, no security implications):
→ Reason through root cause directly, proceed to Step 2.

**Complex fix** (scope unclear, multiple files, security implications, or ambiguous cause):
→ Automatically enter Plan Mode:

1. Call `EnterPlanMode`
2. Spawn a Plan agent (`model: sonnet`) with all gathered context to produce:
   - Root cause analysis
   - Minimal change plan (files + rationale)
   - Regression test strategy
   - Security implications (if any)
3. Call `ExitPlanMode` — present plan to user, wait for approval
4. After approval, proceed to Step 2

> **Root cause still unclear after analysis?** Stop and run
> `/diagnose "<symptom description>"` first. Return here once the investigation
> identifies the root cause.

### 2. Branch

```bash
# With issue number
git checkout -b fix/<N>-brief-description

# Without issue (free-form)
git checkout -b fix/brief-description
```

Check for open release branches first:

```bash
git branch -r --list 'origin/release/*' | sed 's|origin/||'
```

If a release branch exists, ask: "Target release branch or main?"

### 3. Implement

Fix following these principles:

- **Minimal**: touch only what's needed — resist refactoring adjacent code
- **Secure**: validate inputs, handle errors cleanly, no data leaks
- **Defensive**: null checks, proper error boundaries

### 4. Test

Write a regression test to verify the fix:

```bash
# Python
ruff check . && mypy .
pytest -k "test_<relevant>"  # Full suite runs on CI; locally run only relevant tests

# JS/TS
npm run lint && npm run typecheck
npm test -- --testPathPattern="<relevant>"
```

Test requirements:

- Bug reproduction test (confirms fix works)
- Security edge cases if the bug has security implications
- Trivial fixes: add a test case to the nearest existing test file (no new test file needed)

### 5. Gate

Run `/security-verify scan` before committing — non-negotiable per `rules/security-gate.md`.

### 6. Commit

```bash
# With issue
git commit -m "$(cat <<'EOF'
fix: <description>

Fixes #<N>
EOF
)"

# Without issue
git commit -m "fix: <description>"
```

### 7. Optional PR

Only if `--pr` flag or explicitly requested:

```bash
gh pr create --title "fix: <description>" --body "$(cat <<'EOF'
## Root Cause
[brief]

## Fix
[what changed and why]

## Testing
- [ ] Regression test added
- [ ] Security edge cases verified
EOF
)"
```

Otherwise: push branch, leave PR for later or skip entirely.

### 8. Update CHANGELOG

Add to `[Unreleased]` section:

```
- fix: <description> (#N if applicable)
```

### 9. Smoke Tests + Review

**Always close with a short manual smoke test checklist** (3–5 items). Infer the interface type:

- **REST endpoint** → `curl` commands covering happy path + error path
- **Frontend** → numbered browser steps (open URL → action → verify state)
- **CLI** → shell commands including `--help` and one error case
- **Library** → one-liner `python -c "..."` or inline snippet

Then suggest (in order, don't skip the first):

```
→ /review changes  ← always before /pre-commit
→ /pre-commit (only if --pr flag or user explicitly asks)
```

**Do NOT jump straight to `/pre-commit`** — `/review changes` should always come first.

---

## Tech Debt Remediation

`/fix` is also the right skill for tech debt when:

- Change is isolated (no interface changes, no API breakage)
- Requires updating existing tests, not writing new suites
- Impact is contained to 1-3 files

For larger tech debt (cross-cutting, interface changes, architectural rework), use `/implementation`.
Tracking: GitHub milestone `TECH-DEBT`.

## Tips

- Keep fixes minimal — resist refactoring unrelated code
- Always document root cause in commit message or PR body for future reference

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.