LLMSkillHub
mirroredCopied from no-human-ai/no_human under MIT. no-human-ai has not claimed this page, and is not affiliated with LLM SkillHub.

no-human-ai / review-this-branch

Run the no_human review gate (fresh-session adversarial reviewer + tamper guard) over the current branch or a GitHub pull request, with no server, no database, and no onboarding, and relay the pass/fail checklist.

0
SKILL.md
5.6 KB

Review this branch

Run nh gate to get a fresh-session, adversarial code review and a
test-tampering check over a diff, right now, with nothing installed or
running beyond the nh CLI itself.

When to use

  • Someone asks "review this branch" / "check this PR" / "is this safe to
    merge" and wants a real second-model review with file:line citations, not
    a summary you write yourself.

  • There is no nohuman server running and no `~/.nohuman` database
    set up. Unlike file-a-task, this skill needs neither. It runs once and
    exits.

Prerequisite: your own Claude credential

nh gate uses your own Claude credential, the same one every other nh
command uses, never one belonging to no_human itself. If none is on file,
create it with:

claude setup-token

nh gate also needs the nh CLI on PATH and a claude CLI it can find:
the one bundled inside the installed SDK package is used first, so a separate
install on PATH is not required. If either precondition is missing, the
command refuses and names exactly what is missing. It never prints a pass when it could not actually run.

Running it

Two invocations, both read-only:

nh gate                        # current branch vs. its merge base with origin's default branch
nh gate --pr <github-pr-url>   # a GitHub pull request's head vs. its merge base

Optional flags: --repo <path> to point at a checkout other than the
current directory, --base <ref> to override the comparison base.

The comparison actually used, for example `working tree branch ... against
merge base with origin/<default>orpull request owner/repo#N head ...
against merge base with origin/<default>`, is always printed at the top of
the output. If the working tree has uncommitted changes, the output says so
explicitly and those files are not reviewed; commit them first if they
should be.

Reading the result: the exit-code contract

Exit codeMeaning
0Gate passed: reviewer found no blocking findings and the tamper guard found no test-weakening.
1Gate failed: a blocking review finding or a tamper-guard finding (deleted/weakened tests).
2Gate refused to run: no review verdict was reached at all. A named precondition failed: no credential, no upstream, not a git repo, PR fetch failed, the diff is over the single-turn review cap, or the reviewer timed out / hit a transport error.

On exit 2, never report a pass. Also never report the reviewer's
checklist as a fail, since the reviewer never actually finished.
This includes a diff too large to review and a reviewer timeout or transport
error: both refuse before or without a real verdict, not with a "no
findings" pass or a "timeout" finding treated as a real blocking issue.
Relay the exact refusal message back to the human (it names the missing
credential, missing upstream, oversized diff, or fetch/transport failure)
instead of guessing at a verdict. Only exit 0 is a pass; treat exit 1 and
exit 2 identically as "cannot say this is fine" until the human has read
the printed detail.

Relay the full Markdown checklist nh gate prints back to the human,
including every file:line citation and the tamper guard's before/after
counts. Do not summarize away the citations or the counts.

Product boundary: read and report only, never write

**This skill only reads and reports. It never commits, pushes, merges, or
edits a tracked file in your checkout, and it must never be followed by a
commit, a push, an approval, or a merge of the pull request on the agent's
behalf.** The exact write surface, stated in full:

  • ~/.no_human/config.yaml is read if it already exists (for reviewer
    backend/model settings); it is never created by this skill, and there is no
    on-demand ~/.no_human setup here, unlike other nh commands. One thing
    does write there: the CLI's background update check caches its result in
    ~/.no_human/cache/update-check.json, creating that directory if the run
    lasts long enough to finish the check. Nothing else in ~/.no_human is
    created or modified.

  • In --pr mode only, one additive git fetch of the pull request's ref
    writes FETCH_HEAD and the fetched objects into your checkout. It
    creates no branch and moves no ref you own.

  • Every invocation, default and --pr alike, also makes one local
    git clone --local --shared of your own checkout into a throwaway temp
    directory (see below) and a git checkout inside that temp directory
    only, never against your own checkout.

Beyond that, nh gate only runs read-only git plumbing against your
checkout: rev-parse, merge-base, diff, status --porcelain,
symbolic-ref (reads the locally recorded default branch; never a network
call), and config --get remote.origin.url (to check a --pr URL names
your own repo). It also uses the tamper guard's own read-only calls
(ls-tree, show) and a read-only reviewer backend. This list describes
what the current implementation does, not a promise that it will never grow;
it never becomes a write against a tracked file.

The throwaway clone exists so the review reads the exact committed tree it
diffed instead of your live working tree (which may be dirty) or, in PR
mode, whatever branch you happen to have checked out; it is deleted before
the command exits. Merge is always the human's action. After running this
skill, your job is to relay the checklist, not to act on it.