Agent skill

Write PR Description

by tbhb in tbhb/vale-ai-tells

Write or revise the pull request description in PRAGENTDESC.md, as a forked agent that reads the branch itself.

Apache-2.0Auto-check passedDevelopment

Install Write PR Description

skills CLI
$ npx skills add tbhb/vale-ai-tells --skill write-pr-description -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tbhb/vale-ai-tells write-pr-description --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tbhb/vale-ai-tells.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/write-pr-description .claude/skills/write-pr-description && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
write-pr-description
GitHub stars
115
Token cost
~1.5k tokens
SKILL.md length
791 words
Files
4 (incl. scripts)
Skills in repo
27
Repo updated
First seen
Licence
Apache-2.0

At a glance

Write or revise the pull request description in PRAGENTDESC.md, as a forked agent that reads the branch itself.

  • Tasks that involve Pull requests
  • SKILL.md covers Arguments, Context, The shape and One question per section, plus 4 more sections
  • Runs Shell scripts from its folder; calls bash
  • Tasks that involve Commit messages

What it does

Write PR Description is an agent skill from tbhb/vale-ai-tells. Write or revise the pull request description in PRAGENTDESC.md, as a forked agent that reads the branch itself. Fills the frontmatter properties, a Conventional Commits title, and every section the repository's template declares, then runs the mechanical validator until it reports nothing before returning. The pr skill calls this to draft, fix-pr calls it after remediation commits arrive, and merge-pr calls it for a final pass. Every call pairs with review-pr-description afterwards.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/context.sh`, `scripts/guard-draft.sh` and `tokens.json`).

It sits in Development, covering Pull requests and Commit messages. The repository describes itself as: In today's rapidly evolving landscape, vale-ai-tells is a comprehensive, cutting-edge Vale style package that empowers writers to seamlessly delve into the rich tapestry of AI…. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Pull requests
  • Tasks that involve Commit messages

Example prompts

  • “/write-pr-description”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit a96c5fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Write PR Description loads about 1.5k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 791 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from tbhb/vale-ai-tells at commit a96c5fe, republished under its Apache-2.0 licence (© tbhb). 791 words, ~1,491 tokens.

Download SKILL.mdSave it as .claude/skills/write-pr-description/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
write-pr-description
description
Write or revise the pull request description in PR_AGENTDESC.md, as a forked agent that reads the branch itself. Fills the frontmatter properties, a Conventional Commits title, and every section the repository's template declares, then runs the mechanical validator until it reports nothing before returning. The pr skill calls this to draft, fix-pr calls it after remediation commits arrive, and merge-pr calls it for a final pass. Every call pairs with review-pr-description afterwards.
license
Apache-2.0
context
fork
agent
general-purpose
background
false

Write a pull request description

Write PR_AGENTDESC.md at the repository root, then return. You run forked, so the branch diff sits in your context rather than the caller's. Read the material below and write from it.

Arguments

$ARGUMENTS carries the repository root, and after it whatever the caller wants addressed. A first draft arrives with nothing extra. A revision includes the findings review-pr-description returned, or a note that remediation added commits the description hasn't caught up with.

Treat any findings in the arguments as the work. Resolve each one and say so.

Context

!bash ${CLAUDE_SKILL_DIR}/scripts/context.sh

The shape

Write the file in exactly this order.

text
---
base: <branch this merges into>
draft: <true or false>
labels: [<one or more from the set above>]
reviewers: []
assignees: []
milestone:
---

# <type>(<scope>)?: <description>

## <first template section>

<prose>

Those frontmatter keys and no others. Labels take a flow sequence and an empty one fails the validator, because nobody's filter finds an unlabelled pull request.

The title is a level 1 heading in the Conventional Commits shape. A squash merge turns it into the commit subject on the default branch, so its type has to be one the landing commits use, and it names what the whole branch does rather than what the last commit did.

Then every section the template declares, in the template's order, filled with prose. Replace each instructional comment rather than leaving it in place.

One question per section

The sections answer different questions, so don't let them repeat each other. Summary says what changes. Why says what problem made it necessary. Verification names the commands you actually ran, in backticks. Risk says what breaks if this is wrong and how to back it out. Related points at issues, or says None.

Avoid:

  • Restating the diff. A reviewer reads the diff already.
  • Counting. No file, line, test, or commit counts.
  • Provenance filler. Nothing about requests, sessions, prompts, models, or tools.
  • Claims you haven't checked, including verification nobody ran.
  • Selling it. Drop robust, comprehensive, significantly, and their neighbors.
  • Paths that don't exist. Every backticked path gets resolved against the tree and the diff.

Revising rather than starting over

Where a draft already exists, the context printed it earlier. Keep the sentences that still hold. A revision that rewrites untouched prose costs the caller another review round for nothing, and it loses wording an earlier review already cleared.

A finding names one instance of a fault rather than the fault itself. Fix the instance, then read the rest of the draft for the same fault, because a reviewer that found one instance finds the next one on the next round. That sweep isn't the rewriting this section warns against, since it changes a sentence only where the sentence is wrong.

Where the published description differs from the draft, the branch has moved since the last publish. Bring the draft forward rather than reverting it to what GitHub shows.

Show full SKILL.md (336 more words)Show less

Read the draft back before returning

The validator covers what a script can check. What follows is what the reviewer sends drafts back for, and the context printed earlier already holds the answer to each, so a round trip spent on one buys nothing.

