Official agent skill

PR Description

by sanity-io in sanity-io/sanity

Write PR descriptions and release notes for the Sanity monorepo.

OfficialMITAuto-check passedDevelopment

Install PR Description

skills CLI
$ npx skills add sanity-io/sanity --skill pr-description -a claude-code

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

GitHub CLI
$ gh skill install sanity-io/sanity 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/sanity-io/sanity.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-description .claude/skills/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
pr-description
GitHub stars
6.4k
Token cost
~1.2k tokens
SKILL.md length
589 words
Files
1
Skills in repo
34
Repo updated
First seen
Licence
MIT

At a glance

Write PR descriptions and release notes for the Sanity monorepo.

  • Works in 4 steps: Analyze the changes → PR title → Write the PR body → …
  • Creating PRs via gh pr create
  • SKILL.md covers When creating a PR and Release notes checklist
  • Calls gh and git

What it does

PR Description is an agent skill from sanity-io/sanity, published by the product's own GitHub organization. Write PR descriptions and release notes for the Sanity monorepo. Follows the repo's PR template with Description, What to review, Testing, and Notes for release sections. Auto-triggers when creating PRs via gh pr create. Use when creating pull requests, writing PR descriptions, drafting release notes, or when user mentions PR, pull request, or release notes.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests and Changelog and release notes. The repository describes itself as: Sanity Studio – Rapidly configure content workspaces powered by structured content. The licence is MIT.

When your agent uses it

  • Creating PRs via gh pr create
  • Creating pull requests
  • Writing PR descriptions
  • Drafting release notes

Example prompts

  • “/pr-description”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Analyze the changes
  2. PR title
  3. Write the PR body
  4. Create the PR

What it can do on your machine

Read from SKILL.md and the folder at commit 73980e6. 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

    Shell commands in SKILL.md call:

    • gh
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    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

PR Description loads about 1.2k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 589 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from sanity-io/sanity at commit 73980e6, republished under its MIT licence (© sanity-io). 589 words, ~1,195 tokens.

Download SKILL.mdSave it as .claude/skills/pr-description/SKILL.md (or your agent's skills folder).
name
pr-description
description
Write PR descriptions and release notes for the Sanity monorepo. Follows the repo's PR template with Description, What to review, Testing, and Notes for release sections. Auto-triggers when creating PRs via `gh pr create`. Use when creating pull requests, writing PR descriptions, drafting release notes, or when user mentions PR, pull request, or release notes.

PR Description & Release Notes

When creating a PR

Follow the repo's PR template. Always create PRs as drafts. All AI-agent PRs must include the 🤖 bot label.

1. Analyze the changes

Before writing, understand the full diff:

bash
git log main..HEAD --oneline
git diff main...HEAD
2. PR title

Must follow conventional commits (CI-enforced):

type(scope): lowercase description
  • Types: feat, fix, chore, docs, refactor, test, perf, ci
  • Scope: package or area affected (groq, cli, form, schema, deps, etc.)
  • No backticks, quotes, or markdown in the title
  • Description starts lowercase
3. Write the PR body

Lead with why. Only elaborate on the non-obvious. The reviewer can read the diff — they need the context the diff can't give them. Default to terse; expand only where a reader would genuinely wonder.

Priorities for the Description section:

  • Heavy on why — the motivation, the problem being solved, the constraint or incident that forced this change
  • Cover why not — alternatives considered and rejected, one sentence each. This is often the most valuable part: it prevents the reviewer from suggesting a path you've already ruled out. Skip if there were no real alternatives worth mentioning
  • Light on how — only call out approach when it's non-obvious, novel, or a reviewer might reasonably have picked a different path. Skip it for routine changes where the diff speaks for itself
  • Minimal what — the diff shows what changed. One sentence of orientation at most; don't restate file-by-file changes the reviewer can see

Length test: if a sentence would tell the reviewer something they could deduce in 10 seconds from the diff, cut it. A good PR description is often 3–5 sentences total. Bulleted lists of "alternatives considered" should be one line per alternative, not a paragraph.

If you catch yourself writing "this PR renames X to Y" or "adds a new function Z", delete it. If you're explaining why X needed to be renamed or why Z exists (and why the obvious alternative wasn't chosen), keep it — but stay brief.

Use all four sections:

Description

Focus on why and why not, tersely:

  • The problem or context the diff doesn't reveal (one short paragraph)
  • Alternatives considered and why rejected (one line each, only if they were real candidates)
  • How only when non-obvious or debatable
  • What reduced to a one-line orientation
Show full SKILL.md (225 more words)Show less
What to review
  • Which files/areas matter most
  • Anything tricky or non-obvious
  • Which packages are affected (this is a monorepo)
