pr-message

pr-message is a skill for Claude Code from farhan0167/cv-claw. It costs 74 tokens per session (1,668 once invoked), scanned A, original, MIT.

A writing aid that drafts a pull-request title and Markdown description for merging the current code branch into the main branch. A pull request is a proposed code change for review before merging.

In plain words
What is it for?
Use it to prepare a pull-request message after reviewing the current branch's commits, changed files, and diff.
Why use it?
It turns the branch's commits and actual file changes into a message you can paste into GitHub. It checks the repository state so the description matches the work.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/farhan0167/cv-claw/pr-message
Any agent
npx skills add farhan0167/cv-claw --skill pr-message
Clone the repo
git clone --depth 1 https://github.com/farhan0167/cv-claw

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-message

README.md
[![agentmods](https://agentmods.dev/badge/skills/farhan0167/cv-claw/pr-message.svg)](https://agentmods.dev/skills/farhan0167/cv-claw/pr-message)
Your own site
<a href="https://agentmods.dev/skills/farhan0167/cv-claw/pr-message"><img src="https://agentmods.dev/badge/skills/farhan0167/cv-claw/pr-message.svg" alt="Measured on agentmods" height="20"></a>
Per session 74 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,668 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00074 $0.01668
Opus 5 $0.00037 $0.00834
Sonnet 5 $0.00015 $0.00334
Haiku 4.5 $0.00007 $0.00167

Measured 5d ago against content hash ffb719b5b26b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

pr-message scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/pr-message/SKILL.md · 168 lines

How it starts

The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.

pr-message

Draft a PR message for merging the current branch into main and hand the user a single fenced Markdown block they can paste into the GitHub UI or into gh pr create --body-file -.

This skill is repo-local to py-cv-claw. It does not call gh and does not open or edit PRs.

Defaults

  • base = main
  • head = the current branch (typically dev; whatever git rev-parse --abbrev-ref HEAD returns)

Print what you inferred at the top of your reply. Do not ask the user to confirm base/head unless head is main itself (in which case stop and ask — there's nothing to merge).

Procedure

  1. Discover scope. Run these in parallel and read the results:

    • git rev-parse --abbrev-ref HEAD — confirm head branch.
    • git log --oneline main..HEAD — commits on the branch.
    • git diff main...HEAD --stat — file-level shape (note the triple-dot: changes on HEAD relative to the merge base, ignoring work added to main since the branch diverged).
    • git diff main...HEAD — read enough of the actual diff to verify commit messages tell the truth. Commits sometimes mis-describe their scope; the diff is ground truth.
  2. Sanity-check the state. Stop and tell the user (don't draft) when any of these hold:

    • git log main..HEAD is empty — no commits to describe.
    • Head branch is main.
    • The branch contains merge commits from main that muddy the diff. Offer: "Want me to describe only commits authored on this branch (git log main..HEAD --no-merges), or include the merges?"
  3. Decide whether to ask for framing. Ask the user before drafting only when:

    • The diff spans clearly unrelated themes and the commit titles don't unify them (e.g. one commit is a dep bump, another is an unrelated feature, no shared narrative).
    • The diff is large (>~30 changed files) and commits are terse / generic.

    Otherwise: draft silently. Most branches in this repo are tightly themed — don't manufacture ambiguity.

Read the full file on GitHub · 168 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 168 lines · 74 tokens per session scan A ffb719b5b26b

Subscribe to this mod's changes

pr-message is a skill published in the GitHub repository farhan0167/cv-claw (4 stars, last pushed 3mo ago), licensed MIT. It adds 74 tokens to every session and 1,668 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

pr-review

Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.

oliver-kriska/claude-elixir-phoenix · 59 tokens

phx-pr-review

Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.

oliver-kriska/claude-elixir-phoenix · 61 tokens

ship

Commit, push, and optionally create or update a PR for the current staged changes. Use when the user asks to "ship", "ship it", "ship changes", "commit push and PR", or "ship this".

tobihagemann/turbo · 47 tokens

branch-and-worktree-workflow

Isolates feature work in its own branch or worktree and integrates it cleanly when done. Use this when starting work that should not disturb the current workspace, when several efforts must proceed in parallel on one repository, or when implementation is finished and the change needs merging, rebasing, or splitting…

cbrock84/headcount · 70 tokens

stage

Stage implementation changes for commit with precise file selection. Use when the user asks to "stage changes", "stage files", "add files to staging", or "prepare changes for commit".

tobihagemann/turbo · 39 tokens

commit-staged-push

Commit already-staged changes and push in one step. Use when the user asks to "commit and push staged changes", "commit and push what's staged", or "commit staged and push".

tobihagemann/turbo · 44 tokens