Skip to content
Back to skills

Pair Capability Verify Done

ASecurity

Checks Definition of Done criteria against a PR or work item. Reads universal DoD from quality-standards guidelines and project-specific criteria from adoption files. Already-passing criteria are skipped. Invocable independently or composed by /pair-process-review.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
securitygotestingapisecurityperformancedocumentation

Works with

  • api

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add learnn-com/designn --skill pair-capability-verify-done --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pair Capability Verify Done?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pair Capability Verify Done
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/learnn-com-pair-capability-verify-done/badge)](https://www.skillsdirectory.com/skills/learnn-com-pair-capability-verify-done)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pair-capability-verify-done
description: "Checks Definition of Done criteria against a PR or work item. Reads universal DoD from quality-standards guidelines and project-specific criteria from adoption files. Already-passing criteria are skipped. Invocable independently or composed by /pair-process-review."
version: 0.4.1
author: Foomakers
---

# /pair-capability-verify-done — Definition of Done Checker

Validate a work item against Definition of Done criteria. Two sources of truth:

- **[definition-of-done.md](../../../.pair/knowledge/guidelines/quality-assurance/quality-standards/definition-of-done.md)** — universal DoD checklist (18 criteria covering requirements, code standards, testing, security, performance, accessibility, deployment, documentation).
- **Adoption files** [`.pair/adoption/tech/`](../../../.pair/adoption/tech) — project-specific criteria derived from adopted architecture, tech-stack, and way-of-working decisions.

Only check criteria that are not already passing.

## Arguments

| Argument | Required | Description                                                                                                                                                                    |
| -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `$scope` | No       | Limit checking to specific areas: `requirements`, `code-quality`, `testing`, `security`, `performance`, `accessibility`, `deployment`, `documentation`, `all` (default: `all`) |
| `$story` | No       | Story ID to load acceptance criteria from PM tool. If omitted, checks universal DoD only.                                                                                      |

## Algorithm

Execute each criterion group in order. For every criterion, follow the **check → skip → act → verify** pattern.

### Step 1: Load DoD Criteria

1. **Check**: Read [definition-of-done.md](../../../.pair/knowledge/guidelines/quality-assurance/quality-standards/definition-of-done.md) and extract the DoD checklist.
2. **Skip**: If `$scope` is set, filter to only the matching criterion group.
3. **Act**: Build the working checklist. If `$story` is provided, prepend story-specific acceptance criteria from the PM tool.
4. **Verify**: Checklist loaded. If definition-of-done.md is not found, warn and proceed with adoption-only criteria.

### Step 2: Requirements & Acceptance Criteria

1. **Check**: Are all story acceptance criteria met? (Requires `$story` to be set.)
2. **Skip**: If no `$story` provided, or all AC already verified — mark PASS and move to Step 3.
3. **Act**: For each AC, evaluate whether the current code/PR satisfies it. Report unmet criteria.
4. **Verify**: All AC met, or unmet criteria reported.

### Step 3: Code Standards

1. **Check**: Does the code follow adopted code design guidelines and technical standards?
2. **Skip**: If already verified (e.g., by a prior /pair-capability-verify-quality run in the same session) — mark PASS.
3. **Act**: Check code against [code-design guidelines](../../../.pair/knowledge/guidelines/code-design/README.md) and [technical standards](../../../.pair/knowledge/guidelines/technical-standards/README.md). Report non-conformities.
4. **Verify**: Standards met or non-conformities reported.

### Step 4: Architecture & ADR Compliance

1. **Check**: Does the solution align with adopted [architecture](../../../.pair/adoption/tech/architecture.md)? Are relevant ADRs followed?
2. **Skip**: If no architectural changes in the PR — mark PASS.
3. **Act**: Cross-reference changes against architecture adoption and existing ADRs in `adoption/tech/adr/`. Report gaps.
4. **Verify**: Compliant or gaps reported. Missing ADR is a **HALT condition** for the composing skill.

### Step 5: Testing

1. **Check**: Are tests written per [testing strategy](../../../.pair/knowledge/guidelines/testing/test-strategy/README.md)? Do all tests pass?
2. **Skip**: If already verified by /pair-capability-verify-quality in the same session — mark PASS.
3. **Act**: Verify test existence for new/modified modules (1:1 mapping). Check test quality (behavior-based, not implementation-based). Report gaps.
4. **Verify**: Testing criteria met or gaps reported.

### Step 6: Security

1. **Check**: Are security considerations identified and practices followed?
2. **Skip**: If no security-relevant changes in the PR — mark PASS.
3. **Act**: Check against [security guidelines](../../../.pair/knowledge/guidelines/quality-assurance/security/security-guidelines.md). Look for: hardcoded secrets, injection vulnerabilities, improper data handling, missing input validation.
4. **Verify**: Secure or issues reported.

### Step 7: Performance

1. **Check**: Do performance benchmarks meet standards?
2. **Skip**: If no performance-relevant changes — mark PASS.
3. **Act**: Check for obvious performance issues: N+1 queries, unbounded loops, missing pagination, large bundle imports.
4. **Verify**: Performance criteria met or issues reported.

### Step 8: Documentation

1. **Check**: Is documentation updated for changed functionality?
2. **Skip**: If no public API or behavior changes — mark PASS.
3. **Act**: Check for: updated READMEs, inline documentation for complex logic, updated adoption files if decisions changed.
4. **Verify**: Documentation current or gaps reported.

### Step 9: Manual Test Validation (Optional)

1. **Check**: Does the project have a manual test suite (look for `qa/` directory with `CP*.md` files at project root)?
2. **Skip**: If no manual test suite exists — mark SKIPPED. If `$scope` excludes `manual-testing` — mark SKIPPED.
3. **Act**: Check if a manual test report exists for the current version in `.tmp/manual-test-reports/` with overall result PASS. Do NOT execute tests — only check for an existing report.
4. **Verify**: Report exists and PASS → mark PASS. Report exists and FAIL → mark FAIL with summary of failures. No report → mark SKIPPED with note: "No manual test report found for this version. Run `/pair-capability-execute-manual-tests` to generate one."

## Output Format

Present results as:

```text
DEFINITION OF DONE REPORT:
├── Requirements:  [PASS | FAIL — N unmet AC | SKIPPED — no $story]
├── Code Standards: [PASS | FAIL — N issues | SKIPPED]
├── Architecture:  [PASS | FAIL — N gaps | HALT — missing ADR | SKIPPED]
├── Testing:       [PASS | FAIL — N gaps | SKIPPED]
├── Security:      [PASS | FAIL — N issues | SKIPPED]
├── Performance:      [PASS | FAIL — N issues | SKIPPED]
├── Documentation:    [PASS | FAIL — N gaps | SKIPPED]
└── Manual Testing:   [PASS | FAIL — N failures | SKIPPED — no suite or no report]

RESULT: [ALL CRITERIA MET | N criteria failing | HALT — reason]
```

## Composition Interface

When composed by `/pair-process-review`:

- **Input**: /pair-process-review invokes `/pair-capability-verify-done` during the completeness phase (Phase 4).
- **Output**: Returns the DoD report. /pair-process-review incorporates findings into the review output.
  - HALT conditions (missing ADR) propagate to /pair-process-review.
  - FAIL criteria become review findings.
  - SKIPPED criteria are noted but do not block.

When invoked **independently**:

- Run all criteria groups (or scoped groups if `$scope` is provided).
- Report results. This skill only reads and reports — it does not modify code.

## Graceful Degradation

- If [definition-of-done.md](../../../.pair/knowledge/guidelines/quality-assurance/quality-standards/definition-of-done.md) is not found, warn and check only adoption-derived criteria.
- If adoption files are missing, warn and check only universal DoD criteria.
- If `$story` is not provided, skip requirements/AC check and evaluate only universal criteria.
- If specific guideline files are not found (e.g., security guidelines), skip that criterion group and report: "[Area]: SKIPPED — guidelines not found."
- If /pair-capability-verify-quality already ran in the same session, reuse its results for code standards and testing criteria (avoid duplicate work).
- If no manual test suite exists (`qa/` directory not found), Step 9 is SKIPPED — this is expected for projects without a manual test suite.
- If a manual test report exists but is for a different version, mark SKIPPED with note about version mismatch.

## Notes

- This skill is **read-only** — it inspects code and configuration but never modifies files.
- Criteria evaluation is contextual: only changes in the PR/work item are assessed, not the entire codebase.
- SKIPPED criteria (no relevant changes) are distinct from PASS (verified and conformant).
- HALT on missing ADR: if architectural changes lack an ADR, this is escalated to the composing skill. /pair-capability-verify-done itself does not create ADRs — that is /record-decision's responsibility.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.