pre-pr-checklist
Skill174 starsChanged 2 months agoMITView on GitHub
Minimum-requirements checklist for any change — code or docs-only. Run this before every PR creation or push to avoid CI failures on the first attempt.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- golemcloud/golemtheir own version, first seen Oct 8, 2026
- matthewcsimpson/agentic-playbookstheir own version, first seen Jun 24, 2026
- joelbarmettlerUZH/ultrainit.shtheir own version, first seen Apr 10, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- golemcloud/golem★ 1.5ksame name
- joelbarmettlerUZH/ultrainit.sh★ 8same name
- matthewcsimpson/agentic-playbooks★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository59 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-runtimeSkill
- arc42-documentationSkill
- authoring-rolesSkill
- context-packSkill
- create-agent-skillSkill
- create-pr-azdoSkill
- create-pr-githubSkill
- detect-diagram-crossingsSkill
- flowchart_layout_optimizerSkill
- generate-demo-artifactsSkill
- generate-release-screenshotsSkill
- git-rebase-mainSkill
- merge-conflict-resolutionSkill
- next-issue-numberSkill
- pre-pr-checklistSkill
- retrospective-evidenceSkill
- run-dotnet-testsSkill
- run-uatSkill
- run-workflowSkill
- update-test-snapshotsSkill
- update-workflow-diagramSkill
- view-pr-githubSkill
- watch-uat-azdo-prSkill
- watch-uat-github-prSkill
- website-accessibility-checkSkill
- website-create-examplesSkill
- website-devtoolsSkill
- website-quality-checkSkill
- website-visual-assetsSkill
- agent-runtimeSkill
- arc42-documentationSkill
- authoring-rolesSkill
- context-packSkill
- create-agent-skillSkill
- create-pr-azdoSkill
- create-pr-githubSkill
- detect-diagram-crossingsSkill
- flowchart_layout_optimizerSkill
- generate-demo-artifactsSkill
- generate-release-screenshotsSkill
- git-rebase-mainSkill
- merge-conflict-resolutionSkill
- next-issue-numberSkill
- retrospective-evidenceSkill
- run-dotnet-testsSkill
- run-uatSkill
- run-workflowSkill
- update-test-snapshotsSkill
- update-workflow-diagramSkill
- view-pr-githubSkill
- watch-uat-azdo-prSkill
- watch-uat-github-prSkill
- website-accessibility-checkSkill
- website-create-examplesSkill
- website-devtoolsSkill
- website-quality-checkSkill
- website-visual-assetsSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 6 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Ensure every change — including simple, single-agent tasks — satisfies the repository's minimum requirements before a PR is created.
- Very specific: line 14
Mandatory: before any report_progress call (coding agents) or scripts/pr-github.sh create call (local agents) that introduces changes to …
- Distinctive: line 32
Every code/tooling PR must be anchored to a work item folder.
- Very specific: line 42
If the branch does not match any prefix, use docs/workflow/ (most internal/tooling changes fall here).
- Distinctive: line 83
If formatting errors are found, auto-fix and re-check:
- Distinctive: line 98
All errors must be resolved before proceeding.
- Very specific: line 104
Use the run-dotnet-tests skill.
- Very specific: line 112
If any file under src/tests/Oocx.TfPlan2Md.Tests/TestData/Snapshots/ changed, use the update-test-snapshots skill and include …
- Distinctive: line 144
Before creating the PR, verify:
- Distinctive: line 156
Run the same checks that CI will run, locally:
- Very specific: line 172
Before calling report_progress or scripts/pr-github.sh create, compose the PR title and description using the standard template:
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pre-PR Checklist
Purpose
Ensure every change — including simple, single-agent tasks — satisfies the repository's minimum requirements before a PR is created. This avoids predictable CI failures (release-notes guardrail, snapshot guardrail, formatting, coverage thresholds).
When to Use
Mandatory before any report_progress call (coding agents) or scripts/pr-github.sh create call (local agents) that introduces changes to the repository.
Step 0 — Determine Your Change Category
git diff --name-only origin/main...HEADCategory A — Docs/agent-tooling only (all changed files are under docs/ except docs/workflow.md, docs/spec.md and docs/development.md, .github/ or .agents/ (any subdirectory or file), website/, website.old/, assets/, tests/, scripts/, or src/tests/shell/):
→ Skip to Step 6 (Commit hygiene). Build/test/work-item checks are not required.
Category B — Code/tooling (any file in src/ (except src/tests/shell/), examples/, docs/workflow.md, docs/spec.md, README.md, CONTRIBUTING.md, or docs/development.md):
→ Complete all steps below.
Step 1 — Work Item Folder
Every code/tooling PR must be anchored to a work item folder. If you are doing a simple task without a full workflow, create a minimal one now.
Determine the folder
| Branch prefix | Folder prefix |
feature/<NNN>-... | docs/features/<NNN>-.../ |
fix/<NNN>-... | docs/issues/<NNN>-.../ |
workflow/<NNN>-... | docs/workflow/<NNN>-.../ |
If the branch does not match any prefix, use docs/workflow/ (most internal/tooling changes fall here). Use the next-issue-number skill to reserve an issue number if you don't already have one.
Create minimal required files (if missing)
docs/<type>/<NNN>-<slug>/release-notes.md — describe the change in one or two sentences. No screenshots required for simple changes:
## <Short title>
<One or two sentences describing what changed and why.>docs/<type>/<NNN>-<slug>/work-protocol.md — log your agent entry (required by the validate-work-protocol hook):
# Work Protocol: <Short title>
**Work Item:** `docs/<type>/<NNN>-<slug>/`
**Branch:** `<branch-name>`
**Workflow Type:** <Feature | Bug Fix | Workflow>
**Created:** <YYYY-MM-DD>
## Agent Work Log
### <Your Agent Name>
- **Date:** <YYYY-MM-DD>
- **Summary:** <What you did>
- **Artifacts Produced:** <Files created or modified>
- **Problems Encountered:** NoneNote: For simple single-agent changes the validate-work-protocol hook only blocks
report_progressafter the trigger agent (Code Reviewer for features/bugs; Workflow Engineer for workflow items) has logged an entry. So for single-agent tasks the hook will not block you — but the release-notes guardrail (validate-release-notes.sh) will. Bothrelease-notes.mdandwork-protocol.mdmust be present.
Step 2 — Code Formatting
dotnet format src/tfplan2md.slnx --verify-no-changes --verbosity diagnosticIf formatting errors are found, auto-fix and re-check:
dotnet format src/tfplan2md.slnx
dotnet format src/tfplan2md.slnx --verify-no-changesStep 3 — Build
dotnet build src/tfplan2md.slnx --configuration Release --no-incrementalAll errors must be resolved before proceeding.
Step 4 — Tests and Coverage
Use the run-dotnet-tests skill. The project has mandatory coverage thresholds (84.48 % line, 72.80 % branch). New code must be tested.
scripts/test-with-timeout.sh -- dotnet test --solution src/tfplan2md.slnx --configuration ReleaseSnapshot changes
If any file under src/tests/Oocx.TfPlan2Md.Tests/TestData/Snapshots/ changed, use the update-test-snapshots skill and include SNAPSHOT_UPDATE_OK in at least one commit message:
git commit --amend -m "$(git log -1 --format=%B)
SNAPSHOT_UPDATE_OK"Step 5 — Demo Artifact Regeneration
Required when any change could affect markdown rendering output:
node -e "require('child_process').execSync('dotnet run --project src/Oocx.TfPlan2Md/Oocx.TfPlan2Md.csproj -- examples/comprehensive-demo/plan.json --principals examples/comprehensive-demo/demo-principals.json --output artifacts/comprehensive-demo.md', {stdio: 'inherit'})"
npx markdownlint-cli2 artifacts/comprehensive-demo.mdOr more directly:
dotnet run --project src/Oocx.TfPlan2Md/Oocx.TfPlan2Md.csproj -- examples/comprehensive-demo/plan.json --principals examples/comprehensive-demo/demo-principals.json --output artifacts/comprehensive-demo.md
npx markdownlint-cli2 artifacts/comprehensive-demo.mdSkip this step only if the change has no effect on markdown output (e.g., internal refactoring with no observable output change, or pure tooling/docs changes).
Step 6 — Commit Hygiene
Before creating the PR, verify:
- All commits follow Conventional Commits:
type(scope): description- Valid types:
feat,fix,docs,style,refactor,perf,test,build,ci,chore,revert,workflow - For internal-only PRs (docs/scripts/agents only), use
workflow:,docs:,chore:,ci:,style:, orrefactor:— notfeat:,fix:, orperf:(those trigger version bumps)
- Valid types:
CHANGELOG.mdhas not been edited (it is auto-generated by Versionize in CI)- Working tree is clean:
git status --short
Step 7 — Local Guardrail Scripts
Run the same checks that CI will run, locally:
# Release notes guardrail
scripts/validate-release-notes.sh
# Snapshot integrity guardrail
scripts/validate-snapshot-changes.shBoth scripts default to comparing against origin/main. Fix any reported errors before pushing.
Step 8 — PR Title and Description
Before calling report_progress or scripts/pr-github.sh create, compose the PR title and description using the standard template:
## Problem
<Why is this change needed?>
## Change
<What changed?>
## Verification
<How was it validated? List the checks you ran from this checklist.>Quick Reference (Category B)
| Step | Command / Action |
| Work item folder | Create release-notes.md + work-protocol.md with agent log entry |
| Format | dotnet format src/tfplan2md.slnx --verify-no-changes |
| Build | dotnet build src/tfplan2md.slnx --configuration Release --no-incremental |
| Tests | scripts/test-with-timeout.sh -- dotnet test --solution src/tfplan2md.slnx |
| Snapshots | Use update-test-snapshots skill; add SNAPSHOT_UPDATE_OK to commit |
| Demo | dotnet run ... -- examples/comprehensive-demo/plan.json ... --output artifacts/comprehensive-demo.md |
| Lint demo | npx markdownlint-cli2 artifacts/comprehensive-demo.md |
| Guardrails | scripts/validate-release-notes.sh + scripts/validate-snapshot-changes.sh |
| Commits | Conventional Commits, no CHANGELOG.md edits |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

