Skip to content

chore: add create-pr skill (local CI pre-check before opening PRs) - #11

Merged
wine-fall merged 1 commit into
mainfrom
zachg-0704--create-pr-skill
Jul 4, 2026
Merged

chore: add create-pr skill (local CI pre-check before opening PRs)#11
wine-fall merged 1 commit into
mainfrom
zachg-0704--create-pr-skill

Conversation

@wine-fall

Copy link
Copy Markdown
Owner

Summary

Adds a repo-local create-pr skill (.claude/skills/create-pr/SKILL.md) that codifies the murmur PR workflow with a local CI pre-check as step one — run .github/scripts/check_pr.py locally with the intended title+body and require OK: before pushing, so the "Validate PR title + description" gate never fails on CI.

It captures the specifics learned the hard way on #10:

  • org PR rules — branch naming, base main, no direct push to master, squash merge, and the required ## AI coding brief section;
  • what check_pr.py enforces per commit-type — conventional title, and (for feat/fix/perf/refactor) a [spec NN] title tag + an on-disk specs/*.md path in the body;
  • a gh quirkgh pr edit --body can silently no-op on the Projects-classic GraphQL error; PATCH the body via gh api … -X PATCH -F body=@file instead.

Test plan

  • Dogfooded: this PR was opened by following the skill — the body passed check_pr.py locally (OK: … exit=0) before pushing.
  • Every command in the skill was verified live this session (local pre-check, REST-PATCH body edit, the observed gh pr edit silent no-op).
  • Meta-type PR (chore) correctly needs no spec tag/link — this PR is the proof.

AI coding brief

Original request — After PR #10's CI failed on the title/description gate (body linked "spec 02" in prose but no on-disk specs/*.md path), the human asked whether the CI check could be run locally before opening a PR, and then asked for a murmur-adapted PR skill named create-pr. Why: stop paying a CI round-trip for a format failure that is fully reproducible locally.

Manual interventions — The human drove the direction across several messages: "can't we pre-check locally before opening the PR?" → "we probably need a murmur-adapted open-pr skill" → "call it create-pr". The skill's central design (local check_pr.py as step 1) is the direct answer to that first question.

Retro — This was avoidable: the very first PR should have run check_pr.py locally before gh pr create. The lesson is now the skill's step 1, so future PRs pre-check by default. Prompting "open the PR and pre-run the CI validators locally first" up front would have skipped the whole round-trip.

🤖 Generated with Claude Code

Codifies the murmur PR workflow so the check_pr.py title/description gate is
run LOCALLY and required green before pushing — the failure mode that just cost
a CI round-trip on #10 (body linked "spec 02" but no on-disk specs/*.md path).

Captures the session's hard-won specifics: org PR rules (branch naming, base
main, no direct push to master, squash merge, required AI coding brief), what
check_pr.py enforces per commit-type, and the gh-pr-edit-silently-no-ops
workaround (PATCH the body via gh api REST instead).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@wine-fall
wine-fall force-pushed the zachg-0704--create-pr-skill branch from d9b7724 to d8b7926 Compare July 4, 2026 15:03
@wine-fall
wine-fall merged commit 238e20a into main Jul 4, 2026
3 checks passed
@wine-fall
wine-fall deleted the zachg-0704--create-pr-skill branch July 4, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant