self-review
Skill2 starsChanged 2 months agoMITView on GitHub
Walk the author through their own review of a pending change in Hunk, before any merge request exists — one commit at a time, or the uncommitted change — then answer each note they leave, amend agreed fixes straight into the commit under review, and move on once they ACK it. Author-led: the agent adds notes of its own only where asked to point something out. Use when the user wants to review their own change before committing or opening an MR, says "self-review" or "let me review my changes first", or invokes /self-review. NOT for reviewing someone else's MR (review-mr), a critique by the agent (review-branch), or feedback on an open MR (rework-mr).
51 other projects use a version of this.
Adopted by
Most recently taken up by
- Fractera/Agent-Engineering-Infrastructuretheir own version, first seen Nov 8, 2026
- Fractera/Agentic-Engineering-Infrastructuretheir own version, first seen Nov 8, 2026
- aniketshukla1/sdlc-kittheir own version, first seen Nov 8, 2026
- plannotator/dev-skillstheir own version, first seen Nov 8, 2026
- Vumb-VibeCoder/hook-everythingtheir own version, first seen Nov 8, 2026
- crbnos/carbontheir own version, first seen Nov 7, 2026
Used with
Projects with it also use latex-formatting, novelty-assessment and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lingzhi227Skilllatex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.
Also in 4 projects that use this
lingzhi227Skillnovelty-assessment
Assess research idea novelty through systematic literature search. Multi-round search-evaluate loops with harsh critic persona. Binary novel/not-novel decision with justification. Use before committing to a research direction.
Also in 4 projects that use this
michaelboedingSkillslide-generation
Use this skill to create presentation slides from structured content. Triggers: "create slides", "generate presentation", "make powerpoint", "create pptx", "build slides", "presentation from content", "slide deck", "slides for" Outputs: PPTX files, Markdown slides, or HTML presentations. Used by: pitch-deck-agent, market-researcher-agent, and other agents needing slides.
Also in 4 projects that use this
juanlurgSkillpaper-to-code
Reads a research paper and generates an implementation notebook with equations, code, and a toy example. Use when the user wants to implement a paper, convert a paper to code, or reproduce a paper's algorithm.
Also in 4 projects that use this
OpenAISkillidea-generation
Use when triaging public-equity idea candidates. Do not use for final trade recommendations, pitches, memos, or models.
Also in 3 projects that use this
sunnyclinches44Skillexplain
Explains code using real-world analogies and ASCII diagrams
Also in 5 projects that use this
- +6 more from lingzhi227
Other versions51 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 51
- huggingface/diffusers★ 35ksame name
- zulip/zulip★ 26ksame name
- flashinfer-ai/flashinfer★ 6.9ksame name
- unkeyed/unkey★ 5.5ksame name
- crbnos/carbon★ 2.8ksame name
- verl-project/verl-omni★ 1.5ksame name
- K9i-0/ccpocket★ 1.1ksame name
- anyproto/anytype-swift★ 525same name
- hegeldev/hegel-rust★ 400same name
- lingzhi227/agent-research-skills★ 350same name
41 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- explain-branchSkill
- explain-diffSkill
- review-branchSkill
- review-mrSkill
- rework-mrSkill
- split-handoffSkill
- visualizeSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 42 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 23
Every step runs through one script.
- Very specific: line 73
When every piece is ACKed: sr close, and point to the next step — open the MR with the project's own MR skill.
- Very specific: line 109
Never push: If the reviewed commit was already on the branch's upstream, sr amend says so: publishing the result needs a force-push, which …
“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
self-review
The author judges their own change, piece by piece, until they can follow it and stand behind it. A piece — one commit, or the uncommitted change — sits in a Hunk viewer window beside yours. The author writes diff notes on its lines; you answer each one under it, fix what they agree to, show the piece again, and move on only on their ACK. Their diff notes, their verdict: you answer inside them, and start one only where they ask you to point something out.
implement → self-review → open the MR (author's own MR skill) → rework-mrA diff note here is the author's note together with everything written under it. Say "diff note", never "thread": that word belongs to a merge request, and none exists yet.
Every step runs through one script. Below, sr stands for
python3 ~/.claude/skills/self-review/scripts/selfreview.py; run bare, it lists its
commands. It needs tmux and hunk; without either, say so and stop.
1. Plan
sr plan lists the branch's commits from its merge-base with the default branch, oldest
first and numbered, plus whether there are uncommitted changes. Commits are addressed by
that number throughout — amending rewrites hashes, never positions.
- Commits only: review 1 to N in order.
- Uncommitted only: review the uncommitted change (
work). - Both: fixes are amended from the working tree, so reviewing commits needs a clean tree. Ask the author once: commit the uncommitted work first (it is reviewed as the last commit), or review it first on its own, then commit it and continue with the earlier commits.
- Neither: nothing to review — say so and stop.
State the plan in one line, then start.
2. The loop, per piece
- Show.
sr show N(orsr show work). It opens the window beside yours the first time and reloads it after that, and fails rather than point at a window that does not hold exactly this diff. Tell the author in one line which piece is up (commit 2 of 5: "<subject>", window name), and that they say done when they have written their diff notes. The window's own help (?) shows its keys; a note isc, a replyR. - Read. On "done":
sr notesprints every diff note still awaiting an answer — its number (#2),file:line, and what the author wrote since you last answered.- None awaiting, after the author has looked at the latest state of the piece: that is their ACK — go to 5.
- Answer, every diff note. Discuss in chat, one at a time where they need it: answer
the question, or recommend the fix. Then put the gist in the window under the note, so
it reads as answered where they wrote it:
sr reply <number> "<one or two sentences>", with the numbersr notesprinted. Make no edit until the author has agreed to that fix. A diff note is done when it is answered and any fix in it is agreed or declined. Fix. Make the agreed changes and run the project's checks. Then:
- a commit:
sr amend Nfolds the working tree into commit N — in place for the newest, as a fixup squashed in by rebase for an older one — and shows commit N again; - the uncommitted change:
sr show workshows it again.
A diff note whose code the fix moved or rewrote moves with it, and the reload prints a line for each one it moved: below the code that replaced the noted lines, shifted with lines added or removed above them, or where deleted code used to be. Say in one line what changed, and pass on every move and anything left behind, so the author finds their diff notes. Ask them to look again and say done. Back to 2 — reading the numbers afresh from
sr notes, since a moved diff note gets a new one.- a commit:
- ACK.
sr ackclears the window's diff notes — it refuses while any awaits an answer. Then the next piece, from 1.
When every piece is ACKed: sr close, and point to the next step — open the MR with the
project's own MR skill.
Pointing something out
The one time you start a diff note: when the author asks you to point at something ("point
out…", "show me where…"), and only at the places they asked about — never as a review of
your own. sr point <file> <line> "<text>" (--old for a removed line) puts your note on
that line of the piece in the window; the author toggles your notes with a, and } jumps
to the next one. Only lines the piece's diff shows can carry a note: a place outside it is
refused, so name that one in the chat instead. Say in chat which notes you left. A reply the
author writes under one comes back through sr notes like any other.
Rules the script holds you to
Each refusal is deliberate; resolve its cause, never work around it.
- Diff notes live only in the open window. Hunk saves nothing to disk: quitting the
window (
q) loses them. Tell the author to leave it open until you have read;sr closerefuses while one awaits an answer. - The window does not move on under diff notes. They re-anchor by line number, so
sr showrefuses to load a different piece while the window holds any. Reloading the same piece keeps them; that is how the author checks a fix against what they wrote. - A moved diff note is a copy. Hunk cannot move a note, nor create one as the author's,
so a moved diff note is re-created and the original removed. Its first note is labelled
you (moved from R356–383); the author can reply to it but no longer edit or delete it. - Every file of the piece must be in the window. An extension can hide files —
hunk-mark-read hides those marked read — and Hunk lists no diff notes on a hidden file,
so "none awaiting" would be a false ACK.
notes,ack,closeandshowrefuse while files are hidden and name them: tell the author to show hidden files again and say done, then read again. - Commits need a clean tree (
sr show N), because everything in the tree is folded into the commit bysr amend. - A fix that conflicts with a later commit is rolled back: the branch is untouched and the fix is back in the tree, unstaged. Tell the author, and agree whether the fix belongs in the later commit instead or the conflict is resolved by hand.
- Never push. If the reviewed commit was already on the branch's upstream,
sr amendsays so: publishing the result needs a force-push, which is the author's to run.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

