Mechanical Quality Gate
Your AI blocks finishing work until quality checks pass on learning logs, disk space, and rationalization patterns. It verifies file timestamps, disk usage, and transcript heuristics to enforce capture habits and prevent premature session closure.
affaan-m on GitHub
Curated by PromptsEdge from a public repo · MIT license. All credit goes to the author.
What is this skill?
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 if >=3 stale OR growth-log stale + complex task |
| Disk space < 50GB | shutil.disk_usage | Warning |
| Disk space < 15GB | shutil.disk_usage | Block (exit 2) |
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, >=3 learning libs stale, OR growth-log specifically stale (all require complex task >=3 edits).
Why
Claude Code's built-in checks cover code quality (build → type → lint → test). But there's a different failure mode: the agent produces working code while the session hygiene was neglected — learning not captured, rationalized shortcuts, disk running out silently.
Over many sessions of "ship and forget," the human hasn't grown. This hook enforces the habit: complex task → must touch learning libraries.
Install
cp quality-gate.py ~/.claude/scripts/
Add to ~/.claude/settings.json:
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "python3 ~/.claude/scripts/quality-gate.py",
"timeout": 5000
}]
}]
}
}
Learning Libraries
Create these files in your project's memory directory. The hook checks if at least one was updated today:
memory/
├── growth-log/ # Daily learning entries (directory)
├── decisions/log.md # Decision log
├── output-index.md # Index of session outputs
├── ratings-tracker.md # Skill ratings over time
└── tooling_capabilities.md # Known tools inventory
Customize the LIBS dict to match your own file structure.
Configuration
Edit quality-gate.py:
| Variable | Default | Purpose |
|---|---|---|
RATIONALIZE | 4 patterns | Regex patterns for rationalization detection |
LIBS | 5 libraries | Files/dirs to check for today's updates |
COMPLEX_THRESHOLD | 3 | Edit/Write calls to classify as complex |
DISK_WARN_GB | 50 | Warn below this |
DISK_CRIT_GB | 15 | Block below this |
Examples
Simple session — allowed:
edit_count=1 (< 3, not complex) → exit 0
Complex task, learning captured — allowed:
edit_count=5 (complex) → checks LIBS → growth-log updated today → exit 0
Complex task, no learning — BLOCKED:
edit_count=4 (complex) → checks LIBS → all 5 stale → exit 2
stderr: "Blocked: complex task completed but no learning captured today."
Low disk space — BLOCKED:
disk_free=12GB < 15GB critical → exit 2
stderr: "Blocked: disk space at 12GB (threshold: 15GB)."
Limitations
The hook enforces the habit of touching learning libraries, not the quality of what was recorded. If output-index.md is updated but growth-log is skipped, the hook passes (1 of 5 libraries touched). This is by design: mechanical gates check machine-verifiable facts. For content quality verification, pair with self-audit.
Compatibility
- Python 3.8+ (uses
from __future__ import annotations) - Cross-platform: Windows, macOS, Linux
- Zero dependencies beyond stdlib
Quality
This code went through 4 rounds of automated code review (CodeRabbit + Greptile) with 9 real bugs found and fixed.
See Also
self-audit— Reasoning quality gate (completeness/consistency/groundedness/honesty)verification-loop— Code quality checks (build/type/lint/test)gateguard— PreToolUse safety gate
Install this skill
- 1
Get the skill — it’s free
Use the Get this skill panel. Unlocked skills stay in My skills. - 2
Download or clone the files
Download the zip, or clone the repo and copy theskills/delivery-gatefolder. - 3
Put it where your agent looks for skills
For Claude Code, use your personal skills folder (every project) or a project’s own folder:~/.claude/skills/delivery-gate/SKILL.md # all projects .claude/skills/delivery-gate/SKILL.md # this project only
- 4
Just ask
No command needed. The agent reads the skill’s description and loads it on its own when your request matches.
Heads up: this skill ships scripts the agent can run on your machine. Read them before installing.
SKILL.md frontmatter
What your agent reads to decide when to load this skill.
--- name: delivery-gate description: 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. ---
Files
Open any Markdown file to read it here.
Related skills
View all →- Evaluate Scholarly WorkFreeYour AI assesses academic papers, proposals, or reviews using a repeatable rubric. It scores clarity, methodology, evidence quality, and citations to provide structured feedback or compare multiple works.
- Conduct Systematic Literature ReviewsFreeTurn your research question into a structured search, screening, and synthesis of academic or technical literature. It manages protocols, inclusion criteria, and citation checks to build narrative, scoping, or systematic reviews.
- Search Biomedical LiteratureFreeYour AI finds and retrieves biomedical research articles from PubMed and NCBI databases. It builds precise queries using MeSH terms, PMIDs, publication types, and dates to get relevant abstracts and citations for your research.
- Evidence-First ResearchFreeYour AI conducts current-state research combining fresh public data and your local context. It integrates web search, multi-source synthesis, market analysis, and lead intelligence for fact-based comparisons and recommendations.