About simplify
Simplify is a cleanup skill for developers working on a code diff. It makes high-confidence edits to reduce avoidable complexity without running the rest of the ship pre-merge pipeline; it does not review correctness or security.
Key features
- 01Removes duplication and dead code
- 02Reduces needless indirection and abstraction
- 03Checks consistency with surrounding patterns
- 04Scopes review to a diff or requested range
- 05Reports changes briefly
Use cases
- 01Cleaning up an uncommitted work-in-progress diff
- 02Reducing complexity in a branch before merging
- 03Reviewing a specified file or commit range
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ steveclarke/ dotfiles --skill simplifyAfter installing, type/simplifyin Claude Code to confirm it loaded.
Details
From the project READMESimplify
Standalone version of the Simplify gate ship runs inline. Use this
directly for a lightweight cleanup pass on whatever you're currently
working on, without running the rest of ship's pre-merge pipeline (clean
working tree requirement, Code Review, PR creation, etc.).
Contract: the current diff introduces no avoidable complexity.
What to do
Review the diff (see scope below) and remove, with high-confidence edits only:
- Duplication
- Dead code
- Needless indirection
- Unnecessary abstraction
- Premature generalization
- Patterns inconsistent with the surrounding code
- Test noise
Do not churn design or public APIs unless the diff itself created the problem. If a change needs judgment rather than being clearly correct, report it instead of "fixing" it.
Fix issues directly and report what changed, briefly. This is quality cleanup only — it does not hunt for bugs. For correctness/security review, use a code-review skill/command instead.
Determining scope
Default to the diff between the current branch and its fork point from the base branch:
BASE="$(gh pr view --json baseRefName -q .baseRefName 2>/dev/null || gh repo view --json defaultBranchRef -q .defaultBranchRef.name 2>/dev/null || echo main)"
BASE_REF="$(git rev-parse --verify --quiet "$BASE" >/dev/null 2>&1 && echo "$BASE" || echo "origin/$BASE")"
FORK="$(git merge-base "$BASE_REF" HEAD 2>/dev/null)"
git diff "$FORK"...HEAD
If there's no branch/PR context yet (uncommitted work-in-progress), review
git diff HEAD instead — staged and unstaged changes against the last
commit.
If the user names a specific file, scope, or commit range, use that instead of the default.