approve

Solid

The approve (approve|deny) decision gate of the canonical workflow — read a spec's critique findings and decide go/no-go BEFORE any GitHub-side state exists, then emit a single APPROVED/DENIED verdict. Auto-gates on critic SEVERITY (any unmitigated high → deny), with an optional human override for borderline findings. This is the decision half of the critique→approve pair; the critics that produce the findings are the separate `/critique` node. TRIGGER when: a plan/PRD has been critiqued and needs a commitment decision before implementation; "approve this spec", "should we build <slug>", "gate <slug> on its critique".

AI & Automation 38 stars 3 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 83/100

Stars 20%
53
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Approve — the critic-before-commitment gate The **approve** gate, composed by `/spec critique` in `AGENTS.md § The Workflow` — the `approve|deny` decision point. It answers one question: *do the critic findings clear this spec to build, or must it go back to planning?* — and emits exactly one verdict the `/autopilot` runner routes on. **Core principle: gate the spec before anything is committed.** This embodies critic-before-commitment: the cheapest thing to revise is the spec itself, so the gate runs while ONLY local artifacts exist (`.oh/tasks/<slug>/prd.md`, `prd.json`, `critique.md`) — **before** the GitHub issue, branch, or PR. A `DENIED` is therefore fully reversible (`rm -rf .oh/tasks/<slug>/`); no GitHub-side state is created until after `APPROVED`. (Mirrors `/ship-spec` Stage 4, which encodes the same HALT gate inline; this node makes it a reusable decision.) This is the **decision** half of the pair. The `critique` node runs the critics and writes `critique.md`; `/approve` only *reads* that artifact and decides. It does not run the critics itself — if `critique.md` is absent, the gate cannot decide (see *Honest exits* below). --- ## Inputs | Arg | Meaning | |-----|---------| | `<slug>` | The task slug — locates `.oh/tasks/<slug>/critique.md` (the critic findings) and `.oh/tasks/<slug>/prd.md`. Required. | | `--auto` | Unattended mode (e.g. under `/autopilot`): never prompt a human; the SEVERITY auto-gate alone decides. Without it, a borderline finding may su...

Details

Author
mifunedev
Repository
mifunedev/openharness
Created
5 months ago
Last Updated
today
Language
TypeScript
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

critique

The critique node of the canonical workflow — run two adversarial critics in parallel (implementer lens + user lens) against a freshly-planned spec, write their findings to .oh/tasks/<slug>/critique.md, and hand off to the approve gate. This is the EVIDENCE half of the critique→approve pair; it produces findings, it does not decide (the /approve gate decides). Runs on local artifacts only, before any GitHub-side state. TRIGGER when: a PRD/plan exists and needs adversarial review before the commitment gate; "critique this spec", "run the critics on <slug>", "review prd before we build".

38 Updated today
mifunedev
AI & Automation Listed

approve

Human approval gate — seal an atomic run as approved, unlocking the git commit gate. Only the user can invoke this.

0 Updated 4 weeks ago
uppifyagency
AI & Automation Listed

rootnode-critic-gate

Independent re-derivation gate for proposed changes during autonomous execution. Evaluates a change (code diff, config edit, engine evolution, schema change) against the work's authority matrix and a 4-check protocol: invariant compliance, scope authorization, detection narrowness, and regression risk. Returns structured JSON with pass/fail per check, an overall verdict (APPROVE / REQUEST_CHANGES / REJECT), and blockers. Profile-driven thresholds (strict for unattended runs, lenient for desk supervision). Use when an autonomous agent proposes an engine change, when reviewing a Claude Code-authored modification before merge, or when an unattended profile requires independent re-derivation. Trigger on: "review/approve this proposed change," "critic-gate this," "is this change safe," "is this safe to merge," "should I let this land," "run the critic." Do NOT use for handoff-readiness checks (use rootnode-handoff-trigger-check), general code review, or design-time correctness. Authority matrix required.

40 Updated today
drayline