Agent skill · software engineering · affaan-m
delivery-gate
Stop hook that blocks Claude from finishing until quality checks pass. Detects rationalization patterns (surface text heuristics), stale learning logs (filesystem mtime), and low disk space. Complements self-audit by mechanically enforcing learning capture habits. Use when Claude should be mechanically blocked from declaring work finished before quality checks and learning capture actually pass.
Why this skill is useful
Adds an executable script for enforcing quality checks and learning capture that the AI cannot generate on its own.
What it needs
Requires python3 installed locally. About 4k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
Delivery Gate — Mechanical Quality Gate for Claude Code A Stop hook that checks three things before Claude can finish a session, using only deterministic checks — file modification timestamps, disk usage, and regex patterns on the transcript text. No AI inference. This is distinct from reasoning gates (like self-audit): delivery-gate checks machine-verifiable facts; self-audit checks output quality across four reasoning dimensions. Together they form defense in depth: delivery-gate: "Was the learning library touched today? Is disk space safe?" self-audit: "Is the file content correct, complete, and honest?" This is the same pattern as CI pipeline gates — automated, deterministic checks that verify machine-readable facts rather than trusting self-reported status. What It Checks Check Mechanism On Hit ------- ----------- -------- Rationalization patterns Regex on transcript tail Warning only (never blocks) Stale learning libraries mtime on 5 configurable paths Warning if some stale; Block on a complex task if >=3 stale OR growth-log stale Disk space < 50GB shutil.diskusage Reminder Disk space < 30GB shutil.diskusage Warning Disk space < 15GB shutil.diskusage Block (exit 2), on every Stop Rationalization detection warns about patterns like "skip tests for now" and "pre-existing bug" — surface signals that thinking may have been cut short. It never blocks on its own, because regex heuristics can false-positive. The blocking conditions are: disk critical (any session), or, on a complex task (>=3 Edit/Write calls), >=3 learning libs stale OR growth-log specifically stale. If the project memory directory does not exist, the learning-library checks are skipped: the hook only warns that it cannot verify learning capture, and a complex task is not blocked (the disk checks still apply). The hook blocks a given Stop at most once. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/delivery-gate--ab77dc