About pr-writing
pr-writing is a skill for drafting pull request titles and bodies from a repository’s local context. It guides developers through profile selection, evidence-based claims, and applicable PR sections.
Key features
- 01Repository helper script
- 02Profile-aware PR drafts
- 03Ticket-based title rules
- 04Description and test sections
- 05Unknowns labeled, not invented
Use cases
- 01Drafting a PR from branch changes
- 02Preparing frontend PRs with screenshots
- 03Writing ticket-linked PR titles
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ darknesskiller/ skills --skill pr-writingAfter installing, type/pr-writingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlscripts/pr_writer.pytest_cli.pyDetails
From the project READMEPR Writing
The helper script lives at scripts/pr_writer.py relative to this skill's directory (the harness resolves it). Run it from the user's repo with the script's absolute or skill-relative path:
python3 <skill-dir>/scripts/pr_writer.py
Steps
- Run helper or inspect branch. Done when source, target, commits, changed files known.
- Detect profile or accept
--profile. Draft with Description, Test Plan, Test Result, Links. Add Screenshot only forfrontend. - Compose title.
featadds behavior,fixrepairs,refactorrestructures. Ticket in branch or commits:<feat|fix|refactor> [TICKET-123]: concise description. No ticket:<feat|fix|refactor> (feature-name): concise description. - Every claim must be supported by local context. Unknowns labeled, not invented.
Completion: title follows the ticket rule, body has applicable headings, profile matches repo, unknowns labeled.
Commands
draft --repo-dir . [--target main] [--format toon] [--profile frontend]
Profiles
| Signal | Profile |
|---|---|
| React, Next, Vue, Nuxt, Svelte, Angular, Astro, Preact, React Native | frontend |
Flutter pubspec.yaml | frontend |
Dart pubspec.yaml | dart |
go.mod | go |
| None | generic |
Comments
Markdown supported