Skip to content
Back to skills

Bubble Review

ASecurity

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.

  • 13 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 13, 2026
ai-agentsgobashgit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 13, 2026

npx -y skills add Cleveland-RD/hivehouse --skill bubble-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bubble Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bubble Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cleveland-rd-bubble-review/badge)](https://www.skillsdirectory.com/skills/cleveland-rd-bubble-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bubble-review
description: 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.
when_to_use: When asked to review, "find bubbles", "any bubbles?", or to judge a builder's tip before landing.
allowed-tools: Bash(hh-resolve *) Bash(hh-gate-verify *) Bash(hh-slot status) Bash(hh-slot release *) Bash(hh-settings resolve *) Read Grep Glob
---

# 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

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> --max-files <n> --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.

Files in this skill

  • SKILL.md3.8 KB
  • categories.md2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.