agentleFS
vadimvitvickiyvadimvitvickiy/vv-agent-kit/skills/reflecting-on-changes/SKILL.md

reflecting-on-changes

Skill0 starsChanged 50 days agoMITView on GitHub

Use when code has just been written or modified and the work is about to be reported as done — the self-review pass over your own unstaged changes.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Leave alone what is only taste, and what the project does consistently another way.

    line 40
  2. Very specific:

    Every pass that changed code gets its checks re-run — vvkit:verifying-changes.

    line 51

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Reflecting on changes

The first version that works is rarely the one to keep. It carries the scaffolding of how it was found. Read it once more as a reader, not its author. This does not replace an independent review — vvkit:reviewing-code.

Scope: the unstaged diff

git diff --name-only
git diff
  • Staged changes are out of scope — staging is the human's mark that they looked. So is every line the change did not touch.
  • Nothing unstaged, or only docs and config: say there is nothing to reflect on, and stop.
  • Read each changed file whole. A hunk cannot show that its new helper exists forty lines up.

What to look for, in order

  1. Subtraction. Could the change remove something instead of adding? A requirement bolted onto the old shape, where reshaping it would have needed less code.
  2. Simplification. Repeated lines that are a loop or helper; a variable used once and named no better than its expression; a conditional an early return flattens; a hand-rolled version of something the language or project has.
  3. Readability. Nesting past three levels; a name that needs its comment. Shorter is not the goal — a pass that only makes code denser made it worse.
  4. Dead code. Unused variables, imports, parameters, functions; commented-out attempts.
  5. Failure paths. An error swallowed at a boundary; outside input reaching a query, shell or path unchecked.
  6. Waste. An allocation in a loop; two passes where one does.
  7. Counterfeit values. Your data hand-built into a type another part of the system owns, to reuse a function. Give that function a sibling that takes your type.

Leave alone what is only taste, and what the project does consistently another way.

Fix, then look again

  • Fix in place. Noting an improvement and leaving the code hands the reader work you already did.
  • Report instead of fixing anything that changes behavior or lies outside your lines — those are the human's decisions.
  • Re-run the loop over what the fixes changed; a fix is new code.
  • A pass that finds nothing ends the loop — say so in one line.
  • Three passes is the cap. Still improving on the third means a shape problem; say what keeps recurring.
  • Every pass that changed code gets its checks re-run — vvkit:verifying-changes. An untested simplification is an untested behavior change.

Before reporting done

  • Every changed file was read whole, after the last edit
  • The last pass found nothing, or the cap was reached and said so
  • Nothing staged and nothing outside the diff was touched
  • Tests were re-run after the last pass that changed code

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.