Closed enumerations. A sentence naming the kinds of change on the branch claims to name every one, and a reviewer reads it that way. Walk the changed-file listing against every sentence of that shape, and confirm the sentence covers each path or that you left the path out on purpose. Where you can't confirm it, write the sentence open, so it claims only what you checked.

Scope words. only, every, never, and the one place each make a claim about the files you didn't quote. Open the file and establish the scope before writing one. A setting described as mattering on one CI slot is a claim about every other slot, and the workflow in the diff either bears that out or doesn't.

The Avoid list earlier in this document. Read the finished draft against it once. Following a rule while writing and satisfying it in the finished text are different things.

Run the validator before returning

text
bash .claude/skills/pr/scripts/validate-description.sh

Run it, fix every finding, and run it again until it prints nothing. Each finding names a line and the correction.

Returning a draft that fails the validator spends a review round on something a script settles by itself, and the caller only has to send you back, so treat this as part of writing rather than a step after it.

What to return

Return this block and stop there. Skip the preamble and the praise, and leave the description itself for the caller to read off disk.

text
DRAFT: WRITTEN

changed: <what you altered, one line per item, or "first draft">
addressed: <each finding from the arguments and how, or "nothing requested">

or, when the branch or the repository makes drafting impossible:

text
DRAFT: BLOCKED

reason: <what stopped you>

Blocked covers a branch with nothing to land, a missing template, and a validator finding you can't resolve without a decision the caller has to make. It doesn't cover a validator finding you simply haven't fixed yet.

© tbhb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in .claude/skills/write-pr-description of tbhb/vale-ai-tells.

  • SKILL.md
  • scripts/context.sh
  • scripts/guard-draft.sh
  • tokens.json

Open the folder on GitHubat commit a96c5fe

Compare with similar skills

Write PR Description next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Write PR Description compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Write PR Description this skilltbhb/vale-ai-tells115—~1.5kAutomated safety check: PassApache-2.0
PR Finalize Reviewmicrosoft/garnet12k—~3.1kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Emoji Commit ConventionsbaptisteArno/typebot.io11k—~424Automated safety check: PassCustom licence

Similar skills

  • PR Finalize Review

    microsoft/garnet

    Official

    Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.

    12k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commit And PR Messages

    superplanehq/superplane

    Write Git commit messages and pull request titles/descriptions using the Chris Beams / Tim Pope conventions (subject/body split, ~50-char subject, imperative mood, why-not-how body) plus ASD-STE100…

    7.7k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed

More from tbhb/vale-ai-tells

All 27 skills in this repo
  • Analyze Session

    tbhb/vale-ai-tells

    Query a Claude Code transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.

    115 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Codex Analyze Session

    tbhb/vale-ai-tells

    Query a Codex transcript without reading it into context, then write the retrospective to disk so it remains available after the session ends.

    115 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Codex Fix PR

    tbhb/vale-ai-tells

    Diagnose failing pull request checks, reproduce them locally, make focused fixes, commit them through codex-commit, and refresh the published description when needed.

    115 GitHub stars~575 tokensUpdated today
    Auto-check passed
  • Codex Merge PR

    tbhb/vale-ai-tells

    Squash merge a pull request. An agent skill from tbhb/vale-ai-tells.

    115 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Codex PR

    tbhb/vale-ai-tells

    Open or update a pull request for the current branch with an independently drafted and reviewed PRAGENTDESC.md.

    115 GitHub stars~846 tokensUpdated today
    Auto-check passed
  • Codex Rebase

    tbhb/vale-ai-tells

    Replay the current branch onto its base and establish that the result is sound.

    115 GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Write PR Description

What does Write PR Description do?

Write or revise the pull request description in PRAGENTDESC.md, as a forked agent that reads the branch itself. Write PR Description is an agent skill from tbhb/vale-ai-tells.md, as a forked agent that reads the branch itself.

When should I use Write PR Description?

Write PR Description fits situations like: tasks that involve Pull requests; tasks that involve Commit messages.

How do I install Write PR Description in Claude Code?

Run `npx skills add tbhb/vale-ai-tells --skill write-pr-description -a claude-code`. Or copy the skill folder (.claude/skills/write-pr-description in tbhb/vale-ai-tells) into .claude/skills/write-pr-description in your project. Claude Code loads it when a task matches its description.

How do I install Write PR Description in Codex?

Run `npx skills add tbhb/vale-ai-tells --skill write-pr-description -a codex`. Or copy the skill folder (.claude/skills/write-pr-description in tbhb/vale-ai-tells) into .agents/skills/write-pr-description in your project. Codex loads it when a task matches its description.

Can I use Write PR Description in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tbhb/vale-ai-tells --skill write-pr-description -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/write-pr-description, .gemini/skills/write-pr-description, .github/skills/write-pr-description and .opencode/skills/write-pr-description in your project.

What does Write PR Description need to run?

Going by SKILL.md and its folder, Write PR Description needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell.

Does Write PR Description access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Write PR Description safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Write PR Description use?

Write PR Description is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Write PR Description use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Write PR Description?

Skills that share tags, products or a category with Write PR Description: PR Finalize Review (microsoft/garnet, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Write PR Description?

tbhb (a GitHub user) maintains it in tbhb/vale-ai-tells, which has 115 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.

Source: tbhb/vale-ai-tells on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.