Skip to content
Back to skills

Simplify

ASecurity

Review code in the current working tree across three independent dimensions (reuse, quality, efficiency) and synthesise a small punch-list of high-value cleanups.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
ai-agentsgoshellbashgit

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add CocoRoF/geny-executor --skill simplify --agent claude-code

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.

Security grade badge for Simplify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cocorof-simplify/badge)](https://www.skillsdirectory.com/skills/cocorof-simplify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Simplify
description: Review code in the current working tree across three independent dimensions (reuse, quality, efficiency) and synthesise a small punch-list of high-value cleanups.
category: workflow
effort: high
when_to_use: When the user asks for a code review, smell check, or "what should I clean up before merging" pass. Best on a focused diff (one feature, one bug fix) — running this on a sprawling rebase will surface noise. Don't use for "review the whole repo" requests; ask the user to scope to a branch / PR / file set first.
allowed_tools:
  - Read
  - Grep
  - Glob
  - Bash
shell: bash
shell_timeout_s: 30
arguments:
  - target
argument_hint: "<file | dir | git-range>  (optional; defaults to current working tree)"
examples:
  - "Review the changes I just made"
  - "Simplify src/auth/"
  - "Pick the top 3 cleanups in the diff vs main"
version: 1.0.0
---

# Simplify — three-pass code review

Run three passes over the target. Keep each pass narrow: don't let
the reuse reviewer second-guess the quality reviewer, etc. After
all three passes, *synthesise* — pick the smallest set of changes
that improves the most dimensions.

## Step 0: Locate the target

The user passed `${target}`. Resolve it:

- If empty, default to the current diff vs the merge base of HEAD
  (or vs `main` / `master` when the merge base is hard to find):
  ```!
  git diff --name-only origin/main...HEAD 2>/dev/null || git diff --name-only HEAD~1 2>/dev/null || git ls-files --modified
  ```
- If a path: read it directly (or, for a directory, glob for code
  files).
- If a git range (e.g. `HEAD~3..HEAD`, `feature-branch...main`):
  walk the diff.

If the target turns up empty, stop and ask the user what they'd
like reviewed.

## Step 1 — Reuse pass

Pass criterion: **what is being re-implemented that already exists?**

Look for:
- Utility functions duplicated across files. Same logic, different
  imports.
- Inline implementations that bypass an existing helper / library
  the project already depends on.
- Constants / enums redeclared per-call-site instead of imported
  once.
- Shape coercion / conversion code that an existing serializer
  already handles.

Output (this pass): bullet list of duplicated / re-implemented
things, each with the existing canonical location + the new
duplicate location.

## Step 2 — Quality pass

Pass criterion: **what would a reviewer flag in a PR comment?**

Look for:
- Names that don't match what they hold (`data`, `temp`, `info`).
- Functions doing more than one thing (and / or in the function
  signature is a tell).
- Error handling that swallows information (`except: pass`, raw
  rethrow with no context).
- Comments that no longer describe the code.
- Dead code (unreachable branches, unused imports / params, no
  callers).
- Magic numbers that lack a named constant.

Output (this pass): bullet list, each item naming the file:line +
the smell.

## Step 3 — Efficiency pass

Pass criterion: **what's doing too much work?**

Look for:
- O(n²) loops over data that's almost certainly small but might
  not stay small.
- Repeated I/O (file reads, network calls) inside loops.
- Sync calls inside async paths (or vice versa) that block the
  event loop.
- Caches that are missed because keys vary spuriously
  (e.g. dict iteration order, time fields in cache keys).
- Imports inside hot paths.

Output (this pass): bullet list with the locus + the cost.

## Step 4 — Synthesis

Now look at all three lists together. Output **a single punch-list**:

```
## Punch list

1. <verb> at <file:line> — covers reuse + quality
2. <verb> at <file:line> — covers efficiency
3. <verb> at <file:line> — covers reuse
```

Rules for the punch list:

- **Maximum 5 items.** This skill is about prioritisation, not
  exhaustive enumeration. If the three passes turned up 30 items,
  pick the 5 with the highest combined dimension count.
- Each item is a verb phrase (`extract X into Y`, `replace X with Y`,
  `delete dead branch in Z`).
- Skip cosmetic things if substantive things exist. No "rename
  variable" if there's a real bug nearby.

End with one sentence: should the user act on these now, or note
them for a follow-up PR? Default: "do the top 1-2, defer the rest."

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.