Testing
  • Tests added or modified
  • If no automated tests: how you tested and why automation wasn't practical
Notes for release

This section is used by the docs team to write release notes.

If not needed, write one of:

  • N/A — internal-only changes
  • N/A – Part of feature X — partial implementation not yet enabled
  • N/A – Internal only — tooling/chore work

If needed, write for end users and the docs team:

  • What changed from a user perspective
  • How to use it (code snippets if applicable)
  • Limitations or breaking changes

Always end this section with a --- horizontal rule. The release-notes automation stops at the first --- after the "Notes for release" heading, so the rule fences off anything appended below (Cursor Bugbot reviews, later edits) and keeps it out of the changelog.

4. Create the PR

Always create as draft and apply the 🤖 bot label. Do not mark as ready for review until CI passes and the prompter approves.

bash
gh pr create --draft --label "🤖 bot" --title "type(scope): description" --body "$(cat <<'EOF'
### Description

[what and why]

### What to review

[guidance for reviewers]

### Testing

[tests added or manual testing explanation]

### Notes for release

[release notes or N/A]

---
EOF
)"

If the label was omitted at create time:

bash
gh pr edit --add-label "🤖 bot"

After CI is green and the prompter approves, mark ready for review:

bash
gh pr ready

Release notes checklist

  • Written for end users, not internal engineers
  • Includes code snippets for new APIs or changed behavior
  • Mentions breaking changes prominently
  • No unexplained jargon
  • Concise — a paragraph plus code example is ideal

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

Files

Just SKILL.md in .agents/skills/pr-description of sanity-io/sanity.

Open the folder on GitHubat commit 73980e6

Compare with similar skills

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.

PR Description compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Description this skillsanity-io/sanity6.4k—~1.2kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
Changesetbiomejs/biome26k—~839Automated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence

Similar skills

  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • 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.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Changeset

    biomejs/biome

    Official

    A skill your agent uses when a Biome change may affect users and you must decide whether it needs a changeset, choose the release level, or create and edit .changeset/.md release-note text.

    26k GitHub stars~839 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 today
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • AionUi Version Bump

    iOfficeAI/AionUi

    Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.

    33k GitHub stars~2.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from sanity-io/sanity

All 34 skills in this repo
  • Playwright CLI

    sanity-io/sanity

    Official

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    6.4k GitHub starsUsed in 18 repos~1.9k tokens
    Auto-check passed
  • Find Skills

    sanity-io/sanity

    Official

    Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities.

    6.4k GitHub starsUsed in 67 repos~1.2k tokens
    Auto-check passed
  • Official

    React and Next.js performance optimization guidelines from Vercel Engineering.

    6.4k GitHub starsUsed in 129 repos~1.6k tokens
    Auto-check passed
  • Before And After

    sanity-io/sanity

    Official

    Add existing screenshots or screen recordings to a GitHub pull request as a before/after or preview block.

    6.4k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • React Devtools

    sanity-io/sanity

    Official

    React DevTools CLI for AI agents. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • TDD

    sanity-io/sanity

    Official

    Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 20 repos~1k tokens
    Auto-check passed

Categories

Questions about PR Description

What does PR Description do?

Write PR descriptions and release notes for the Sanity monorepo. PR Description is an agent skill from sanity-io/sanity, published by the product's own GitHub organization. Write PR descriptions and release notes for the Sanity monorepo.

When should I use PR Description?

PR Description fits situations like: creating PRs via gh pr create; creating pull requests; writing PR descriptions; drafting release notes.

How do I install PR Description in Claude Code?

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

How do I install PR Description in Codex?

Run `npx skills add sanity-io/sanity --skill pr-description -a codex`. Or copy the skill folder (.agents/skills/pr-description in sanity-io/sanity) into .agents/skills/pr-description in your project. Codex loads it when a task matches its description.

Can I use 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 sanity-io/sanity --skill 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/pr-description, .gemini/skills/pr-description, .github/skills/pr-description and .opencode/skills/pr-description in your project.

What does PR Description need to run?

Going by SKILL.md and its folder, PR Description needs the command-line tools its instructions call (gh and git).

Does PR Description access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is 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. Review the folder before installing.

What licence does PR Description use?

PR Description is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR Description use?

About 1.2k tokens (SKILL.md is roughly 4.8k 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 PR Description?

Skills that share tags, products or a category with PR Description: StarRocks Release Notes (StarRocks/starrocks, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 103k stars), Changeset (biomejs/biome, 26k 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 PR Description?

sanity-io (a GitHub organization, an official publisher) maintains it in sanity-io/sanity, which has 6,352 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 8, 2026.

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