Skip to content
Development
Skill

/self-review

Deliberate end-to-end review pass over a completed change, applying the laziness ladder. Invoke when the user asks for a review, or when orchestrating one. Not a routine step after every edit.

BOOST
From plugin
fredrikaverpil-dotfiles
25913 skills1 MCP
Install
$ npx -y skills add fredrikaverpil/dotfiles --skill self-review --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/self-review

Context preview

The summary Claude sees to decide when to auto-load this skill.

Deliberate end-to-end review pass over a completed change, applying the laziness ladder. Invoke when the user asks for a review, or when orchestrating one. Not a routine step after every edit.

SKILL.md

self-review.SKILL.md
name: self-review
description: >-
  Deliberate end-to-end review pass over a completed change, applying the
  laziness ladder. Invoke when the user asks for a review, or when
  orchestrating one. Not a routine step after every edit.
user-invocable: true
disable-model-invocation: false

Self-Review

Review the change end-to-end. Read every file touched in full, not just the diff — the surrounding code is what says whether the change belongs. Report everything you find and fix what matters; don't self-censor to only the severe findings.

Review criteria

Beyond the obvious ones, weigh these — they are the ones most often missed:

  • **Placement**: was the change made in the right place architecturally, or

merely somewhere that works?

  • **Simplicity over cleverness**: if something needs a comment to explain *why*

it's written that way, it's probably too clever.

  • **Consistency**: a codebase consistent with itself beats a change that is

locally "better" but idiosyncratic.

  • **DX and UX**: are APIs intuitive and error messages helpful, from both the

developer's and the end user's side?

  • **Testability**: look for clear seams, injectable dependencies, and logic

separated from side effects. Hard-to-test code is a design smell — flag it rather than leaving it untested.

  • **Robustness**: edge cases, race conditions, and assumptions that hold today

but only by accident.

Laziness ladder

The [ponytail](https://github.com/DietrichGebert/ponytail) plugin applies this ladder while code is being *written*. Apply it here in reverse, to what **was** written: for each piece of code the change added, check it climbed no higher than necessary.

1. **Does this need to exist?** — if not, remove it (YAGNI). 2. **Already in this codebase?** — reuse it, don't rewrite. 3. **Standard library does it?** — use it. 4. **Native platform feature?** — use it. 5. **Already-installed dependency?** — use it. 6. **One line?** — one line. 7. **Only then**: the minimum that works.

Flag anything that skipped a lower rung — a new dependency where the stdlib or a native feature would do, a reimplementation of something the codebase already has, or an abstraction with a single caller.

The ladder never touches safety: trust-boundary and input validation, security, data-loss and error handling, and accessibility are out of scope for trimming.

$ARGUMENTS

Read more
Ships withfredrikaverpil-dotfiles

Personal dotfiles, managed in three layers: Nix (nix/): system configuration and packages, pinned by flake.lock and applied with a rebuild. Fully reproducible. Stow (stow/): dotfiles symlinked into $HOME with GNU Stow (not Nix).

Get the whole plugin
Stats
259
Stars
7
Forks
Active
Maintenance
QML
Language
MIT
License
21h ago
Last commit
10y ago
Created
6h ago
Added

Repo: fredrikaverpil/dotfiles

Other skills on fredrikaverpil-dotfiles.