| name | simplify-one-thing |
| description | Find one unnecessarily complex thing in the current codebase, simplify it, and explain the change. |
| disable-model-invocation | true |
Simplify One Thing
Find exactly one thing in the current codebase that can be made simpler.
Goal
Reduce complexity without changing behavior.
Prefer simplifying:
- Overly complicated control flow
- Repeated logic
- Confusing names
- Unnecessary abstractions
- Missing abstractions that would clarify intent or simplify usage
- Code that is hard to reason about
- Comments that explain confusing code that could instead be made clearer
Do not rewrite unrelated code.
Do not change behavior unless explicitly necessary.
Do focus on reducing LOC.
Process
- Inspect the relevant files.
- Find 3 to 5 simplification candidates.
- Pick exactly one.
- Choose the candidate with:
- the clearest reduction in complexity
- the lowest risk of behavior change
- the easiest verification path
- Explain the chosen simplification before editing.
- Make the change.
- Run the most relevant test, formatter, linter, or build command.
- If no verification command is obvious, infer one from the project files.
- If verification cannot be run, explain why.
Rules
- Preserve behavior.
- Prefer deleting code over adding code.
- Preserve the project’s existing style.
- Do not introduce new dependencies.
- Do not rename public APIs unless the simplification clearly requires it.
- Add or update tests only if needed to preserve confidence.
Output format
After finishing, report:
Simplified: <one-sentence summary>
Why this was worth doing:
<brief explanation>
What changed:
- <file>: <what was simplified>
Verification:
- <command run>: <result>
Notes:
<any caveats or follow-up ideas>