Automated quality gates for the development lifecycle. Pre-commit checks, pre-merge validation, release readiness verification, and post-release documentation.
Automated quality validation at critical development checkpoints. Ensures code quality, documentation completeness, and release readiness.
/quality-gate <checkpoint> [options]
| Checkpoint | Trigger | Purpose |
|------------|---------|---------|
| pre-commit | Before commit | Code quality, lint, format |
| pre-merge | Before PR merge | Tests, review, docs |
| pre-release | Before release | Full validation |
| post-release | After release | Documentation, changelog |
| check | On demand | Run all applicable checks |
┌─────────────────────────────────────────────────────────────────┐
│ QUALITY GATE PIPELINE │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Code Change → Pre-Commit → Pre-Merge → Pre-Release → Release │
│ ↓ ↓ ↓ ↓ ↓ │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ Edit │ → │ Lint │ → │ Test │ → │ Docs │ → │ Tag │ │
│ │ │ │Format│ │Review│ │ Sec │ │Deploy│ │
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
│ │
│ Gate Status: ✅ Pass ⚠️ Warning ❌ Block │
│ │
└─────────────────────────────────────────────────────────────────┘
Run before committing code changes.
/quality-gate pre-commit [--fix] [--skip <check>]
Checks:
| Check | Description | Blocking |
|-------|-------------|:--------:|
| lint | Code linting | ✅ |
| format | Code formatting | ⚠️ |
| types | Type checking | ✅ |
| secrets | Secret detection | ✅ |
| size | File size limits | ⚠️ |
Output:
🔍 PRE-COMMIT QUALITY GATE
[1/5] Linting...
✅ No lint errors
[2/5] Formatting...
⚠️ 2 files need formatting
→ Run with --fix to auto-format
[3/5] Type Checking...
✅ No type errors
[4/5] Secret Detection...
✅ No secrets found
[5/5] File Size Check...
✅ All files under limit
━━━━━━━━━━━━━━━━━━━━━━━━━
Result: ⚠️ PASS WITH WARNINGS
Warnings: 1
- Format: 2 files need formatting
Proceed with commit? (Y/n)
Run before merging PR to main branch.
/quality-gate pre-merge [--pr <number>]
Checks:
| Check | Description | Blocking |
|-------|-------------|:--------:|
| tests | All tests pass | ✅ |
| coverage | Test coverage threshold | ⚠️ |
| review | Code review approved | ✅ |
| conflicts | No merge conflicts | ✅ |
| docs | Documentation updated | ⚠️ |
| changelog | CHANGELOG updated | ⚠️ |
Output:
🔍 PRE-MERGE QUALITY GATE
PR: #42 - Add user authentication
[1/6] Tests...
✅ 127 tests passed
[2/6] Coverage...
⚠️ Coverage: 72% (threshold: 80%)
New code coverage: 85%
[3/6] Code Review...
✅ Approved by: @reviewer
[4/6] Merge Conflicts...
✅ No conflicts
[5/6] Documentation...
⚠️ README.md not updated
Consider: /readme-sync
[6/6] Changelog...
✅ CHANGELOG.md updated
━━━━━━━━━━━━━━━━━━━━━━━━━
Result: ⚠️ PASS WITH WARNINGS
Blocking: 0
Warnings: 2
- Coverage below threshold
- Documentation may need update
Recommend: Run /agile-sync before merge
Comprehensive validation before release.
/quality-gate pre-release --version <semver>
Checks:
| Check | Description | Blocking |
|-------|-------------|:--------:|
| tests | Full test suite | ✅ |
| coverage | Coverage threshold | ✅ |
| lint | Zero lint errors | ✅ |
| security | Security scan | ✅ |
| docs | Documentation complete | ✅ |
| changelog | Version in changelog | ✅ |
| version | Version consistency | ✅ |
| dependencies | No vulnerable deps | ⚠️ |
| build | Build succeeds | ✅ |
Output:
🔍 PRE-RELEASE QUALITY GATE
Version: v1.2.0
[1/9] Full Test Suite...
✅ 342 tests passed (0 failed, 0 skipped)
[2/9] Coverage Analysis...
✅ Coverage: 84% (threshold: 80%)
- Statements: 86%
- Branches: 79%
- Functions: 88%
- Lines: 84%
[3/9] Lint Check...
✅ Zero lint errors
[4/9] Security Scan...
✅ No vulnerabilities found
Scanned: dependencies, code patterns
[5/9] Documentation...
✅ All required docs present
- README.md: ✅
- CHANGELOG.md: ✅
- API docs: ✅
[6/9] Changelog Version...
✅ v1.2.0 entry found
[7/9] Version Consistency...
✅ Version matches across:
- package.json: 1.2.0
- CHANGELOG.md: 1.2.0
[8/9] Dependency Audit...
⚠️ 1 low severity issue
→ lodash: prototype pollution (low)
[9/9] Build Verification...
✅ Build successful
Size: 2.3 MB (within limit)
━━━━━━━━━━━━━━━━━━━━━━━━━
Result: ✅ RELEASE READY
All blocking checks passed!
Warnings: 1
- Low severity dependency issue
Next Steps:
1. Create release tag: git tag v1.2.0
2. Push tag: git push origin v1.2.0
3. Run: /quality-gate post-release
Documentation and tracking after release.
/quality-gate post-release --version <semver>
Actions: | Action | Description | |--------|-------------| | Archive sprint | Close active sprint if any | | Update docs | Update version references | | Velocity | Record release velocity | | Notify | Generate release notes | | Retro prompt | Suggest retrospective |
Output:
📦 POST-RELEASE QUALITY GATE
Version: v1.2.0 released!
[1/5] Sprint Archive...
✅ Sprint 3 closed
Velocity: 34 points
[2/5] Documentation Update...
✅ Version references updated
- README.md: badge updated
- docs/index.md: version updated
[3/5] Velocity Recording...
✅ Release velocity recorded
- Features: 8
- Fixes: 5
- Docs: 3
[4/5] Release Notes...
✅ Generated: RELEASE-v1.2.0.md
[5/5] Retrospective...
💡 Consider running: /feedback retro --milestone v1.2.0
━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Post-release tasks complete!
Generated:
- docs/releases/RELEASE-v1.2.0.md
- Updated: docs/feedback/VELOCITY.md
Run applicable checks based on current state.
/quality-gate check [--all] [--fix]
Automatically detects:
{
"quality-gate": {
"pre-commit": {
"enabled": true,
"checks": ["lint", "format", "types", "secrets"],
"auto-fix": false
},
"pre-merge": {
"enabled": true,
"coverage-threshold": 80,
"require-review": true,
"require-changelog": true
},
"pre-release": {
"enabled": true,
"coverage-threshold": 80,
"security-scan": true,
"require-all-docs": true
},
"post-release": {
"auto-archive-sprint": true,
"generate-release-notes": true,
"prompt-retro": true
}
}
}
Add project-specific checks:
# .claude/quality-checks.yml
custom-checks:
pre-commit:
- name: "API Schema"
command: "npm run validate-schema"
blocking: true
pre-release:
- name: "License Check"
command: "npm run license-check"
blocking: true
- name: "Bundle Size"
command: "npm run analyze-bundle"
threshold: "5MB"
blocking: false
# .git/hooks/pre-commit
#!/bin/bash
/quality-gate pre-commit --fail-on-warning
# GitHub Actions
- name: Quality Gate
run: |
/quality-gate pre-merge
/quality-gate pre-release --version ${{ github.ref_name }}
# Before PR
/quality-gate pre-merge && /agile-sync
# Release workflow
/quality-gate pre-release --version v1.2.0
git tag v1.2.0
git push origin v1.2.0
/quality-gate post-release --version v1.2.0
| Language | Command |
|----------|---------|
| JavaScript/TypeScript | eslint . |
| Python | ruff check . or flake8 |
| Go | golint ./... |
| Rust | cargo clippy |
| C# | dotnet format --verify-no-changes |
| Framework | Command |
|-----------|---------|
| Jest | npm test -- --coverage |
| pytest | pytest --cov |
| Go | go test -cover ./... |
| .NET | dotnet test --collect:"XPlat Code Coverage" |
| Tool | Purpose |
|------|---------|
| npm audit | Node.js dependencies |
| safety | Python dependencies |
| trivy | Container images |
| gitleaks | Secret detection |
# Skip specific check with reason
/quality-gate pre-commit --skip lint --reason "false positive in generated code"
# View uncovered lines
/quality-gate pre-merge --coverage-details
# Run with extended timeout
/quality-gate pre-release --timeout 600
| Skill | Purpose |
|-------|---------|
| /agile-sync | Sync all agile artifacts |
| /sprint | Sprint management |
| /feedback | Post-release retrospective |
| /test | Test execution |
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer