Skip to main content

pr-checklist

Run pre-PR verification checks before creating a pull request. TRIGGER when implementation is complete and the user is ready to create or push a PR — e.g., "create a PR", "ready for review", "push this up", or running /pr-checklist. DO NOT trigger mid-implementation, during TDD cycles, when exploring code, or when the user is still writing features.

Zur Installation springen

Quellinformationen

Repository
weaties/helmlog
Letzte Quellaktivität
4. Juni 2026 um 19:29
Erkannte Sprache von SKILL.md
Englisch
Sterne
2
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
pr-checklist
description
Run pre-PR verification checks before creating a pull request. TRIGGER when implementation is complete and the user is ready to create or push a PR — e.g., "create a PR", "ready for review", "push this up", or running /pr-checklist. DO NOT trigger mid-implementation, during TDD cycles, when exploring code, or when the user is still writing features.
# /pr-checklist — Pre-PR verification The lint / format / type / test commands and the worktree-and-feature-branch rule are already in CLAUDE.md. This skill encodes only the pre-PR steps that are NOT obvious from CLAUDE.md alone — tier resolution rules with their special cases, the documentation-update map, and the per-tier checklist matrix. ## Mark issue in-progress (if not already) ```bash gh issue edit <N> --add-label "in-progress" gh issue comment <N> --body "In progress on \`<branch>\` (Claude Code on $(hostname))" ``` ## Resolve the PR's risk tier The PR's tier is the **highest** tier of any changed file. Check with `git diff --name-only main...HEAD`. | Tier | Files matching | |---|---| | **Critical** | `auth.py`, `peer_auth.py`, `federation.py`, `storage.py` (if migrations changed), `can_reader.py` | | **High** | `sk_reader.py`, `peer_api.py`, `peer_client.py`, `export.py`, `transcribe.py`, `boat_settings.py` | | **Standard** | other `.py` files | | **Low** | templates, CSS, JS, docs, config, scripts | Report the resolved tier — e.g., "This PR touches `auth.py` → **Critical**." ### Special cases - **`storage.py` migration check.** If `storage.py` is in the diff, examine the diff content — look for `schema_version`, `CREATE TABLE`, `ALTER TABLE`, or migration-dict entries. If only query methods or non-migration code changed, classify as **Standard**, not Critical. - **New / unclassified module.** Any changed `.py` not in the tier list defaults to **Standard**. Flag it: "Module `X` is not explicitly classified — defaults to Standard. Consider adding it to the Risk Tiers table in CLAUDE.md." ## Per-tier checks | Check | Critical | High | Standard | Low | |---|---|---|---|---| | Tests | Required | Required | Required | Optional | | Lint + format | Required | Required | Required | Required | | mypy | Required | Required | Required | Optional | | Integration tests | Required | If federation/PII | No | No | | `/data-license` | Required | If data/PII | No | No | | Spec review (`/spec`) | Required | No | No | No | | Complexity check | Required | Required | Required | No | | Issue linking | Required | Required | Required | Optional | For Critical-tier without an existing approved `/spec` comment on the issue, **stop and flag** — the spec must be approved before merge. ## Documentation updates If the change involved any of these, update accordingly: | Change | Update | |---|---| | New module | Project structure tree in `CLAUDE.md` | | New env vars | `.env.example` | | New CLI command | Common Commands in `CLAUDE.md` | | New stack tool | Stack & Tooling table in `CLAUDE.md` | | Schema migration | Schema version in `CLAUDE.md` Stack table | | Data handling change | Verify against `docs/data-licensing.md` | | New dependency | In `pyproject.toml` and installs via `uv sync` | | New module with risk implications | Risk Tiers table in `CLAUDE.md` | ## Complexity check Use the `/architecture` severity thresholds (Watch 200–300, Warning 300–500, Alert 500+) on changed `.py` files. Cross-reference with risk tier — Critical/High hotspots are more urgent than Standard. Also flag files that grew by more than 50 lines in this PR even if they were already over 200. ## Don't rationalize skipping a check The tier matrix is resolved by file, not by how the diff feels. Common excuses and their rebuttals: | Rationalization | Rebuttal | |---|---| | "The `storage.py` change is tiny, skip the spec." | Tier is set by file + migration content, not diff size. If migrations changed, it's Critical and needs an approved `/spec` before merge. | | "Unit tests pass — integration tests are overkill." | For federation/peer/auth/PII changes, integration tests are Required regardless of unit coverage. Run them. | | "This Pi hotfix is urgent, just commit to main." | Never. Branch + PR + merge — even for hotfixes (CLAUDE.md). Urgency is not an exception. | | "Module isn't in the tier table, so it's low-risk." | Unclassified `.py` defaults to **Standard**, not Low — and you must flag it for classification. | | "Docs are out of scope for this PR." | If you added a module / env var / CLI command / migration / dep, the documentation-update map below is part of the PR. | ## Final steps - PR body must include `Closes #N` (or `Fixes #N` for bugs). - After merge: remove the `in-progress` label (`gh issue edit <N> --remove-label "in-progress"`). - PR target is `main`. Title is concise; body has summary + test plan.
Auf GitHub ansehen