Side Quest 13-03: Pattern
August 20, 2026 · View on GitHub
:dart: What You'll Do
Build a workflow that evaluates every new pull request against a short review checklist and posts a pass/fail summary. Reviewers can see at a glance which criteria are already met before they open the diff.
:clipboard: Before You Start
Why a Checklist Workflow?
Review checklists enforce team standards consistently. Instead of relying on every reviewer to remember to check the same things, you automate the inspection and surface the results as a comment. Reviewers can then focus their time on the things that require human judgment.
The pattern is a structured evaluation loop: for each item on the checklist, the agent decides whether the PR satisfies the criterion, explains its reasoning in one sentence, and marks it with :white_check_mark: (pass) or :warning: (needs attention).
Tip
See the pull request trigger reference for all available event types.
The Checklist Workflow
Create .github/workflows/pr-checklist.md:
---
name: PR Review Checklist
on:
pull_request:
types: [opened, synchronize]
permissions:
pull-requests: read
contents: read
safe-outputs:
add-comment:
limit: 1
---
You are a code review assistant. When a pull request is opened or updated, evaluate it
against the checklist below. For each item, write one sentence of evidence and mark it
✅ (criterion clearly met) or ⚠️ (cannot confirm from available context).
Checklist:
- **Description**: The PR description explains *what* changed and *why*.
- **Scope**: The PR is focused on a single concern (not a mix of features, fixes, and refactors).
- **Tests**: At least one test file is included or updated (based on file names).
- **Documentation**: If any public interface or user-facing file changed, a `.md` file is also present.
- **Size**: The PR touches fewer than 20 files.
Post the results as a comment on the pull request using this format:
## Review Checklist
| Criterion | Result | Evidence |
|-----------|--------|----------|
| Description | ✅ / ⚠️ | _one sentence_ |
| Scope | ✅ / ⚠️ | _one sentence_ |
| Tests | ✅ / ⚠️ | _one sentence_ |
| Documentation | ✅ / ⚠️ | _one sentence_ |
| Size | ✅ / ⚠️ | _one sentence_ |
Do not add any text outside the table and heading.
Compile and push:
gh aw compile
git add .
git commit -m "feat: add PR review checklist workflow"
git push
Test It
Open a test pull request with no description and no test files. The workflow should post a checklist with Description and Tests marked :warning:. Then update the PR description and push a new commit — the workflow fires again (on synchronize) and the checklist should re-evaluate.
Hands-On Exercise: Add a Team-Specific Criterion
The five criteria above are generic. Replace one with something meaningful for your practice repository.
Ideas:
- Changelog: A
CHANGELOG.mdentry was added or updated. - Screenshot: If any UI file changed, a screenshot is linked in the PR description.
- Ticket link: The PR title or description contains a reference to an issue number (
#NNN).
Update the checklist in the workflow brief, recompile, and open a fresh PR to verify the new criterion appears in the table.
✅ Checkpoint
- I created
.github/workflows/pr-checklist.mdwith apull_requesttrigger -
gh aw compilecompleted without errors and.lock.ymlis committed and pushed - I opened a test PR without a description and confirmed Description was marked :warning:
- I updated the PR description and confirmed the checklist refreshed on the next push
- I added at least one team-specific criterion to the checklist
- I can explain why using :white_check_mark: / :warning: instead of pass/fail makes the output more constructive