YAS PR
SkillDev toolsLets your agent assemble a pull request following the repo's PR template and open it as a draft.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the YAS PR skill
About this skill
Assemble a pull request that follows this repo's PR template, then open it as a draft. Use when the user wants to open, create, submit, or raise a PR for the current branch.
What this skill tells your AI
The instructions your AI receives, as published by tmck-code/yet-another-statusline in .claude/skills/yas-pr/SKILL.md and read by ahel’s review.
Fill in this repo's PR template from the current branch, then open a draft PR. Do not invent the template structure — read it from the repo so the two never drift.
Steps
-
Sanity-check the branch and hooks. Confirm the current branch is not
mainand has commits ahead oforigin/main. If it'smainor has no diff, stop and tell the user. Also checkgit config --local --get core.hooksPath; if it isn't.github/hooks, offer to runmake hooksso the contributor gets pre-commit checks (don't enable it without their yes). -
Read the template. Load
.github/pull_request_template.md. This is the single source of truth for the section structure — mirror its headings exactly. -
Draft Context and Changes. From
git diff main...HEADplus the conversation:- Context — why the change is needed; the higher-level goal/problem. Link the related
issue/PRD (
.scratch/<feature>/...) if one exists. If this PR bumps the version (step 8), reference the new version number here. - Changes — what changed and how it works. Group related changes and give each group
its own
###(H3) heading. Under each heading, break the distinct points out into bullet points rather than one long run-on sentence — a wall of text is hard to read. Present these as a draft for the user to edit; don't fabricate motivation you can't infer.
- Context — why the change is needed; the higher-level goal/problem. Link the related
issue/PRD (
-
Embed system info. Run
make pr-infoand paste its output into the System info fenced block verbatim. -
Run tests. Run
uv run pytest. If green, tick the tests checkbox. If red, show the failures and ask the user whether to fix first or proceed. Optionally also runuv run ruff checkanduv run mypy .and note results. -
Benchmark. Run
make bench(times this branch vsmainvia a throwaway git worktree). Ifhyperfineis not on PATH,bench.pyprints an install hint and falls back to a Python timer — before letting it fall back, offer to install hyperfine (apt/brew/cargo) and ask the user; only fall back if they decline. Paste the paste-ready table into the Benchmark block. Tick "N/A — no performance-relevant change" instead only for docs/config-only PRs. -
Before/after screenshots. For any visible rendering/layout/glyph change, fill the Screenshots / recording section by delegating to the
pr-screenshotteragent (see its own file for what it does). Drop the table it returns verbatim into the Screenshots / recording section.- Don't render or push images yourself — that's the agent's whole job; you just place the table it returns.
- If the change isn't visible (logic/docs/config-only), skip this and tick the section's "N/A — no visible change" escape honestly.
- The agent commits + pushes to the screenshots repo's
main; flag that to the user when you present the body, since it's an outward-facing side effect of this PR flow.
-
Bump the version (only if the statusline's behaviour changed). If the diff changes the statusline tool or its behaviour — anything a user would notice (rendering, layout, glyphs, config knobs, new stats, output format) — bump the version before creating the PR. Work out the next version from the current one (
uv version --short) per semver, then runVERSION=0.X.Y make version/bump. This is an outward-facing action — it commits and pushes the bump (plugin.json,pyproject.toml,uv.lock) — so confirm the new number with the user before running it. Then reference the new version in the Context section.- Skip the bump for developer-only changes that users never see: tests, the Makefile, hooks, CI, dev deps, docs, OpenSpec specs, etc. When in doubt about whether a change is user-facing, ask rather than bumping blindly.
-
Confirm, then create the draft. Show the fully assembled body (Screenshots section already populated with the agent's table). After the user confirms, run
gh pr create --draftwith that body. Print the PR URL and tell the user to click "Ready for review" when done.
Notes
- Keep checkbox N/A escapes honest — only tick "N/A — no behaviour change" / "N/A — no visible change" when that's actually true.
gh pr create --draftis an outward-facing action: never run it before the user confirms the body.
Signals
- GitHub stars
- 242
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
yas-pr- Source
- github.com/tmck-code/yet-another-statusline