Self review
Self-review after implementation — surface missed work, simplification opportunities, and idiomatic improvementsFrom its SKILL.md
npx -y skills add MAHDTech/agent-skills --skill self-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, 613 tokens by cl100k_base, as published. Nobody here has run it
Self-Review
Post-implementation reflection pass. Run after completing a task to catch loose ends and simplify before calling it done.
Instructions
- Determine scope — use the current branch diff unless the user specifies otherwise:
git diff <base-branch>...HEAD --name-only(the branch your work targets)- Fall back to staged changes if no branch diff exists
- Read all changed files in full before reviewing.
- Answer each question below. For every finding, cite
file_path:line_numberand fix it directly. - If everything looks good, say so briefly — don't invent busywork.
Questions
1. Anything left undone?
- Are there TODOs, FIXMEs, or HACKs introduced in this diff that should be resolved now?
- Did you skip something the user asked for?
- Are there commented-out code blocks or placeholder values that shouldn't ship?
- Are there missing error cases, edge cases, or validations at system boundaries?
- Are there fallback/legacy code paths? If so, ask the user explicitly whether to keep, remove, or flag them — don't assume backward compatibility is wanted.
2. More idiomatic?
- Does the code follow the language's conventions and standard library patterns?
- Are there manual implementations of things the standard library or existing dependencies already provide?
- Does naming follow the project's existing conventions (check surrounding files)?
- Are there language-specific antipatterns? (e.g., Python: bare
except, mutable default args; Go: exported names that shouldn't be; JS/TS:anytypes that should be narrowed)
3. More modular?
Scope: this is a light post-diff pass over what you just changed. For a deeper, staged cleanup — untangling oversized modules, collapsing duplicated logic across the codebase, reducing engineering debt — reach for
/sculpt-codeinstead.
- Are there functions doing more than one thing that should be split?
- Is there duplicated logic across the diff that should be extracted?
- Are responsibilities in the right files/modules, or did something land in the wrong place?
- Counter-check: Don't extract abstractions for one-time code. Three similar lines is fine.
4. Simpler?
- Can any code path be removed or collapsed? (dead branches, unreachable conditions)
- Are there over-engineered patterns? (unnecessary factories, abstractions with one implementation, config for things that won't change)
- Can complex conditionals be simplified or inverted for early returns?
- Is there defensive code for impossible states? (internal callers you control, framework guarantees)
Output
For each question where you find something actionable:
- Show the finding with
file_path:line_number - Apply the fix directly
- One-line explanation of what changed and why
If nothing actionable is found, say: "Clean — nothing to follow up on."
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.