← ClaudeAtlas

aitask-gate-templatelisted

Scaffold for authoring a new gate verifier. Documents the orchestrator's verifier contract (positional args, exit codes, sidecar log, ledger append) and provides a copy-me script template.
beyondeye/aitasks · ★ 6 · Code & Development · score 65
Install: claude install-skill beyondeye/aitasks
## Purpose A **gate verifier** is the command the gate orchestrator (`lib/gate_orchestrator.py`) runs to decide whether a machine gate passes. This skill is the authoring scaffold: it documents the contract every verifier must honor and gives you a copy-me script. Use it when adding a project- or framework-specific gate (e.g. `build_verified`, `tests_pass`, `docs_updated`, `license_check`). A gate is one of two kinds: - a **command verifier** (default) — a shell command the headless orchestrator runs (exit codes); use for programmatic checks (build, tests, lint, state inspection). Documented next. - a **procedure-backed** gate (`kind: procedure`) — an agent **skill** that does work and confirms with the user, run by the attended task-workflow / aitask-resume (the headless engine defers it). Use when the gate verifies *work an agent must do* (e.g. `docs_updated`). See "Procedure-backed (agent) verifier" below. Authoring a **command** gate is two steps: 1. Write a verifier command that honors the contract below. 2. Point a gate at it in `aitasks/metadata/gates.yaml`: set the gate's `verifier:` to the command (and `max_retries:` / `timeout_seconds:` / `unlocks:` as needed). ## Verifier contract **Invocation** (positional args, in order): ``` <verifier> <task-id> <attempt> <run-id> ``` - `<task-id>` — e.g. `42` or `42_3`. Read the task file for context (plan, scope). - `<attempt>` — the attempt number the orchestrator already wrote on the `running` block.