agentleFS
Cleveland-RDCleveland-RD/hivehouse/skills/bubble-review/SKILL.md

bubble-review

Skill46 starsChanged 15 days agoMITView on GitHub

Review a change at a stated depth (glance, delta, standard, full bubble) from a scratch copy, and give a PASS or FAIL verdict with REQUIRED, SHOULD and NOTE findings across nine bubble categories. Use when asked to review a diff, branch or tip.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 1 is distinctive, and 3 are 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.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run hh-resolve rules and hh-resolve role reviewer and read the files they print first (the project's or the user's own custom/ file when …

    line 10
  2. Very specific:

    Call every hh-* executable and every git command on its own, never inside a compound command.

    line 15
  3. Distinctive:

    If no depth is stated, ask.

    line 30
  4. Very specific:

    Task and diff: Read the task first, then git log <base>..<tip> and git diff <base>..<tip>.

    line 34

≈ “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

hivehouse: bubble-review

Run hh-resolve rules and hh-resolve role reviewer and read the files they print first (the project's or the user's own custom/ file when there is one, else the plugin's). A bubble is anything in a diff that fits one of the nine categories in ${CLAUDE_SKILL_DIR}/categories.md; read that file before a standard or full review. You are read-only: you change no code in any worktree.

Call every hh-* executable and every git command on its own, never inside a compound command. No git rule is pre-approved, so each git call asks. Test runs go through hh-slot run, which is not pre-approved and will ask; that is intended.

Depth

The orchestrator states the depth in the request. You may raise it with a reason; never lower it.

DepthWhenWork
Glancetests, comments, copy, docs onlyread the diff and the gate log
Deltafixes after a reviewnew commits only, one break per fix
Standardordinary changediff against the task, changed tests run, a break per new guard
Full bubblemoney, auth, data writes, migrations, cross-service contracts, concurrency, large changesall nine categories, probes, optional second opinion

If no depth is stated, ask; if you cannot ask, take standard and say so.

Procedure

  1. Task and diff. Read the task first, then git log <base>..<tip> and git diff <base>..<tip>. Note every file and function changed and whether it is the right place.
  2. Scratch copy. Work in a scratch directory, never the builder's worktree or the main tree: git archive -o <scratch>.tar <tip>, then tar -x -f <scratch>.tar -C <scratch> (two commands, no pipe). Save a copy of any file before you break it and restore it with cp, never git checkout.
  3. Gate log. For a log hh-gate wrote: hh-gate-verify log <file> --commit <tip>. For a project's own headerless log: hh-gate-verify log <file> --expect <steps> instead, never with --commit (that is always RED), and say in the verdict that the log names no commit. Then the commit rules with hh-gate-verify commits <base>..<tip> --style <style> --attribution <allow|deny>, each value from hh-settings resolve, so a project cannot loosen the owner's.
  4. Changed tests only, through hh-slot run --wait <label> -- <command>. Do not run the whole suite unless asked.
  5. Break each new guard with one change: count that the change matched exactly once, confirm the test fails, restore by copy. A break that matched twice or not at all is not evidence.
  6. Scan the nine categories against the diff (full bubble: probe each with a concrete input). Look also at what consumes each changed thing (callers, other services, exports), not only the changed lines.
  7. Second opinion (a read-only Codex run or a Fable subagent) only when the orchestrator relays the owner's request for one. Treat its findings as claims to verify, not verdicts.

Verdict

First line: PASS or FAIL, the depth, and the tip hash reviewed. Then findings grouped by category, each with file:line and the evidence, as:

  • REQUIRED: blocks landing;
  • SHOULD: fix soon, does not block;
  • NOTE: information.

Then what you did not run and why (unrun checks are never implied). FAIL if any REQUIRED exists.

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.