Skip to content
Merged
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
41 changes: 41 additions & 0 deletions .agents/definition_of_done.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Definition of Done

A completed PR must contain the items below. If an item does not apply, the PR must state `Not applicable` and give the technical reason.

## Required PR Body

The PR body must use `.github/pull_request_template.md` and preserve these sections in this order:

1. `Why does this feature exist?`
2. `What changed?`
3. `Behavioural Proof (with video and screenshots)`
4. `Verification Summary`

## Scope and Implementation

- The reason for the change is stated in user, product, or technical terms.
- The changed files and behavior are summarized precisely.
- The implementation avoids unrelated refactors, formatting churn, and hidden scope expansion.
- New configuration, migrations, permissions, dependencies, or public API changes are called out.

## Behavioural Proof

- UI behavior changes include screenshots from the branch under review.
- Flows with motion, timing, cursor behavior, audio, or multi-step interaction include video when practical.
- Screenshots and videos must show the changed behavior, not a generic happy path.
- Behaviour/E2E tests map to the user-visible behavior changed by the PR.
- Missing visual proof or E2E coverage is allowed only with a technical reason and a stated replacement verification method.

## Verification

- Format, lint, typecheck, unit, integration, and E2E checks relevant to the changed files are run after the final code change.
- Test command names and pass/fail results are listed in the PR.
- Existing unrelated failures are separated from failures introduced by the PR.
- Any skipped check includes the reason, risk, and owner for follow-up.

## Review Readiness

- Documentation is updated when behavior, setup, or operation changes.
- Security, privacy, data retention, accessibility, and performance effects are considered when relevant.
- The PR does not contain secrets, local-only paths, generated junk, or unrelated artifacts.
- The branch is ready for review only when the PR body contains concrete evidence, not placeholders.
23 changes: 23 additions & 0 deletions .agents/skills/pr-quality-contract/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: pr-quality-contract
description: Use before completing work or opening a PR in this repository.
---

# PR Quality Contract

## Steps

1. Read `.agents/definition_of_done.md` before implementation starts. Completion criterion: the PR scope, required proof, and verification commands are known before coding.
2. Map behavior changes to tests. Completion criterion: every user-visible behavior changed by the PR has an automated behavior/E2E test or an explicit technical reason it cannot be automated.
3. Produce behavioral proof for UI changes. Completion criterion: the PR contains current video and screenshots from the changed branch, or states `Not applicable` with the reason.
4. Run verification on the final branch. Completion criterion: format/lint/type/test/E2E commands relevant to the changed files have been run after the last code change.
5. Write the PR body using `.github/pull_request_template.md` exactly. Completion criterion: the PR body contains, in order, `Why does this feature exist?`, `What changed?`, `Behavioural Proof (with video and screenshots)`, and `Verification Summary`.
6. Do not mark work complete with placeholders. Completion criterion: every proof link, screenshot path, video path, test command, failure, skipped check, and residual risk is explicit.

## Evidence Rules

- Test claims require command output.
- UI behavior claims require screenshots or video from the branch under review.
- E2E claims require named scenarios and their pass/fail result.
- Skipped proof requires a technical reason, not convenience.
- Existing unrelated failures must be separated from failures introduced by the PR.
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Why does this feature exist?

-

# What changed?

-

# Behavioural Proof (with video and screenshots)

- Video:
- Screenshots:
- Behaviour tests:
- E2E mapping:

# Verification Summary

- Definition of Done:
- Commands run:
- Results:
- Known risks or skipped checks:
Loading