fcakyon/simplify
This skill should be used when the user asks to "simplify", "clean up the diff", "run simplify", "simplify the changes", "review changed code for cleanup", explicitly invokes "/simplify", or asks to "commit without simplify", "skip simplify for this commit", or "commit this but skip simplify". Reviews changed code across reuse, simplification, efficiency, and altitude, or grants an explicit one-commit bypass. Not for correctness bugs.
npx skills add https://github.com/fcakyon/claude-codex-settings --skill simplify
/simplify → 4 cleanup agents in parallel → apply the fixes
You are improving the quality of the changed code, not hunting for bugs. Review it for reuse, simplification, efficiency, and altitude issues, then fix what you find. Do not look for correctness bugs, that is what /code-review is for.
If the user explicitly asks to commit while skipping simplify, skip the review phases below:
echo simplify-guard:bypass
--no-verify.Never infer permission to bypass from the size, urgency, or type of change. The user must explicitly name simplify when asking to skip it.
Run git diff @{upstream}...HEAD (or git diff main...HEAD / git diff HEAD~1 if there's no upstream) to get the unified diff under review. If there are uncommitted changes, or the range diff is empty, also run git diff HEAD and include the working-tree changes in scope, the review often runs before the commit. If a PR number, branch name, or file path was passed as an argument, review that target instead. Treat this diff as the review scope.
Run 4 distinct reviews, one for each angle below. Launch four independent agents concurrently when capacity allows. If fewer than four slots are available, run the remaining angles in the primary agent or in later waves. Never omit or combine an angle. Pass each agent the diff and its assigned angle. Each returns its findings with file, line, a one-line summary, and the concrete cost (what is duplicated, wasted, or harder to maintain).
Flag new code that re-implements something the codebase already has. Grep shared/utility modules and files adjacent to the change, and name the existing helper to call instead.
Flag unnecessary complexity the diff adds: redundant or derivable state, copy-paste with slight variation, deep nesting, dead code left behind. Name the simpler form that does the same job.
Flag wasted work the diff introduces: redundant computation or repeated I/O, independent operations run sequentially, blocking work added to startup or hot paths. Also flag long-lived objects built from closures or captured environments, they keep the entire enclosing scope alive for the object's lifetime (a memory leak when that scope holds large values). Prefer a class/struct that copies only the fields it needs. Name the cheaper alternative.
Check that each change is implemented at the right depth, not as a fragile bandaid. Special cases layered on shared infrastructure are a sign the fix isn't deep enough, prefer generalizing the underlying mechanism over adding special cases.
Wait for all four agents to complete, dedup findings that point at the same line or mechanism, and fix each remaining one directly. Skip any finding whose fix would change intended behavior, require changes well outside the reviewed diff, or that you judge to be a false positive, note the skip rather than arguing with it.
In Codex only, after all accepted fixes are applied, run this exact command from the reviewed worktree:
echo simplify-guard:complete
Codex loads skills as instructions instead of emitting a Skill tool event. This command lets the bundled guard record completion. Do not run it before the review and cleanup phases finish.
Claude Code should skip this phase because its PostToolUse Skill hook records completion automatically.
Finish with a brief summary of what was fixed and what was skipped (or confirm the code was already clean).
Take fcakyon/simplify from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.