Validation Contract
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.
Use When
- Authoring a new specialist skill and deciding which validation evidence it should produce.
- Normalising an older specialist skill against the current house style.
- Preparing a feature or release for ship and assembling the Release Evidence Bundle.
- Reviewing a PR that claims a feature is production-ready.
Do Not Use When
- The work is purely local, experimental, or explicitly throwaway with no path to production.
- The skill being authored is a baseline, process, or pure index skill. Those do not declare evidence.
- The task is unrelated to validation planning or shipping readiness.
Required Inputs
- The specialist skill or feature being validated, including its intended scope and risk tier.
- Access to the repository's existing validation skills (
advanced-testing-strategy, vibe-security-skill, observability-monitoring, etc.) as the source of category-specific "how to validate" content.
- Awareness of the 14 canonical artifact templates in
skill-composition-standards/references/ so evidence rows can cite existing formats.
Workflow
- Identify whether the skill or feature in scope is specialist (declares evidence) or baseline/process (does not).
- For specialist skills: map each artifact the skill produces to one of the seven evidence categories.
- For releases: produce a Release Evidence Bundle that links concrete artifacts under each of the seven categories, using
N/A — <reason> only where an entire category legitimately does not apply.
- Cross-check risk tier guidance before permitting any
N/A in high-risk releases.
Quality Standards
- Every specialist skill that produces validation evidence declares at least one evidence category with a concrete artifact reference.
- Evidence declarations cite existing artifact templates where possible instead of inventing new formats.
- Release Evidence Bundles never carry empty cells. Every cell links evidence or carries an
N/A — <reason> line.
Anti-Patterns
- Declaring every category on every skill "just in case". This kills the signal.
- Writing prose validation notes instead of linking concrete artifacts in a Release Evidence Bundle.
- Permitting unjustified
N/A on Correctness, Security, Data safety, Operability, or Release evidence in high-risk releases.
- Treating the Release Evidence Bundle as a retrospective summary written after ship. It is produced before ship.
Outputs
- A specialist skill with a validated
## Evidence Produced section declaring one or more of the seven categories.
- A Release Evidence Bundle in the project's
docs/ tree linking evidence for every applicable category at ship time.
- Clear
N/A — <reason> annotations for non-applicable categories, with risk-tier-aware justification.
References
- references/evidence-categories.md: per-category definition, indicative contributing skills, and common artifact shapes.
- references/declaration-form.md: the
## Evidence Produced table form, rules, and worked examples.
- references/release-evidence-bundle-template.md: the canonical fillable Release Evidence Bundle.
- references/integration-rollout.md: audit trail of edits made to other skills during this skill's rollout.
The three repository-wide contracts
The repository is held together by three contracts, each codified in a baseline skill:
- House-style contract — every skill follows the same shape. Source:
skill-composition-standards, Standard 1.
- Inputs/Outputs contract — every skill declares the artifacts it consumes and produces. Source:
skill-composition-standards, Standard 2.
- Evidence contract — every specialist skill declares which of seven fixed validation categories its artifacts contribute to, and every release produces a Release Evidence Bundle. Source: this skill.
The three contracts stack. A skill that meets Standard 1 but skips Standard 2 or 3 is not repository-grade.
The seven evidence categories
| # |
Category |
What the evidence proves |
| 1 |
Correctness |
Behaviour matches spec; tests cover risk surface; contracts hold. |
| 2 |
Security |
Threat model exists; scans clean; secrets handled; auth/authorisation verified. |
| 3 |
Data safety |
Schema integrity; migration safety; backup, retention, and PII handling. |
| 4 |
Performance |
Budgets met; load profile understood; query plans acceptable. |
| 5 |
Operability |
SLOs defined; runbook exists; observability wired; rollback plan ready. |
| 6 |
UX quality |
Accessibility pass; design audit; content/UX-writing review; AI slop check. |
| 7 |
Release evidence |
Change record; migration plan; rollout/rollback log; post-deploy verification. |
The taxonomy is closed. Adding an eighth category requires editing this skill, not silently extending it elsewhere. Full definitions and indicative contributing skills live in references/evidence-categories.md.
Declaration mechanic
Specialist skills add a ## Evidence Produced section to their SKILL.md, between ## Outputs and ## References:
## Evidence Produced
| Category | Artifact | Format | Example |
|----------|----------|--------|---------|
| Security | Threat model | Markdown doc per `skill-composition-standards/references/threat-model-template.md` | `docs/security/threat-model-checkout.md` |
| Operability | Runbook | Markdown doc per `skill-composition-standards/references/runbook-template.md` | `docs/runbooks/payment-failures.md` |
Rules
- A specialist skill that produces validation evidence MUST declare at least one row.
- Each row's
Category value MUST be one of the seven canonical names (case-sensitive).
- Each row's
Format field MUST reference an existing template or define its own format inline in the same SKILL.md.
- A specialist skill MAY contribute to multiple categories.
- Baseline skills, process skills, and pure index/orchestration skills MUST NOT declare.
Worked examples live in references/declaration-form.md.
Specialist vs exempt skills
A skill is "specialist" for the purposes of this contract when it:
- Produces concrete project artifacts (code patterns, schemas, configs, documents).
- Is loaded for a specific domain or platform problem rather than as a baseline frame.
Skills exempt from declaring (non-exhaustive):
world-class-engineering, skill-composition-standards, validation-contract itself.
system-architecture-design, engineering-management-system, git-collaboration-workflow.
feature-planning, spec-architect.
- All
superpowers:* skills.
When a skill straddles the line, the default is declare. False positives are cheaper than silent omissions.
The Release Evidence Bundle
When a feature or release is ready to ship, the reviewer produces a single fillable document — the Release Evidence Bundle — that links to the concrete artifacts satisfying each of the seven categories.
- Template: references/release-evidence-bundle-template.md.
N/A semantics: permitted only with a reason on the same line. An empty cell is not acceptable.
- Risk tier guidance:
- Low risk — internal tools, docs, non-user-facing scripts. Typical bundle has 3-4 categories live.
- Medium risk — user-facing feature, single-tenant. All 7 categories addressed; some may be
N/A with reason.
- High risk — multi-tenant data, payments, auth, external APIs, AI features. All 7 categories live; no
N/A permitted on Correctness, Security, Data safety, Operability, or Release evidence.
Strictness
- The contract uses MUST, MAY, MUST NOT in the RFC 2119 sense.
- Mechanical enforcement is out of scope for this skill. It lands separately as a CI contract-gate hook that will:
- parse
## Evidence Produced tables and warn on missing or invalid categories.
- parse Release Evidence Bundles and warn on empty cells or unjustified
N/A.
- Authoring with binding language now means the CI hook is a parser and CI integration only, not a policy debate.
Integration with existing skills
The rollout in references/integration-rollout.md lists every edit made to other skills when this skill was introduced. Future edits that touch this contract should update that file.
Companion Skills
Inputs
| Artefact |
Required? |
Purpose |
| Claimed release evidence |
yes |
Establish what can be verified |
| Category requirements |
yes |
Determine mandatory proof |
Capability contract
Read and search are required to trace evidence producers and consumers. Execution is required only for machine-verifiable gates. Editing is permitted only when contract repair is authorised.
Degraded mode
Fallback when evidence cannot be executed or retrieved: mark the category unverified; never convert missing evidence into a pass.
Decision rules
| Evidence state |
Release status |
Action |
| Required category has verified passing evidence |
Pass category |
Attach artefact to bundle |
| Evidence exists but is stale or incomplete |
Conditional |
Refresh before release |
| Required evidence is missing or failing |
Block |
Do not ship |
Domain anti-patterns
- Accepting a prose claim as test evidence. Fix: require the named artefact or command result.
- Reusing stale evidence after relevant code changed. Fix: rerun the producing check.
- Marking inaccessible evidence as passed. Fix: record
unverified.
- Allowing one category to substitute for another. Fix: satisfy each mandatory category independently.
- Shipping an incomplete evidence bundle. Fix: block until required artefacts and provenance are present.
Companion skills
skill-composition-standards — Standards 1 and 2. Load this before validation-contract.
world-class-engineering — repository production-readiness bar. This contract makes the evidence of meeting that bar a first-class artifact.
- Category-specific skills — the source of truth for how to validate within each category (see references/evidence-categories.md).
1---2name: validation-contract3description: Use when authoring or normalising a specialist skill, or preparing to ship a feature or release — defines the seven evidence categories every specialist skill must declare against and provides the canonical Release Evidence Bundle template. The contract spine that turns scattered validation skills into a coherent ship-readiness check.4metadata:5 portable: true6 compatible_with:7 - claude-code8 - codex9---1011# Validation Contract12Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.1314<!-- dual-compat-start -->15## Use When1617- Authoring a new specialist skill and deciding which validation evidence it should produce.18- Normalising an older specialist skill against the current house style.19- Preparing a feature or release for ship and assembling the Release Evidence Bundle.20- Reviewing a PR that claims a feature is production-ready.2122## Do Not Use When2324- The work is purely local, experimental, or explicitly throwaway with no path to production.25- The skill being authored is a baseline, process, or pure index skill. Those do not declare evidence.26- The task is unrelated to validation planning or shipping readiness.2728## Required Inputs2930- The specialist skill or feature being validated, including its intended scope and risk tier.31- Access to the repository's existing validation skills (`advanced-testing-strategy`, `vibe-security-skill`, `observability-monitoring`, etc.) as the source of category-specific "how to validate" content.32- Awareness of the 14 canonical artifact templates in `skill-composition-standards/references/` so evidence rows can cite existing formats.3334## Workflow3536- Identify whether the skill or feature in scope is specialist (declares evidence) or baseline/process (does not).37- For specialist skills: map each artifact the skill produces to one of the seven evidence categories.38- For releases: produce a Release Evidence Bundle that links concrete artifacts under each of the seven categories, using `N/A — <reason>` only where an entire category legitimately does not apply.39- Cross-check risk tier guidance before permitting any `N/A` in high-risk releases.4041## Quality Standards4243- Every specialist skill that produces validation evidence declares at least one evidence category with a concrete artifact reference.44- Evidence declarations cite existing artifact templates where possible instead of inventing new formats.45- Release Evidence Bundles never carry empty cells. Every cell links evidence or carries an `N/A — <reason>` line.4647## Anti-Patterns4849- Declaring every category on every skill "just in case". This kills the signal.50- Writing prose validation notes instead of linking concrete artifacts in a Release Evidence Bundle.51- Permitting unjustified `N/A` on Correctness, Security, Data safety, Operability, or Release evidence in high-risk releases.52- Treating the Release Evidence Bundle as a retrospective summary written after ship. It is produced before ship.5354## Outputs5556- A specialist skill with a validated `## Evidence Produced` section declaring one or more of the seven categories.57- A Release Evidence Bundle in the project's `docs/` tree linking evidence for every applicable category at ship time.58- Clear `N/A — <reason>` annotations for non-applicable categories, with risk-tier-aware justification.5960## References6162- [references/evidence-categories.md](references/evidence-categories.md): per-category definition, indicative contributing skills, and common artifact shapes.63- [references/declaration-form.md](references/declaration-form.md): the `## Evidence Produced` table form, rules, and worked examples.64- [references/release-evidence-bundle-template.md](references/release-evidence-bundle-template.md): the canonical fillable Release Evidence Bundle.65- [references/integration-rollout.md](references/integration-rollout.md): audit trail of edits made to other skills during this skill's rollout.66<!-- dual-compat-end -->6768## The three repository-wide contracts6970The repository is held together by three contracts, each codified in a baseline skill:71721. **House-style contract** — every skill follows the same shape. Source: `skill-composition-standards`, Standard 1.732. **Inputs/Outputs contract** — every skill declares the artifacts it consumes and produces. Source: `skill-composition-standards`, Standard 2.743. **Evidence contract** — every specialist skill declares which of seven fixed validation categories its artifacts contribute to, and every release produces a Release Evidence Bundle. Source: this skill.7576The three contracts stack. A skill that meets Standard 1 but skips Standard 2 or 3 is not repository-grade.7778## The seven evidence categories7980| # | Category | What the evidence proves |81|---|----------|--------------------------|82| 1 | **Correctness** | Behaviour matches spec; tests cover risk surface; contracts hold. |83| 2 | **Security** | Threat model exists; scans clean; secrets handled; auth/authorisation verified. |84| 3 | **Data safety** | Schema integrity; migration safety; backup, retention, and PII handling. |85| 4 | **Performance** | Budgets met; load profile understood; query plans acceptable. |86| 5 | **Operability** | SLOs defined; runbook exists; observability wired; rollback plan ready. |87| 6 | **UX quality** | Accessibility pass; design audit; content/UX-writing review; AI slop check. |88| 7 | **Release evidence** | Change record; migration plan; rollout/rollback log; post-deploy verification. |8990The taxonomy is closed. Adding an eighth category requires editing this skill, not silently extending it elsewhere. Full definitions and indicative contributing skills live in [references/evidence-categories.md](references/evidence-categories.md).9192## Declaration mechanic9394Specialist skills add a `## Evidence Produced` section to their `SKILL.md`, between `## Outputs` and `## References`:9596```markdown97## Evidence Produced9899| Category | Artifact | Format | Example |100|----------|----------|--------|---------|101| Security | Threat model | Markdown doc per `skill-composition-standards/references/threat-model-template.md` | `docs/security/threat-model-checkout.md` |102| Operability | Runbook | Markdown doc per `skill-composition-standards/references/runbook-template.md` | `docs/runbooks/payment-failures.md` |103```104105### Rules106107- A specialist skill that produces validation evidence **MUST** declare at least one row.108- Each row's `Category` value **MUST** be one of the seven canonical names (case-sensitive).109- Each row's `Format` field **MUST** reference an existing template or define its own format inline in the same `SKILL.md`.110- A specialist skill **MAY** contribute to multiple categories.111- Baseline skills, process skills, and pure index/orchestration skills **MUST NOT** declare.112113Worked examples live in [references/declaration-form.md](references/declaration-form.md).114115## Specialist vs exempt skills116117A skill is "specialist" for the purposes of this contract when it:118119- Produces concrete project artifacts (code patterns, schemas, configs, documents).120- Is loaded for a specific domain or platform problem rather than as a baseline frame.121122Skills exempt from declaring (non-exhaustive):123124- `world-class-engineering`, `skill-composition-standards`, `validation-contract` itself.125- `system-architecture-design`, `engineering-management-system`, `git-collaboration-workflow`.126- `feature-planning`, `spec-architect`.127- All `superpowers:*` skills.128129When a skill straddles the line, the default is **declare**. False positives are cheaper than silent omissions.130131## The Release Evidence Bundle132133When a feature or release is ready to ship, the reviewer produces a single fillable document — the Release Evidence Bundle — that links to the concrete artifacts satisfying each of the seven categories.134135- **Template:** [references/release-evidence-bundle-template.md](references/release-evidence-bundle-template.md).136- **`N/A` semantics:** permitted **only with a reason on the same line**. An empty cell is not acceptable.137- **Risk tier guidance:**138 - **Low risk** — internal tools, docs, non-user-facing scripts. Typical bundle has 3-4 categories live.139 - **Medium risk** — user-facing feature, single-tenant. All 7 categories addressed; some may be `N/A` with reason.140 - **High risk** — multi-tenant data, payments, auth, external APIs, AI features. All 7 categories live; no `N/A` permitted on Correctness, Security, Data safety, Operability, or Release evidence.141142## Strictness143144- The contract uses **MUST**, **MAY**, **MUST NOT** in the RFC 2119 sense.145- Mechanical enforcement is **out of scope** for this skill. It lands separately as a CI contract-gate hook that will:146 - parse `## Evidence Produced` tables and warn on missing or invalid categories.147 - parse Release Evidence Bundles and warn on empty cells or unjustified `N/A`.148- Authoring with binding language now means the CI hook is a parser and CI integration only, not a policy debate.149150## Integration with existing skills151152The rollout in [references/integration-rollout.md](references/integration-rollout.md) lists every edit made to other skills when this skill was introduced. Future edits that touch this contract should update that file.153154## Companion Skills155156## Inputs157158| Artefact | Required? | Purpose |159|---|---|---|160| Claimed release evidence | yes | Establish what can be verified |161| Category requirements | yes | Determine mandatory proof |162163## Capability contract164165Read and search are required to trace evidence producers and consumers. Execution is required only for machine-verifiable gates. Editing is permitted only when contract repair is authorised.166167## Degraded mode168169Fallback when evidence cannot be executed or retrieved: mark the category `unverified`; never convert missing evidence into a pass.170171## Decision rules172173| Evidence state | Release status | Action |174|---|---|---|175| Required category has verified passing evidence | Pass category | Attach artefact to bundle |176| Evidence exists but is stale or incomplete | Conditional | Refresh before release |177| Required evidence is missing or failing | Block | Do not ship |178179## Domain anti-patterns180181- Accepting a prose claim as test evidence. Fix: require the named artefact or command result.182- Reusing stale evidence after relevant code changed. Fix: rerun the producing check.183- Marking inaccessible evidence as passed. Fix: record `unverified`.184- Allowing one category to substitute for another. Fix: satisfy each mandatory category independently.185- Shipping an incomplete evidence bundle. Fix: block until required artefacts and provenance are present.186187## Companion skills188189- `skill-composition-standards` — Standards 1 and 2. Load this before `validation-contract`.190- `world-class-engineering` — repository production-readiness bar. This contract makes the evidence of meeting that bar a first-class artifact.191- Category-specific skills — the source of truth for *how* to validate within each category (see [references/evidence-categories.md](references/evidence-categories.md)).