Agent skill
quality-gates
Python code quality gates script for linting, type checking, complexity analysis, and testing before commits. Use when enforcing consistent code quality across Python projects with fast (unit-tests) or comprehensive (all-tests) modes.
Install this agent skill to your Project
npx add-skill https://github.com/ederheisler/agent-skills/tree/main/skills/quality-gates
Metadata
Additional technical details for this skill
- author
- eder
- version
- 1.0
SKILL.md
Quality Gates
Overview
Project-agnostic bash script enforcing Python code quality gates using pyrefly, radon, hypothesis, pytest, and markdownlint. Three execution modes provide flexibility for different workflows: unit-tests for fast feedback, all-tests for comprehensive pre-merge validation, no-tests for static analysis only. Coverage runs are excluded by default; run coverage only when the user explicitly requests it.
When to Use
Before committing Python code to enforce consistent quality checks across projects without directory structure assumptions.
Modes
| Mode | Gates Run | Use Case |
|---|---|---|
| unit-tests | pyrefly, radon, hypothesis checks, pytest (unit/), markdownlint | Fast feedback during development |
| all-tests | pyrefly, radon, hypothesis checks, pytest (unit/ + integration/), markdownlint | Pre-merge/deploy comprehensive check |
| no-tests | pyrefly, radon, hypothesis checks, markdownlint | Static analysis only (time critical) |
Quick Start
Running quality gates:
Make sure uv is installed.
# Fast feedback: lint + type check + unit tests
.claude/skills/quality-gates/scripts/quality-gates.sh unit-tests
# Pre-merge: everything including integration tests
.claude/skills/quality-gates/scripts/quality-gates.sh all-tests
# Quick static checks only
.claude/skills/quality-gates/scripts/quality-gates.sh no-tests
Implementation Details
- Script:
scripts/quality-gates.sh- Uses uv/uvx for tool management - Excluded directories: tests, test, docs, doc, examples, scripts, build, dist, .venv, venv, .tox, .git, node_modules, pycache, *.egg-info
- Graceful fallbacks: Skips missing tools without failing
Common Anti-Patterns
| Rationalization | Reality |
|---|---|
| "Time-critical, skip checks" | Use no-tests mode for fast static validation |
| "Already tested manually" | Automation catches edge cases manual testing misses |
| "Partial checks sufficient" | Modes provide full coverage options; incomplete coverage misses bugs |
| "Coverage by default" | Coverage pollutes context; run it only when explicitly requested |
| "Too slow" | Tools are fast; skipping misses complexity and type issues |
| "Script not in project" | Copy to project to .claude/; run locally |
| "Tools not installed" | Install uv; graceful fallbacks skip missing tools |
Red Flags
Stop and re-evaluate if you're:
- Skipping all checks
- "This time is different"
- "Good enough for now"
- Rationalizing under deadline pressure
- Adding coverage without an explicit request
All of these suggest running the script with the appropriate mode.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
terraform-style-guide
Write and review OpenTofu-first HCL using current style conventions and safe infrastructure patterns. Use whenever editing Terraform or OpenTofu configuration, modules, variables, outputs, providers, or imports. Prefer OpenTofu commands and OpenTofu documentation unless the user explicitly needs Terraform-only behavior.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
fastapi
Build Python APIs with FastAPI, Pydantic v2, and SQLAlchemy 2.0 async. Covers project structure, JWT auth, validation, and database integration with uv package manager. Prevents 7 documented errors. Use when: creating Python APIs, implementing JWT auth, or troubleshooting 422 validation, CORS, async blocking, form data, background tasks, or OpenAPI schema errors.
documentation-generation
You are a documentation expert specializing in creating comprehensive, maintainable documentation from code. Generate API docs, architecture diagrams, user guides, and technical references using AI...
session-behavior
Didn't find tool you were looking for?