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.
In this repository8 other files it gives its agents.
- cleanupSkill
- doc-updaterSkill
- gateSkill
- handoffSkill
- hubSkill
- overnightSkill
- review-planSkill
- startSkill
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
- Very specific: line 10
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 …
- Very specific: line 15
Call every hh-* executable and every git command on its own, never inside a compound command.
- Distinctive: line 30
If no depth is stated, ask.
- Very specific: line 34
Task and diff: Read the task first, then git log <base>..<tip> and git diff <base>..<tip>.
≈ “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.
Files
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.
| Depth | When | Work |
| Glance | tests, comments, copy, docs only | read the diff and the gate log |
| Delta | fixes after a review | new commits only, one break per fix |
| Standard | ordinary change | diff against the task, changed tests run, a break per new guard |
| Full bubble | money, auth, data writes, migrations, cross-service contracts, concurrency, large changes | all nine categories, probes, optional second opinion |
If no depth is stated, ask; if you cannot ask, take standard and say so.
Procedure
- Task and diff. Read the task first, then
git log <base>..<tip>andgit diff <base>..<tip>. Note every file and function changed and whether it is the right place. - Scratch copy. Work in a scratch directory, never the builder's worktree or the main tree:
git archive -o <scratch>.tar <tip>, thentar -x -f <scratch>.tar -C <scratch>(two commands, no pipe). Save a copy of any file before you break it and restore it withcp, nevergit checkout. - Gate log. For a log
hh-gatewrote: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 withhh-gate-verify commits <base>..<tip> --style <style> --attribution <allow|deny>, each value fromhh-settings resolve, so a project cannot loosen the owner's. - Changed tests only, through
hh-slot run --wait <label> -- <command>. Do not run the whole suite unless asked. - 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.
- 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.
- 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.
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.

