agentleFS
Cleveland-RDCleveland-RD/hivehouse/skills/gate/SKILL.md

gate

Skill46 starsChanged 15 days agoMITView on GitHub

Run the project's gate into a log file, verify every step's result line and the commit rules, and refuse to call anything green without the log. Use before landing or handing back work, and when verifying a builder's gate log.

32 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use new, build and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • codebycoreySkill

    new

    Start a new change with a proposal. Use when starting a feature, creating a proposal, or beginning planned work.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    build

    Build the TypeSpec Rust emitter from source. Run this after cloning the repo, after pulling changes, or when TypeScript source files have been modified.

    Also in 5 projects that use this

  • AWSSkill

    ship

    Finalize dev work on an issue branch — update docs, push, and open a PR.

    Also in 8 projects that use this

  • genomewalkerSkill

    checkpoint

    Save a checkpoint of task status, decisions, active files, and next steps

    Also in 3 projects that use this

  • VercelSkill

    investigate

    Investigate an issue report, or analyze the constraints of a proposed change, with strict, evidence-driven diagnosis.

    Also in 3 projects that use this

  • BlockSkill

    plan

    Draft a TDD, PRD, or lightweight plan in the conversation without committing it.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 30 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 2

    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 read the file it prints first (the project's or the user's own custom/rules/RULES.md, else the plugin's).

    line 12
  2. Very specific:

    Use the project's recorded gate command (CLAUDE.md, CLAUDE.local.md, .hivehouse/).

    line 21

“Common” is measured: kept by at least 6 in 10 of the 30 edited versions of this file we could read. “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: gate

Claude Code fills a ${user_config.X} below only when a value of X was saved; only when one still reads literally, as ${user_config.X}, run hh-settings option X and use what it prints (the value saved in Claude Code's settings, else the plugin's default); a filled value is used as it is.

Run hh-resolve rules and read the file it prints first (the project's or the user's own custom/rules/RULES.md, else the plugin's). 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; hh-gate and hh-slot run are not pre-approved either and will ask. That is intended.

Never report green without the log path and the hh-gate-verify line. A last exit code alone proves nothing: a gate can skip a step and still exit 0.

1. Find the gate

Use the project's recorded gate command (CLAUDE.md, CLAUDE.local.md, .hivehouse/). If none is recorded, ask the orchestrator or owner; do not invent one. Commit first: the gate runs on the committed tip. Note the base branch and the tip hash being gated (git rev-parse HEAD), and that the tree is clean (git status): a log vouches only for a clean, committed tree.

2. Check the slot

hh-slot status. If another job holds it, hh-gate and hh-slot run --wait queue for it in the order asked, so do not retry by hand; never run beside the holder, and never release a slot you did not take.

3. Run it into a log

Choose the log path (outside the tracked tree, for example .hivehouse/tmp/<name>-gate.log).

  • A gate made of separate commands: hh-gate --log <file> -- <name> <command> [<name> <command> ...]. It takes the slot itself (never wrap it in hh-slot run), runs every step even after a failure, and writes <name> exit <n> after each. Step names are letters, digits, _, ., - only, and never ...
  • A gate that is already one script printing <step> exit <n> lines: hh-slot run --wait gate -- <script> with its output redirected to the log file, as the project records it.

4. Verify the log

For a log hh-gate wrote: hh-gate-verify log <file> --commit <tip>

It starts with a header naming every step it set out to run, the commit and whether the tree was dirty, so no --expect is needed: a gate stopped part way is red because a named step has no line. It passes only if the log has at least one <step> exit <n> line, every one is exit 0, no step appears twice, and the header names the commit you gave on a clean tree. A log left from an earlier run, or from uncommitted changes, is RED.

For a project's own gate script, which writes no header: hh-gate-verify log <file> --expect <every step the project's gate has, comma-separated>, without --commit. With --commit such a log is always RED ("vouches for no commit"), so never pass it. The report then says that log names no commit: it shows the steps passed, not which commit they ran on. On failure the command names the steps; report those, not a summary.

5. Verify the commits

Resolve the safety value first, so a project cannot loosen the owner's:

  • hh-settings resolve allow_attribution ${user_config.allow_attribution}

Then: hh-gate-verify commits <base>..<tip> --style ${user_config.commit_style} --attribution <deny, or allow when the resolved allow_attribution is true>

Both flags are required, so nothing is loosened by leaving one out. Add --no-body when the rules say one-line subjects only (a body is otherwise a warning). It checks the subject style and any attribution trailer; it counts no files, because one purpose per commit is read in the diff. An empty range is red: nothing checked is not a pass. Report each violation with its commit.

6. Report

Verdict first: GREEN or NOT GREEN. Then: the log path, the hh-gate-verify log line, the commits result, the commit gated, and what was not run and why. If anything failed, stop; do not re-run hoping for a different result: find the cause first (root cause before any fix).

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.