agent-launcher-orchest…
Use when someone wants to build, launch, grade or schedule a Claude Managed Agent in their own Anthropic account ('build me an…
Use before shipping anything that needs human sign-off (a plan, spec, report, page, migration or irreversible action). Builds a review page with review_page_builder.py and runs human_gate.py, which refuses to close with an open blocker or no named reviewer.
Claude Code
$ npx -y skills add alirezarezvani/claude-skills --skill human-gate --agent claude-code
Codex
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a codex -y
Cursor
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a cursor -y
Gemini CLI
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a gemini-cli -y
GitHub Copilot
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a github-copilot -y
OpenCode
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a opencode -y
Windsurf
$ npx skills add alirezarezvani/claude-skills --skill human-gate -a windsurf -y
name: human-gate description: "Use before shipping anything that needs human sign-off (a plan, spec, report, page, migration or irreversible action). Builds a review page with review_page_builder.py and runs human_gate.py, which refuses to close with an open blocker or no named reviewer." license: MIT metadata: version: 1.0.0 author: Alireza Rezvani category: engineering updated: 2026-08-09
You are the part of the loop that refuses to let an agent mark its own homework. Machine verification answers *"do the checks pass?"* — `engineering/agent-harness` does that. This answers what no script can: **has a person looked at this, and are their objections resolved?** Feedback becomes a machine-parseable artifact rather than a message — anchored, severity-graded, countable — and a gate either passes or names what is still open. **Before starting**, establish: which artifact (`.md`/`.html`), who the named reviewer is (a person, not "the team" — G3 enforces it), whether the work is reversible, and whether a human is available now. Read `human-gate-context.md` first if it exists.
S=engineering/human-gate/skills/human-gate/scripts python3 $S/human_gate.py open plan.md --launch # build page, start round N → END YOUR TURN python3 $S/human_gate.py status plan.md # non-blocking: 0 clear·2 blocked·3 collect·4 none python3 $S/human_gate.py collect plan.md --output json # batch.v1 — apply every item python3 $S/human_gate.py close plan.md # exit 2 = NOT done
`human_gate.py --sample` runs the whole loop, refusals included, in ~1s. It drives `review_page_builder.py` (Markdown/HTML → single-file anchored page that makes no network request of its own and sanitizes reviewed HTML — `on*`, `javascript:`, `iframe` dropped) and `feedback_parser.py` (sidecar → `batch.v1`, quotes checked against raw *and* rendered text).
Feedback lands in `<artifact>.review.md`. The page exports it; anyone can also write it by hand in any editor — which keeps this working over SSH and in CI. Worked example and JSON contract are in `assets/`.
<!-- human-gate:v1 target=plan.md round=1 --> reviewer: reza ## BLOCKER b2 > We expect a 40% lift in activation. No source, and it drives the whole plan. Cite it or cut it.
Severities **BLOCKER / MAJOR / MINOR / NIT** (matching `markdown-html/md-review`, from Google's code-review guidance), plus **NOTE**, **APPROVE**, and **EDIT** — a replacement the reviewer already wrote, as `- before:` / `+ after:` lines.
| | Refuses to close when | | | |---|---|---|---| | **G1** | no round collected | **G4** | sidecar changed after the last collect | | **G2** | a BLOCKER or MAJOR is open | **G5** | round cap exhausted → **escalate**, never pass | | **G3** | no named reviewer | **G6** | waiver used without a recorded reason | | **G7** | the round carries unresolved integrity problems — a mistyped severity silently downgrades to NIT, so a real blocker can be lost to a typo | | |
Overrides must be explicit — `close plan.md --waive "<reason>"` — but **G1 is never waivable**: a waiver accepts objections a reviewer raised; it cannot stand in for review happening.
1. **Never report done while `close` exits 2.** Say what is open instead. 2. **Never invent a reviewer name** to satisfy G3. No reviewer *is* the finding. 3. **Never paraphrase an EDIT's `after`** — verbatim, or a human was silently overruled. Apply it to whatever *generates* the artifact too, or it dies on the next build. 4. **Never block-poll for a human.** Hand over the path and end the turn; `open` detects a headless host. Rounds are capped and exhaustion escalates. 5. **Never auto-fetch and run unpinned code.** The richer editor at `petergyang/human-review` is opt-in, asked-first, and always pinned (`npx -y human-review@0.6.0`) — unpinned `npx -y` runs whatever was published most recently. Its `poll` blocks and it rewrites HTML in place, so wrap both. It changes the editor, never the gate. See `audit/human-review-2026-08/`. 6. **Never treat the review page as source of truth.** It is a viewing surface.
One at a time when scope is fuzzy: **Who, by name, signs off?** · **What would make them reject it outright?** (name it before reading — Klein's pre-mortem) · **Is this reversible?** (if not, require explicit APPROVE, not merely no blockers) · **The artifact or its generator?** (both) · **How many rounds is this worth?** · **Is a human available now?** (if not, hand over and stop). Two consecutive NIT-only rounds means it is done — say so rather than opening a third.
**`engineering/agent-harness`** — machine verification; this is the human lane it lacks. **`markdown-html/md-review`** — renders a code review *to* HTML, one-way; use when the agent reviews, human-gate when a person does. **`engineering/grill-me`** — interrogates a plan before an artifact exists. **`content-humanizer`**/**`behuman`** — human *voice*, not approval.
Reasoning lives in `references/` — human-in-the-loop canon, feedback batching, loop discipline. Conceptual derivation of the batched-review pattern from [`petergyang/human-review`](https://github.com/petergyang/human-review) (MIT © 2026 Peter Yang); no upstream code is used — stdlib Python, no server, non-blocking, plus a gate upstream lacks.
Load these only when the task needs them.
411 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and publish the results.
Use when someone wants to build, launch, grade or schedule a Claude Managed Agent in their own Anthropic account ('build me an…
Use when a launched managed agent needs grading against a rubric and improving ('grade my agent', 'is it good enough'). Builds…
Use when someone has an agent idea to scope before launch ('help me scope an agent'). Interviews them about the one job and…
Use when a graded managed agent should run on a schedule, on an event trigger or on demand ('run it every morning'). Validates…
Use when a managed-agent build sheet is ready to launch ('launch it', 'deploy the agent'). Generates and validates API payloads…
Use when closing out a launched managed agent ('wrap up', 'what do I own now'). Inventories primitives with…
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…