Quality gate
Pre-PR quality checks — build, tests, coverage, lint, securityFrom its SKILL.md
npx -y skills add lwalden/AIAgentMinder --skill quality-gateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.6 KB, as published. Nobody here has run it
/aiagentminder:quality-gate - Pre-PR Quality Checks
Run this before creating any pull request. Runs the full quality checklist — all checks, every time.
Step 1: Run All Checks
Execute every check in order. Fix failures before proceeding to the next check.
Build
- Build passes — Run the project's build command. If it fails, fix before proceeding.
Tests
- Tests exist for new functionality — For each new or changed function/module, confirm at least one test covers it.
- Test suite passes — Run the full test suite. Zero failing tests.
- No debug statements — Search for
console.log,debugger,print(,puts,binding.pryin changed files. Remove any found.
Negative test enforcement
- Error paths are tested — Read
negativeTestEnforcementfrom.pr-pipeline.json. Ifenabledistrue(default), search test files touched by this PR for assertions that exercise error paths — look for the configuredpatterns(e.g.,throw,reject,error,invalid,not found). Each new function or endpoint that can fail should have at leastminNegativeTeststest(s) covering the failure case. If missing, write them before proceeding.
If negativeTestEnforcement.enabled is false in .pr-pipeline.json, skip this check.
Coverage & Lint
- Test coverage delta — Run coverage and confirm new code is covered. Flag any untested branches in critical paths.
- No
anytypes (TypeScript projects) — Search changed.ts/.tsxfiles for: anyandas any. Each occurrence needs justification or fixing. - Linter clean — Run the project's linter (
eslint,ruff,golangci-lint, etc.). Zero new warnings.
Security
- No hardcoded secrets — Search changed files for patterns: API keys, connection strings, passwords, tokens. None should be literal strings.
- Error handling on external calls — For each new call to an external service, API, or database: confirm there's explicit error handling (try/catch,
.catch(),if err != nil). - Security scan — Run the project's security scanner if configured (
npm audit,pip-audit,govulncheck,trivy, etc.). Address any high/critical findings.
Step 2: Report and Decide
After running checks:
- All pass: Record the gate-pass marker with the Write tool — write the current timestamp to
.quality-gate-pass. Then announce: "Quality gate passed. Creating PR." Thepre-pr-gate-hookreads this marker and blocksgh pr createuntil it exists and is fresh (default 60 min), so recording it is what unlocks PR creation. - Failures found: List each failure with the specific file and line. Fix all failures before creating the PR. During autonomous sprint execution, fix failures without asking — do not prompt for override. Remove a stale
.quality-gate-passif present (Remove-Itemon Windows,rm -fon Unix) so the gate hook keeps PR creation blocked until the re-run passes.
If invoked manually outside a sprint and the user explicitly requests an override: record the .quality-gate-pass marker (the human override is the pass) so PR creation is unblocked, create the PR, and add a note to the PR description: "Quality gate override: [reason for override]."
Integration with Sprint Workflow
This command is called automatically by the sprint workflow before each PR creation. During sprint execution, quality gate failures must be fixed — not overridden. You can also invoke it manually at any time with /aiagentminder:quality-gate.