[FEATURE] Bring back /simplify

Status Fixed / completed
Reported on v2.1.146
Maintainer reply ✓ Yes — bcherny
Activity 9 comments · opened May 22, 2026 · closed May 25, 2026
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Claude Code 2.1.146 removed /simplify and replaced with /code-review which takes absolutely no action and is quite different.

Proposed Solution

Bring back /simplify command

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

  1. Before I run a commit I want to run /simplify or after /code-review

Additional Context

_No response_

View original on GitHub ↗

9 Comments

okomarov · 3 months ago

Agree total rubbish in terms of UX, unsure about the recommendations quality. Also feels like it's killing tokens left and right (but maybe that's something that happened before too, and now it's just more explicit about it)

<img width="931" height="851" alt="Image" src="https://github.com/user-attachments/assets/6ace014f-0d0c-4d31-9631-ce5ea7ce0644" />

What is that Red JSON rubbish, and how is anyone gonna understand the summary recommendations?

Latent / data hygiene: duplicate BullBullGo handle (#5), JS-length-vs-char_length validation gap (#6).

You wot!?

shengcheng123 · 3 months ago

+100! bring back the old simplify. this new one is so confusing

gtapps · 3 months ago

Meanwhile I created this skill based of /simplify from CC 2.1.145 you can use:
https://github.com/gtapps/simplify

noughts · 3 months ago

The /simplify command was essential to my workflow. It literally simplified the verbose code that Claude Code and Codex tend to produce.

What I want is not a code review — I want simplification. Please bring it back.

jammur · 3 months ago

I just discovered I had a long running CC session open that still had the skill loaded, so I asked it to print out the contents of the skill from the context. You should be able to just add it manually as a skill.

# Simplify: Code Review and Cleanup

  Review all changed files for reuse, quality, and efficiency. Fix any issues found.

  ## Phase 1: Identify Changes

  Run `git diff` (or `git diff HEAD` if there are staged changes) to see what changed. If
  there are no git changes, review the most recently modified files that the user mentioned or
   that you edited earlier in this conversation.

  ## Phase 2: Launch Three Review Agents in Parallel

  Use the Agent tool to launch all three agents concurrently in a single message. Pass each
  agent the full diff so it has the complete context.

  ### Agent 1: Code Reuse Review

  For each change:

  1. **Search for existing utilities and helpers** that could replace newly written code. Look
   for similar patterns elsewhere in the codebase — common locations are utility directories,
  shared modules, and files adjacent to the changed ones.
  2. **Flag any new function that duplicates existing functionality.** Suggest the existing
  function to use instead.
  3. **Flag any inline logic that could use an existing utility** — hand-rolled string
  manipulation, manual path handling, custom environment checks, ad-hoc type guards, and
  similar patterns are common candidates.

  ### Agent 2: Code Quality Review

  Review the same changes for hacky patterns:

  1. **Redundant state**: state that duplicates existing state, cached values that could be
  derived, observers/effects that could be direct calls
  2. **Parameter sprawl**: adding new parameters to a function instead of generalizing or
  restructuring existing ones
  3. **Copy-paste with slight variation**: near-duplicate code blocks that should be unified
  with a shared abstraction
  4. **Leaky abstractions**: exposing internal details that should be encapsulated, or
  breaking existing abstraction boundaries
  5. **Stringly-typed code**: using raw strings where constants, enums (string unions), or
  branded types already exist in the codebase
  6. **Unnecessary JSX nesting**: wrapper Boxes/elements that add no layout value — check if
  inner component props (flexShrink, alignItems, etc.) already provide the needed behavior
  7. **Nested conditionals**: ternary chains (`a ? x : b ? y : ...`), nested if/else, or
  nested switch 3+ levels deep — flatten with early returns, guard clauses, a lookup table, or
   an if/else-if cascade
  8. **Unnecessary comments**: comments explaining WHAT the code does (well-named identifiers
  already do that), narrating the change, or referencing the task/caller — delete; keep only
  non-obvious WHY (hidden constraints, subtle invariants, workarounds)

  ### Agent 3: Efficiency Review

  Review the same changes for efficiency:

  1. **Unnecessary work**: redundant computations, repeated file reads, duplicate network/API
  calls, N+1 patterns
  2. **Missed concurrency**: independent operations run sequentially when they could run in
  parallel
  3. **Hot-path bloat**: new blocking work added to startup or per-request/per-render hot
  paths
  4. **Recurring no-op updates**: state/store updates inside polling loops, intervals, or
  event handlers that fire unconditionally — add a change-detection guard so downstream
  consumers aren't notified when nothing changed. Also: if a wrapper function takes an
  updater/reducer callback, verify it honors same-reference returns (or whatever the "no
  change" signal is) — otherwise callers' early-return no-ops are silently defeated
  5. **Unnecessary existence checks**: pre-checking file/resource existence before operating
  (TOCTOU anti-pattern) — operate directly and handle the error
  6. **Memory**: unbounded data structures, missing cleanup, event listener leaks
  7. **Overly broad operations**: reading entire files when only a portion is needed, loading
  all items when filtering for one

  ## Phase 3: Fix Issues

  Wait for all three agents to complete. Aggregate their findings and fix each issue directly.
   If a finding is a false positive or not worth addressing, note it and move on — do not
  argue with the finding, just skip it.

  When done, briefly summarize what was fixed (or confirm the code was already clean).
bcherny collaborator · 3 months ago

Incoming in the next release. You will be able to invoke it as /simplify, /code-review --fix, or /code-review medium --fix

ouuan · 3 months ago
Incoming in the next release. You will be able to invoke it as /simplify, /code-review --fix, or /code-review medium --fix

Does this mean the old reuse+quality+efficiency review is back, or only an option to make /code-review fix the findings?

bcherny collaborator · 3 months ago

Reuse+quality+efficiency review is back, and we've also added an "altitude" review to look for band-aids.

github-actions[bot] · 1 month ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.