Review changed code for reuse, quality, and efficiency, then clean up what you find — duplicated logic that could reuse an existing helper, hacky or redundant patterns, needless work on hot paths. Quality cleanup only: not bugs (that's code-review) and not behavior-preserving restructuring on request (that's refactor). Use when the user says "simplify", "clean this up", "is there a simpler way", or "tidy the diff".
Installs into .claude/skills of the current project.
Are you the author of Simplify?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/genai-io-simplify)
---
name: simplify
description: >-
Review changed code for reuse, quality, and efficiency, then clean up what you
find — duplicated logic that could reuse an existing helper, hacky or redundant
patterns, needless work on hot paths. Quality cleanup only: not bugs (that's
code-review) and not behavior-preserving restructuring on request (that's
refactor). Use when the user says "simplify", "clean this up", "is there a
simpler way", or "tidy the diff".
allowed-tools:
- Bash
- Read
- Glob
- Grep
- Edit
- Agent
argument-hint: "[focus area]"
---
# Simplify: quality cleanup on the changed code
Review the changed code for cleanups it would benefit from, then apply them. This
is the **quality** pass — reuse, hacky patterns, wasted work. It is not the bug
pass (`code-review`) and not a requested restructuring (`refactor`); stay in its
lane and don't report correctness bugs or propose structural rewrites here.
## Phase 1: Identify changes
Run `git diff` (or `git diff HEAD` when changes are staged). With no git changes,
review the most recently modified files the user named or that you edited earlier
in this conversation.
## Phase 2: Review across three lenses (in parallel)
Use the Agent tool to launch three reviewers concurrently in one message
(foreground). Give each the full diff. Each returns a short list of concrete,
located findings.
- **Reuse.** New code that duplicates an existing helper or utility; hand-rolled
logic (string munging, path handling, env checks, type guards) that the
codebase already has a function for. Point to the existing one to use instead.
- **Quality.** Redundant state that could be derived; parameter sprawl instead of
restructuring; near-duplicate blocks that should share an abstraction; leaky
abstractions; stringly-typed code where a constant/enum exists; needless wrapper
layers; conditionals nested 3+ deep (flatten with early returns or a lookup);
comments that narrate WHAT instead of non-obvious WHY.
- **Efficiency.** Redundant computation or repeated reads; independent work run
sequentially that could be parallel; new blocking work on a startup or
per-request hot path; unconditional no-op updates in loops/handlers (guard with
change detection); pre-checking existence before operating (TOCTOU); unbounded
growth or leaked resources; reading/loading far more than needed.
## Phase 3: Apply the cleanups
Aggregate the findings and fix each directly. Keep each fix minimal and matched to
the file's existing style. If a finding is a false positive or not worth it, skip
it — don't argue with it. When done, briefly summarize what you cleaned up, or
confirm the code was already clean.