Agent skill

Fix

by softspark in softspark/ai-toolkit

Applies targeted fix to known bug/lint error, verifies with same command that surfaced it.

Apache-2.0Auto-check: notesDevelopment

Install Fix

skills CLI
$ npx skills add softspark/ai-toolkit --skill fix -a claude-code

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

GitHub CLI
$ gh skill install softspark/ai-toolkit fix --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/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/fix .claude/skills/fix && 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
fix
GitHub stars
179
Token cost
~1.1k tokens
SKILL.md length
497 words
Files
2 (incl. scripts)
Skills in repo
112
Repo updated
First seen
Licence
Apache-2.0

At a glance

Applies targeted fix to known bug/lint error, verifies with same command that surfaced it.

  • Works in 4 steps: Analyze: Run validation to get the exact… → Diagnose: Analyze error.log. → Patch: Apply a fix. → …
  • Tasks that involve Linting and formatting
  • SKILL.md covers Usage, Automated Error Classification, Protocol (The "Fix Loop") and Safety Limits, plus 4 more sections
  • Runs Python scripts from its folder; calls npm, ruff and python3

What it does

Fix is an agent skill from softspark/ai-toolkit. Applies targeted fix to known bug/lint error, verifies with same command that surfaced it. Triggers: fix, apply fix, fix bug, fix lint, targeted fix.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/error-classifier.py`).

It sits in Development, covering Linting and formatting and Debugging. It works with Ruff. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Linting and formatting
  • Tasks that involve Debugging

Example prompts

  • “Use the fix skill to apply targeted fix to known bug/lint error, verifies with same command that surfaced it”
  • “/fix”

Requirements

  • Python 3
  • Node.js
  • Pre-approved tools (allowed-tools): Bash, Read, Edit, Grep

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Analyze: Run validation to get the exact error message.
  2. Diagnose: Analyze error.log.
  3. Patch: Apply a fix.
  4. Verify: Run validation again.

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Edit
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • ruff
    • python3
    • mypy
    • npx
    • eslint

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

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    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

Fix loads about 1.1k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 497 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Edit, Grep

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); the scripts in this folder are not scanned.

SKILL.md

The full file from softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 497 words, ~1,115 tokens.

Download SKILL.mdSave it as .claude/skills/fix/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
fix
description
Applies targeted fix to known bug/lint error, verifies with same command that surfaced it. Triggers: fix, apply fix, fix bug, fix lint, targeted fix.
allowed-tools
Bash, Read, Edit, Grep
effort
low
disable-model-invocation
true
argument-hint
[test or lint target]

Fix Command

$ARGUMENTS

Attempts to fix code errors autonomously.

Usage

bash
/fix <file_or_scope>
# Example: /fix src/utils.ts

Automated Error Classification

Before entering the fix loop, classify errors to prioritize auto-fixable ones:

bash
# Pipe lint or test output
ruff check . 2>&1 | python3 ${CLAUDE_SKILL_DIR}/scripts/error-classifier.py
mypy src/ 2>&1 | python3 ${CLAUDE_SKILL_DIR}/scripts/error-classifier.py
npx eslint . 2>&1 | python3 ${CLAUDE_SKILL_DIR}/scripts/error-classifier.py

The script outputs JSON with:

  • total_errors: count of all parsed errors
  • auto_fixable_count: errors that tools can fix automatically (e.g., F401 unused imports, formatting)
  • manual_count: errors requiring human/agent intervention
  • tools_detected: which linters produced the output (ruff, mypy, eslint, tsc, phpstan)
  • errors[]: each error with file, line, code, message, and auto_fixable flag
  • suggested_order: files to fix, auto-fixable first
  • fix_strategy: recommended approach (auto-fix first, then manual)

Use this to run auto-fixers (e.g., ruff check --fix .) before spending time on manual fixes.


Protocol (The "Fix Loop")

  1. Analyze: Run validation to get the exact error message.

    bash
    # Get error
    npm test src/utils.ts 2>&1 | tee error.log
  2. Diagnose: Analyze error.log.

    • Use debugging-tactics skill.
    • Trace the error to the source line.
  3. Patch: Apply a fix.

    • Use sed or write_file.
  4. Verify: Run validation again.

    • If PASS: Stop.
    • If FAIL: Repeat (Max 3 retries).

Safety Limits

  • Max Retries: 3
  • Scope: Only modify the specified files.
  • Stop Condition: If new errors appear that are totally different, STOP and ask user.

Example Flow

User: /fix app.py
Agent: Running tests... FAIL (NameError)
Agent: Fixing app.py (Import missing module)
Agent: Running tests... PASS
Agent: Fixed NameError in app.py

Rules

  • MUST know the exact symptom (error message, failing test, lint code) before editing — guessing is not fixing
  • MUST verify the fix by rerunning the same command that exposed the problem, not a different validator
  • NEVER modify tests to make them pass — fixing the test is not fixing the bug
  • NEVER touch files outside the declared scope — scope creep hides regressions
  • CRITICAL: hard-stop after 3 iterations. If the fix loop has not converged, the problem is deeper than /fix handles — escalate to /debug.
  • MANDATORY: if new, unrelated errors appear during a fix attempt, stop and ask the user — do not chase them
Show full SKILL.md (215 more words)Show less

Gotchas

  • ruff check --fix reorders imports and rewrites them. On files with circular imports or conditional-imports-under-TYPE_CHECKING, the "fix" can break things silently. Run --check first, inspect the diff, then apply.
  • eslint --fix --cache skips already-cached files even if their content changed (cache invalidation by mtime). On first-run misses, clear the cache with --no-cache to force a complete pass.
  • mypy --install-types auto-installs stub packages, adding dependencies to the environment the user did not request. Reserve it for explicit opt-in; in CI, pass --non-interactive to prevent surprise installs.
  • npm test -- path/to/test in a workspace repo runs the root workspace's test runner, not the leaf package's. Use npm test --workspace=<name> or the per-package cd packages/foo && npm test form.
  • Fix loops occasionally produce cycle diffs — iteration 1 fixes A which triggers B, iteration 2 fixes B which re-breaks A. After every iteration compare the diff to the previous; identical or inverse diffs mean a cycle — stop.

When NOT to Use

  • When the root cause is unknown — use /debug first, then /fix with a clear target
  • For systemic refactoring across modules — use /refactor or /refactor-plan
  • For writing new features test-first — use /tdd
  • For CI failures spanning many files — use /workflow debugging (coordinated)
  • When the failing validation is itself broken — repair the validator separately, do not patch code to satisfy it

© softspark, 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

SKILL.md and 1 other file (scripts) in app/skills/fix of softspark/ai-toolkit.

  • SKILL.md
  • scripts/error-classifier.py

Open the folder on GitHubat commit d64db2b

Compare with similar skills

Fix 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.

Fix compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fix this skillsoftspark/ai-toolkit179—~1.1kAutomated safety check: NotesApache-2.0
Upgrading Mwaa Environmentsaws/agent-toolkit-for-aws2.8k—~7.3kAutomated safety check: PassApache-2.0
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
Mnemosyne Contextmnemosyne-oss/mnemosyne3.4k—~2.6kAutomated safety check: PassMIT
Experiment Iterative CoderEvoScientist/EvoSkills4743 repos~2.5kAutomated safety check: PassApache-2.0

Similar skills

  • Upgrading Mwaa Environments

    aws/agent-toolkit-for-aws

    Official

    Upgrades an MWAA environment to a newer Airflow version — within 2.x, within 3.x, or across the 2.x-to-3.x boundary.

    2.8k GitHub stars~7.3k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Mnemosyne Context

    mnemosyne-oss/mnemosyne

    Load this when working on the mnemosyne memory system — its repo, sync server, memory databases, or CI.

    3.4k GitHub stars~2.6k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Experiment Iterative Coder

    EvoScientist/EvoSkills

    Iterative code refinement through plan → code → evaluate → refine cycles.

    474 GitHub starsUsed in 3 repos~2.5k tokens
    DevelopmentAuto-check passed
  • Adk Setup

    google/adk-python

    Official

    Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…

    22k GitHub stars~993 tokensUpdated today
    DevelopmentAuto-check: notes

More from softspark/ai-toolkit

All 112 skills in this repo
  • Prepare Test Env

    softspark/ai-toolkit

    Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.

    179 GitHub stars~1.8k tokensUpdated today
    Auto-check: notes
  • A11y Validate

    softspark/ai-toolkit

    Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~3.8k tokensUpdated today
    Auto-check: notes
  • Analyze

    softspark/ai-toolkit

    Analyzes code quality, complexity, patterns across codebase.

    179 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Autonomous Dev

    softspark/ai-toolkit

    Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.

    179 GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Brand Voice

    softspark/ai-toolkit

    Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • CI

    softspark/ai-toolkit

    Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).

    179 GitHub stars~1.1k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Fix

What does Fix do?

Applies targeted fix to known bug/lint error, verifies with same command that surfaced it. Fix is an agent skill from softspark/ai-toolkit. Applies targeted fix to known bug/lint error, verifies with same command that surfaced it.

When should I use Fix?

Fix fits situations like: tasks that involve Linting and formatting; tasks that involve Debugging.

How do I install Fix in Claude Code?

Run `npx skills add softspark/ai-toolkit --skill fix -a claude-code`. Or copy the skill folder (app/skills/fix in softspark/ai-toolkit) into .claude/skills/fix in your project. Claude Code loads it when a task matches its description.

How do I install Fix in Codex?

Run `npx skills add softspark/ai-toolkit --skill fix -a codex`. Or copy the skill folder (app/skills/fix in softspark/ai-toolkit) into .agents/skills/fix in your project. Codex loads it when a task matches its description.

Can I use Fix 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 softspark/ai-toolkit --skill fix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fix, .gemini/skills/fix, .github/skills/fix and .opencode/skills/fix in your project.

What does Fix need to run?

Going by SKILL.md and its folder, Fix needs Python for the scripts in its folder and the command-line tools its instructions call (npm, ruff, python3, mypy, npx and eslint). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Bash, Read, Edit, Grep.

Does Fix access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Fix safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Fix use?

Fix 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 Fix use?

About 1.1k tokens (SKILL.md is roughly 4.5k 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 Fix?

Skills that share tags, products or a category with Fix: Upgrading Mwaa Environments (aws/agent-toolkit-for-aws, 2.8k stars), Kedro Babysit (kedro-org/kedro, 11k stars), Saleor Commit Workflow (saleor/saleor, 23k stars) and Mnemosyne Context (mnemosyne-oss/mnemosyne, 3.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fix?

softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.

Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.