skills/pr-writer/SKILL.md
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 skillsauth add getsentry/skills pr-writerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write the PR body as a cover note for reviewers, not a changelog, template, validation log, or file-by-file summary.
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.
Use <type>(<scope>): <subject> or <type>: <subject>.
Allowed types: feat, fix, ref, perf, docs, test, build,
ci, chore, style, meta, license, and revert.
! only when the change breaks an external contract, and explain the
affected surface in the body.update, cleanup, misc, fix stuff,
or address feedback. Do not add a trailing period.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.
Use an aid only when it reduces reviewer reconstruction work:
Introduce an artifact with one sentence explaining what reviewers should notice. Omit it when prose is clearer.
Summary, Changes, or Test Plan sections.Fixes <issue> closes;
Refs <issue> only links.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.md
Refresh 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.
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:
```json
{"schemaVersion": 1, "chunk": {"index": 1, "findings": [...]}}
```
testing
Create, synthesize, and iteratively improve agent skills following the Agent Skills specification. Use when asked to "create a skill", "write a skill", "synthesize sources into a skill", "improve a skill from positive/negative examples", "update a skill", or "maintain skill docs and registration". Handles source capture, precision passes, authoring, registration, and validation.
testing
Iterate on a PR until actionable CI passes and high/medium review feedback is addressed. Use for PR CI failures, review feedback, or green-check loops; do not wait for human approval, draft status, or merge gates.
tools
Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.
development
Document and type a Sentry API endpoint. Write or fix @extend_schema decorators, specify response TypedDicts, type request parameters, correct type drift between the declared schema and the runtime response, and validate the generated spec. Use when asked to "document an endpoint", "add OpenAPI docs", "add/fix @extend_schema", "type an endpoint response", "fix the response type", "fix type drift", "reuse a response type", "split an overloaded endpoint", "specify the response schema", "add a TypedDict response", "migrate a legacy api-docs path", "fix a parameter type", or "make an endpoint public" / "promote an endpoint" (promotion is one section here).