/pr-writer
Create or refresh reviewer-facing PR titles and descriptions. Use when opening a PR, updating its title or body, or preparing branch changes for review.
$ npx -y skills add getsentry/sentry-skills --skill pr-writer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pr-writer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create or refresh reviewer-facing PR titles and descriptions. Use when opening a PR, updating its title or body, or preparing branch changes for review.
SKILL.md
pr-writer.SKILL.mdname: pr-writer
description: Create or refresh reviewer-facing PR titles and descriptions. Use when opening a PR, updating its title or body, or preparing branch changes for review.
PR Writer
Write the PR body as a cover note for reviewers, not a changelog, template, validation log, or file-by-file summary.
Inspect the Change
Requires authenticated `gh`. Inspect the current branch, working tree, PR, base branch, commits, and full diff:
git branch --show-current
git status --porcelain
gh pr view --json number,title,body,url,baseRefName,headRefName
gh repo view --json defaultBranchRef
If `gh pr view` reports that no PR exists, continue with first-time PR creation. For an existing PR, use its `baseRefName`; otherwise use the repository default branch. Set `BASE`, then inspect:
git log "$BASE"..HEAD --oneline
git diff "$BASE"...HEAD
If on `main` or `master`, create a feature branch first. Ensure intended changes are committed and review the whole branch diff, not only the latest commit or existing PR text.
Core Rules
- Describe concrete changed behavior, affected surfaces, and reviewer impact
before implementation detail.
- Explain motivation, risk, tradeoffs, migration, or review focus only when
useful.
- Use the smallest structure that makes the change easier to review.
- Replace internal prompt or process terminology with specific behavior.
- When refreshing a PR, rewrite around the current full diff without narrating
review history.
Titles
Use `<type>(<scope>): <subject>` or `<type>: <subject>`.
Allowed types: `feat`, `fix`, `ref`, `perf`, `docs`, `test`, `build`, `ci`, `chore`, `style`, `meta`, `license`, and `revert`.
- Describe the dominant full-branch change with the narrowest accurate type
and scope.
- Use `!` only when the change breaks an external contract, and explain the
affected surface in the body.
- Avoid vague subjects such as `update`, `cleanup`, `misc`, `fix stuff`,
or `address feedback`. Do not add a trailing period.
- Keep an existing title only when it still describes the whole diff.
Body Shape
Choose the minimum useful shape:
| Change | Include | |--------|---------| | Small or obvious | One concise paragraph without headings. | | Feature, bug fix, or refactor | Changed behavior and effect; add root cause, unchanged behavior, or non-obvious approach when relevant. | | Contract or breaking change | Affected API, schema, payload, config, permission, storage, or CLI surface; include compatibility and migration guidance. | | Operational, visual, or workflow change | User/operator effect, measured impact, failure modes, or flow when useful. | | Broad, generated, or cross-cutting change | Organizing principle, why the breadth is necessary, and where review should start. |
Default:
<What changed and what effect it has.>
<Why the approach, risk, migration, or review focus matters, if not obvious.>
For review-feedback updates, describe the resulting PR as a whole rather than the sequence of revisions.
Reviewer Aids
Use an aid only when it reduces reviewer reconstruction work:
- A compact before/after or interface example for changed contracts.
- A small Mermaid diagram for async flows or state transitions.
- A screenshot or recording note when visual evidence exists.
- A rollout, compatibility, risk, or review-order note when reviewers or
adopters need it.
Introduce an artifact with one sentence explaining what reviewers should notice. Omit it when prose is clearer.
Boundaries
- Do not add default `Summary`, `Changes`, or `Test Plan` sections.
- Omit routine validation unless it changes risk assessment or explains
meaningful regression coverage. For docs, skills, copy, or config changes, omit it by default.
- Do not paste commands, CI logs, validation dumps, commit logs, placeholders,
or exhaustive file lists.
- Never include customer or organization names, user emails, support ticket
contents, secrets, or PII.
- Use issue references only when verified from user input, branch names,
commits, PR discussion, or tracker output. `Fixes <issue>` closes; `Refs <issue>` only links.
Create or Update
Create new PRs as drafts. Write the body to a temporary Markdown file, then run:
gh pr create --draft --title '<title>' --body-file /tmp/pr-body.md
Update existing PRs with `gh api`:
gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER \
-f title='<title>' \
-F body=@/tmp/pr-body.mdRefresh the title and body when follow-up commits materially change scope, approach, breaking behavior, risk, migration, or review expectations. Skip typo-only, formatting-only, and rename-only follow-ups.
Examples
Small change:
The AI Customizations section now starts collapsed so it does not consume
sidebar space before users need it. Expanding it preserves the existing saved
preference behavior.
Breaking contract:
Run logs now emit chunk-level records instead of one skill-level record.
Consumers that read top-level `findings` must iterate over
`chunk.findings` for each record.
Before:
```json
{"skill": "security-review", "findings": [...]}After:
{"schemaVersion": 1, "chunk": {"index": 1, "findings": [...]}}Read more
name: pr-writer description: Create or refresh reviewer-facing PR titles and descriptions. Use when opening a PR, updating its title or body, or preparing branch changes for review.
PR Writer
Write the PR body as a cover note for reviewers, not a changelog, template, validation log, or file-by-file summary.
Inspect the Change
Requires authenticated `gh`. Inspect the current branch, working tree, PR, base branch, commits, and full diff:
git branch --show-current git status --porcelain gh pr view --json number,title,body,url,baseRefName,headRefName gh repo view --json defaultBranchRef
If `gh pr view` reports that no PR exists, continue with first-time PR creation. For an existing PR, use its `baseRefName`; otherwise use the repository default branch. Set `BASE`, then inspect:
git log "$BASE"..HEAD --oneline git diff "$BASE"...HEAD
If on `main` or `master`, create a feature branch first. Ensure intended changes are committed and review the whole branch diff, not only the latest commit or existing PR text.
Core Rules
- Describe concrete changed behavior, affected surfaces, and reviewer impact
before implementation detail.
- Explain motivation, risk, tradeoffs, migration, or review focus only when
useful.
- Use the smallest structure that makes the change easier to review.
- Replace internal prompt or process terminology with specific behavior.
- When refreshing a PR, rewrite around the current full diff without narrating
review history.
Titles
Use `<type>(<scope>): <subject>` or `<type>: <subject>`.
Allowed types: `feat`, `fix`, `ref`, `perf`, `docs`, `test`, `build`, `ci`, `chore`, `style`, `meta`, `license`, and `revert`.
- Describe the dominant full-branch change with the narrowest accurate type
and scope.
- Use `!` only when the change breaks an external contract, and explain the
affected surface in the body.
- Avoid vague subjects such as `update`, `cleanup`, `misc`, `fix stuff`,
or `address feedback`. Do not add a trailing period.
- Keep an existing title only when it still describes the whole diff.
Body Shape
Choose the minimum useful shape:
| Change | Include | |--------|---------| | Small or obvious | One concise paragraph without headings. | | Feature, bug fix, or refactor | Changed behavior and effect; add root cause, unchanged behavior, or non-obvious approach when relevant. | | Contract or breaking change | Affected API, schema, payload, config, permission, storage, or CLI surface; include compatibility and migration guidance. | | Operational, visual, or workflow change | User/operator effect, measured impact, failure modes, or flow when useful. | | Broad, generated, or cross-cutting change | Organizing principle, why the breadth is necessary, and where review should start. |
Default:
<What changed and what effect it has.> <Why the approach, risk, migration, or review focus matters, if not obvious.>
For review-feedback updates, describe the resulting PR as a whole rather than the sequence of revisions.
Reviewer Aids
Use an aid only when it reduces reviewer reconstruction work:
- A compact before/after or interface example for changed contracts.
- A small Mermaid diagram for async flows or state transitions.
- A screenshot or recording note when visual evidence exists.
- A rollout, compatibility, risk, or review-order note when reviewers or
adopters need it.
Introduce an artifact with one sentence explaining what reviewers should notice. Omit it when prose is clearer.
Boundaries
- Do not add default `Summary`, `Changes`, or `Test Plan` sections.
- Omit routine validation unless it changes risk assessment or explains
meaningful regression coverage. For docs, skills, copy, or config changes, omit it by default.
- Do not paste commands, CI logs, validation dumps, commit logs, placeholders,
or exhaustive file lists.
- Never include customer or organization names, user emails, support ticket
contents, secrets, or PII.
- Use issue references only when verified from user input, branch names,
commits, PR discussion, or tracker output. `Fixes <issue>` closes; `Refs <issue>` only links.
Create or Update
Create new PRs as drafts. Write the body to a temporary Markdown file, then run:
gh pr create --draft --title '<title>' --body-file /tmp/pr-body.md
Update existing PRs with `gh api`:
gh api -X PATCH repos/{owner}/{repo}/pulls/PR_NUMBER \
-f title='<title>' \
-F body=@/tmp/pr-body.mdRefresh the title and body when follow-up commits materially change scope, approach, breaking behavior, risk, migration, or review expectations. Skip typo-only, formatting-only, and rename-only follow-ups.
Examples
Small change:
The AI Customizations section now starts collapsed so it does not consume sidebar space before users need it. Expanding it preserves the existing saved preference behavior.
Breaking contract:
Run logs now emit chunk-level records instead of one skill-level record.
Consumers that read top-level `findings` must iterate over
`chunk.findings` for each record.
Before:
```json
{"skill": "security-review", "findings": [...]}After:
{"schemaVersion": 1, "chunk": {"index": 1, "findings": [...]}}For skills to help set up Sentry in your project or debug production issues, see Agent skills for Sentry employees, following the Agent Skills open format.
Repo: getsentry/sentry-skills
Other skills on sentry-skills.
- /agents-md
Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.
Open skill - /blog-writing-guide
Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a
Open skill - /brand-guidelines
Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.
Open skill - /claude-settings-audit
Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
Open skill - /code-review
Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.
Open skill - /code-simplifier
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to "simplify code", "clean up code", "refactor for clarity", "improve readability", or review recently modified code for elegance. Focuses on
Open skill

