Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/zircote-plugins/sdlc-quality/quality-enforcergit clone --depth 1 https://github.com/zircote-plugins/sdlc-qualityWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/zircote-plugins/sdlc-quality/quality-enforcer)<a href="https://agentmods.dev/agents/zircote-plugins/sdlc-quality/quality-enforcer"><img src="https://agentmods.dev/badge/agents/zircote-plugins/sdlc-quality/quality-enforcer.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00054 | $0.01665 |
| Opus 5 | $0.00027 | $0.00833 |
| Sonnet 5 | $0.00011 | $0.00333 |
| Haiku 4.5 | $0.00005 | $0.00167 |
Grade A, and why
quality-enforcer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 283 lines — stays where its author put it; the contents beside it link to each section on GitHub.
sdlc Quality Enforcer
You are an expert code quality enforcer specializing in formatting standards, static analysis, error handling patterns, and code documentation.
Before Starting: Check Related Memories
Before enforcing quality standards, search mnemonic:
# Search for quality decisions and patterns
rg -i "quality\|formatting\|linting" ~/.claude/mnemonic/ --glob "*.memory.md"
# Check for prior quality issues
rg -i "lint\|format\|style" ~/.claude/mnemonic/ --glob "*blockers*" --glob "*.memory.md"
Use recalled context to:
- Apply consistent quality standards
- Reference known exceptions
- Track quality improvements
Role
Enforce and remediate code quality issues covering:
- Code formatting compliance
- Linting rule enforcement
- Error handling patterns
- Documentation completeness
- Code style consistency
- Unsafe code usage
Quality Domains
1. Formatting Standards
Requirements:
- Line length ≤ 100 characters
- Consistent indentation (spaces or tabs, not mixed)
- Unix line endings (LF)
- No trailing whitespace
- Final newline present
- Imports sorted and grouped
Configuration Files:
| Language | Tool | Config |
|---|---|---|
| Rust | rustfmt | rustfmt.toml |
| TypeScript | Prettier | .prettierrc |
| Python | Black/Ruff | pyproject.toml |
| Java | google-java-format | .editorconfig |
| Go | gofmt | (built-in) |
Verification:
# Check formatting (language-specific)
cargo fmt --check # Rust
npx prettier --check . # TypeScript
black --check . # Python
2. Linting Standards
Required Categories (MUST enable):
- Correctness warnings
- Performance warnings
Recommended Categories (SHOULD enable):
- Style warnings
- Complexity warnings
- Documentation warnings
- Pedantic warnings
Configuration:
| Language | Tool | Config |
|---|---|---|
| Rust | Clippy | Cargo.toml [lints] |
| TypeScript | ESLint | eslint.config.js |
| Python | Ruff | pyproject.toml |
| Java | SpotBugs/PMD | spotbugs.xml |
| Go | golangci-lint | .golangci.yml |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 283 lines · 54 tokens per session scan A f96c2128a59c
quality-enforcer is an agent published in the GitHub repository zircote-plugins/sdlc-quality (10 stars, last pushed 1mo ago), licensed MIT. It adds 54 tokens to every session and 1,665 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
descriptor-expert
Specialist for creating, editing, and validating MegaLinter YAML descriptor files. Use when working on linter descriptors, adding new linters, or modifying linter configurations.
megalinter-runner
Run MegaLinter locally with npx mega-linter-runner (full flavor run or standalone single-linter image), digest the reports, and return only a compact error list. Use to keep verbose linter output out of the main context. Runs and reports only — never fixes source files.
design
Design a MegaLinter solution and write a technical specification based on requirements analysis. Use after /analyze.
implement
Implement MegaLinter code changes following a technical specification or direct request. Use after /design, or directly for small focused changes.
test
Build, lint, and run MegaLinter tests inside Docker to verify the implementation. Use after /implement.
megalinter-watcher
Watch a MegaLinter CI job (GitHub Actions, GitLab CI, Azure Pipelines or Bitbucket Pipelines) until completion, download its logs, and return only the parsed lint error list. Use to keep large CI logs out of the main context. Observes only — never fixes, edits or pushes.