Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 108 additions & 27 deletions .claude/skills/pair-capability-verify-quality/SKILL.md

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions apps/website/content/docs/concepts/tag-driven-gates.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ If a PR has **no** `risk:*` tag — or the tag is unknown or malformed — the g

If a tier requires a suite the repository does not have (for example, a 🔴 PR with no E2E suite), the gate **fails with an explicit "suite missing" error**. It never silently passes a tier whose checks could not run.

## Checking locally before you push (local = CI)

The `verify-quality` capability runs the **same check set the gate would run for this item's tier**, on your machine, before you push. It resolves the `risk:*` tag — from the pull request, or pre-publish from the story card — and applies the exact same matrix through the same shipped resolver the CI gate uses. So a 🟢 green change runs only lint + type + build locally (no over-checking), and a 🔴 red change runs the full set locally (no surprise red at the gate).

It never classifies: like the pipeline, it reads the tag and the matrix only. The three parity guarantees carry over unchanged:

- **Fail-safe red** — no resolvable `risk:*` tag ⇒ the full set runs locally too, stated explicitly in the report.
- **Missing suite is loud** — a suite the tier requires but the repo lacks is reported as `suite missing — CI will fail`, never a silent local pass.
- **Opt-in preserved** — with tiering off (the default), `verify-quality` runs the full suite, exactly as CI does.

## Coverage guardrail (opt-in, off by default)

Coverage can be protected by a **baseline regression guardrail** — a job inside the same pipeline, not a separate CI mechanism. It is **opt-in and off by default** (the twin of tiering): a project turns it on by setting `Coverage guardrail: enabled` in its `way-of-working.md`, and `setup-gates` offers it as a guided-setup question (default **No**). Absent the flag, no coverage job is generated. When enabled, a PR that drops coverage **below a committed baseline** fails the gate; a PR that maintains or improves it passes. It is a guardrail against regression, not a wall demanding a fixed percentage on every PR, so a legacy codebase is never failed at 0 on day one.
Expand Down
2 changes: 1 addition & 1 deletion apps/website/content/docs/reference/skills-catalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ All `analyze-*` skills are **output-only report producers**: they analyze and re
| ----- | ------- | ----------- |
| **verify-adoption** | `/pair-capability-verify-adoption` | Detects conformity/non-conformity of already-written code against the project's adopted decisions, for a given scope — a compliance audit, not a new-choice evaluation (that's assess-stack and siblings). Detection-only. |
| **verify-done** | `/pair-capability-verify-done` | Checks a PR or work item against Definition of Done criteria, skipping already-passing criteria. Composed by `/pair-process-review`; invoke directly on demand. |
| **verify-quality** | `/pair-capability-verify-quality` | Checks whether the codebase currently passes its quality gates (lint, tests, type-check, coverage), skipping gates already passing. Composed by `/pair-process-implement`, `/pair-process-review`. |
| **verify-quality** | `/pair-capability-verify-quality` | Checks whether the codebase passes the quality gates the CI pre-merge gate would run for the item/PR risk tier — resolves the `risk:*` tag and applies the [tag-driven gate matrix](/docs/concepts/tag-driven-gates) (🟢 lint+type+build; +unit from 🟡; +integration/E2E on 🔴) so local verification mirrors CI for the tier check set (tier-check parity; the coverage-guardrail and secret-scan CI layers are not mirrored locally), fail-safe red when untagged. Skips gates already passing. Composed by `/pair-process-implement`, `/pair-process-review`. |

### Setup and Management Capabilities

Expand Down
Loading
Loading