fix-something
Fix a random FIXME in the codebase (in the given scope, use "." for the whole codebase)
Best use case
fix-something is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Fix a random FIXME in the codebase (in the given scope, use "." for the whole codebase)
Teams using fix-something should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/fix-something/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How fix-something Compares
| Feature / Agent | fix-something | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Fix a random FIXME in the codebase (in the given scope, use "." for the whole codebase)
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
Your task is to make ONE improvement to the codebase by fixing a random thing about the codebase (eg, normally a FIXME). In order to make this process easier for you, our FIXMEs are specially formatted: ```python # FIXME(priority)[attempts=N]: (description) # (optional additional context) ``` where `description` is a short description of what needs to be fixed, and `N` is the number of prior attempts made to fix it (if any). If there have been no prior attempts, the `[attempts=N]` part may be omitted. The priority is simply an integer, with 0 being the highest priority. priority may or may not be present. If not present, assume priority=3 Before doing any of the below, the first step is to check that the tests are passing by running "uv run pytest" If the tests are not ALL passing (including all linters, ratchets, type checks, etc), *then this is the thing for you to fix*. In particular, you must follow this process: 1. revert the changes from the previous commit by calling "git revert --no-commit HEAD" (so that the changed are in your current working tree, but not yet committed) 2. update the FIXME that was attempted in the previous commit to increment the attempts count by 1 (if there were no prior attempts, add "[attempts=1]", if there were some prior attempts, increment the number by 1). Note that it should then look something like this: `# FIXME[attempts=1]: (original description)` or `# FIXME0[attempts=2]: (original description)`, ie, the `[attempts=N]` part goes before the ":" 3. extend the optional additional context of the FIXME with a brief note about why you were unable to fix it 4. commit all of this. 5. proceed directly to "# The Final Step" below. If the tests start out passing, then you must select and fix a random FIXME by following this process: 1. Simply run this bash command, and it will give you a random FIXME line: "./scripts/random_fixme.sh $1". If no lines are returned, then there are no more remaining FIXMEs, so use your "think-of-something-to-fix" skill to come up with something else to fix instead. 2. Find that FIXME and be sure to read the surrounding context (the optional additional context lines below the FIXME line may be important). This is the task you will be working on. 3. Go gather all the context for the library that contains that FIXME (per instructions in CLAUDE.md). 4. Think carefully about how best to fix that FIXME 5. Implement the fix 6. Get all the tests passing (use "uv run pytest" to run them, and be sure to fix any issues, no matter how small) Once the tests are passing, be sure that you have removed ONLY that FIXME, then commit your changes. If you were unable to fix the issue and get all the tests passing, do the following instead: 1. Revert any changes you made while attempting to fix the issue 2. Update the FIXME to increment the attempts count by 1 (if there were no prior attempts, add "[attempts=1]", if there were some prior attempts, increment the number by 1). Note that it should then look something like this: `# FIXME[attempts=1]: (original description)` or `# FIXME0[attempts=2]: (original description)`, ie, the `[attempts=N]` part goes before the ":" 3. Extend the optional additional context with a brief note about why you were unable to fix it this time. 4. Commit this updated FIXME (be sure that nothing else is being changed!) # The Final Step Finally, as the *very* last thing you do (after committing, regardless of whether you succeeded or not), run this command: "touch $2" (to indicate that you have completed your fix task).
Related Skills
think-of-something-to-fix
Come up with good ideas about what to fix. Use when you have to fix something, but you're not sure what.
writing-specs
Write high quality specifications or design docs for a program. Use any time you are asked to write, improve, or update specs / design docs (e.g., files in a `specs/` folder).
writing-ratchet-tests
Write ratchet tests to prevent accumulation of code anti-patterns. Use when asked to create a "ratchet test" for tracking and preventing specific code patterns (e.g., TODO comments, inline imports, broad exception handling).
writing-docs
Write high quality, user-facing documentation. Use any time you need to write, improve, or update a significant amount of user-facing documentation (e.g., files in a "docs/" folder or README file).
wait-for-agent
Wait for another agent to enter WAITING state, then execute follow-up instructions
update-issues-in-repo
Convert a file containing identified issues into a tracked file in current_tasks/. Use after running identify-* commands to create a local record of current issues.
triage-backlog
Interactively triage the user's local engineering backlog file into GitHub issues. Use when the user wants to process their raw thought notes / ticket backlog into proper GitHub issues.
sync-tutorial-to-e2e-tests
Match tutorial script blocks to e2e pytest functions and add missing tests
minds-dev-iterate
Set up and iterate on the minds app stack (desktop client, workspace server, mngr, forever-claude-template) with a running Docker agent
message-agent
Send a message to another mngr agent. Use when you need to communicate with a peer agent.
identify-style-issues
Identify divergences from the style guide in the $1 library
identify-outdated-docstrings
Identify outdated docstrings in the $1 library