pr-create
Skill0 starsChanged 55 days agoMITView on GitHub
Create or update a pull request with a rich, structured description. Supports two modes: (1) orchestrated — receives a pre-filled PR description from a verifier or other source, (2) standalone — gathers context from git and fills the template itself. Handles PR mechanics: create, update, push, reviewer assignment, ticket linking.
- Commits and pushes
We split this skill into the rules it gives an agent
17 rules. 0 are common, 13 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Create or update a pull request with a structured description that helps reviewers understand what changed, what was tested, and where to …
- Very specific: line 33
If {{input}} contains a .md file path → orchestrated mode.
- Distinctive: line 40
Use the code-hosting capability.
- Distinctive: line 61
Use imperative mood: "Add", "Fix", "Update" — not "Added", "Fixed"
- Distinctive: line 64
If updating an existing PR, preserve the existing title unless the scope has changed.
- Very specific: line 72
Read the file path from {{input}}.
- Distinctive: line 86
Test plan: Check what test files were added/modified.
- Distinctive: line 98
If conventions are found, apply:
- Distinctive: line 104
If no conventions are found in any configuration source, create the PR without reviewer assignment or special conventions.
- Distinctive: line 110
Before executing (Step 5), check whether the diff touches this project's frontend code.
- Distinctive: line 116
If any files match:
- Distinctive: line 126
Use the code-hosting capability for all operations in this step.
- Distinctive: line 143
After creation, apply reviewer assignment and labels per project conventions.
- Distinctive: line 154
Update the title only if scope has changed.
- Very specific: line 173
Read resources/personal-skill.md if it exists — personal tool bindings and preferences.
- Very specific: line 174
Read resources/domain-skill.md if it exists — project-specific configuration.
- Distinctive: line 175
Check the project's CLAUDE.md / CLAUDE.local.md for environment-level capability bindings (especially code-hosting, and any shared PR …
“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PR Create
Create or update a pull request with a structured description that helps reviewers understand what changed, what was tested, and where to focus.
Input: {{input}}
Mode Detection
Determine which mode to run in:
- Orchestrated mode — a file path to a pre-filled PR description was provided (e.g.,
specs/{project}/pr-description.md). Read that file and use it as the PR body. The verifier or other upstream agent already filled the template with verification context. - Standalone mode — no pre-filled description provided. Gather context and fill the template yourself (see "Standalone Context Gathering" below).
If {{input}} contains a .md file path → orchestrated mode.
Otherwise → standalone mode.
Step 1: Gather State
Use the code-hosting capability. Default (gh CLI), run these in parallel:
git branch --show-current # current branch name
git status # uncommitted changes
git log master..HEAD --oneline # commits on this branch
gh pr list --head $(git branch --show-current) --json number,url,state --limit 1From this determine:
- Branch name and ticket ID (extract from branch prefix, e.g.,
abc-214fromabc-214-add-csv-export— seeresources/domain-skill.mdfor this project's ticket prefix pattern; skip ticket linking if none is configured) - PR exists? — if yes, this is an update; if no, this is a create
- Uncommitted changes? — if yes, commit first (ask user unless autonomy profile says otherwise)
Step 2: PR Title
Format: {TICKET}: {Short description}
- Ticket ID is UPPERCASE in the title:
abc-214branch →ABC-214: ... - Use imperative mood: "Add", "Fix", "Update" — not "Added", "Fixed"
- Keep under 70 characters
If updating an existing PR, preserve the existing title unless the scope has changed.
Step 3: PR Description
Orchestrated Mode
Read the file path from {{input}}. This is the PR body — use it directly. The template was already filled by the verifier who has the best context on testing and risk.
Standalone Mode
Fill the template yourself. Read resources/pr-description-template.md for the full template structure.
Context gathering for standalone:
git diff master...HEAD # all changes on this branchThen fill each section:
- Summary: Derive from commit messages and diff — what changed and why
- Test plan: Check what test files were added/modified. Run tests if not already green. Note coverage gaps honestly.
- Blast radius: Analyze the diff for each question in the template. Be specific about files.
- Other risks: Assess rollback safety, flag untested paths, note where reviewers should focus.
For bug fix PRs (detected from branch name containing "fix", or from commit messages), include the Root Cause and Fix addendum sections.
Step 4: Project Conventions
Load PR conventions using the standard resolution order (see "Project and User Configuration" below). Reviewer assignment, ticket-linking requirements, merge policy, and labels are typically project-wide facts shared with other skills — prefer defining them once in the project's CLAUDE.md Capability Bindings rather than duplicating them in this skill's own resources/domain-skill.md (see Interoperates With below).
If conventions are found, apply:
- Reviewer assignment — via the code-hosting capability, default (gh CLI):
gh pr edit --add-reviewer {reviewers} - Ticket linking — ensure ticket ID is in branch name and PR title
- Merge policy — note in PR if relevant (e.g., squash-only)
- Labels — apply if conventions specify them
If no conventions are found in any configuration source, create the PR without reviewer assignment or special conventions.
Step 4.5: Frontend QA Gate
Before executing (Step 5), check whether the diff touches this project's frontend code. Default pattern set, which works with no plugin at all — resources/domain-skill.md may narrow or replace it with a project-specific pattern, but the gate fires by default either way:
git diff master...HEAD --name-only -- '**/*.tsx' '**/*.jsx' '**/*.vue' '**/*.svelte' 'src/components/' 'assets/' 'app/javascript/'If any files match:
- Check for browser QA evidence, using the browser-testing capability where applicable — any of: UI system/integration tests covering the affected flows (new in the diff, or pre-existing — named in the test plan), a documented browser smoke check in the PR's test plan (pages/flows exercised, screenshot when feasible), or evidence from any other project-specific QA review process (
resources/domain-skill.mddocuments what counts). - If no evidence exists, warn: "This PR modifies frontend files but has no browser QA evidence." Include the project's specific browser-verification requirement from
resources/domain-skill.mdif one is configured, otherwise state the generic expectation: owned tests or a documented smoke check for changes to user-facing code. - In autonomous mode (no user available to confirm override): treat missing evidence as a hard block — use the browser-testing capability to perform the missing verification (at minimum a browser smoke check documented in the PR's test plan: pages/flows exercised, screenshot when feasible; an owned test if the PR adds or changes a critical user journey) before proceeding to Step 5. Do not self-authorize a skip. If no browser-testing binding is configured, say so explicitly and ask the user how to proceed rather than skipping silently.
- In interactive mode: present the warning and let the user decide whether to proceed without browser QA (acceptable for genuinely trivial changes like comment-only edits)
Step 5: Execute
Use the code-hosting capability for all operations in this step. Default (gh CLI):
Creating a New PR
git push -u origin {branch-name}Then create the PR. Use a HEREDOC for the body to preserve formatting:
gh pr create --title "{TICKET}: {title}" --body "$(cat <<'EOF'
{pr description content}
EOF
)"After creation, apply reviewer assignment and labels per project conventions.
Updating an Existing PR
gh pr edit {number} --body "$(cat <<'EOF'
{pr description content}
EOF
)"Update the title only if scope has changed.
Step 6: Report
Output:
- PR URL
- Whether this was a create or update
- Reviewers assigned (if any)
- Any warnings (uncommitted changes found, no ticket ID detected, frontend QA gate triggered, etc.)
Project and User Configuration
Load configuration in this order. When multiple sources define the same binding, the first one found wins — stop checking lower sources for that binding:
- Read
resources/personal-skill.mdif it exists — personal tool bindings and preferences. - Read
resources/domain-skill.mdif it exists — project-specific configuration. - Check the project's CLAUDE.md / CLAUDE.local.md for environment-level capability bindings (especially code-hosting, and any shared PR conventions per Interoperates With below).
- For any capability still unbound, use the defaults specified in this skill.
Extension Points
domain-skill.md
Provide project-specific PR configuration:
- Ticket ID prefix/pattern used in branch names and titles (default: none — skip ticket linking if not configured)
- Frontend QA gate: the path pattern that identifies frontend code, and what counts as browser QA evidence for this project (test frameworks used, any additional review process, and the browser-testing binding that produces or verifies it)
- Any PR conventions that genuinely belong to this skill alone (conventions shared with other skills belong in CLAUDE.md instead — see Interoperates With)
personal-skill.md
Provide personal preferences:
- Autonomy profile for handling uncommitted changes at Step 1 (ask vs. auto-commit)
- Preferred verbosity for Step 6 reporting
Example domain-skill.md excerpt for a Rails project:
# example domain-skill.md excerpt
## Ticket Prefix
`abc-` (e.g. `abc-482-fix-export`) → title prefix `ABC-482`
## Frontend QA Gate
- **Path pattern:** `src/components/`
- **browser-testing binding:** Playwright specs under `src/` for owned coverage.Interoperates With
- orchestrate (or any pipeline/orchestration skill) — when PR conventions (reviewer assignment, ticket-linking, merge policy, labels) are needed by both pr-create and a pipeline skill, define them once in the project's CLAUDE.md Capability Bindings rather than having one skill read the other's
resources/directly.
Other versions26 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 26
- strands-agents/sdk-python★ 9ksame name
- strands-agents/harness-sdk★ 8.9ksame name
- basicmachines-co/basic-memory★ 4.4ksame name
- idaholab/moose★ 2.4ksame name
- AloisSeckar/demos-java★ 25same name
- genlayerlabs/skills★ 19same name
- kanopi/cms-cultivator★ 17same name
- yasunori0418/skills★ 9same name
- BenjaminG/ai-skills★ 4same name
- hartleybrody/.agent-skills★ 4same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use pr-feedback and pr-review.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
dversozaSkillpr-feedback
Address PR review feedback including inline threads, general comments, bot-generated reviews, PR description findings, check run annotations (inline lint/type/security findings shown in the Files changed tab), code scanning alerts, and CI failures. Use when asked to handle, address, resolve, respond to, or work through PR review comments, review feedback, inline findings, or CI check failures. Triggers on requests like "address PR comments", "handle review feedback", "resolve PR reviews", "fix review comments", "go through PR feedback", "check CI failures", "fix the inline findings on the PR".
Also in 5 projects that use this
MicrosoftSkillpr-review
Verify the technical accuracy of a vscode-docs pull request against the VS Code source code in microsoft/vscode. Use when reviewing a docs PR for factual correctness: setting names, command IDs, default values, API shapes, keybindings, versioned availability, and described behavior.
Also in 7 projects that use this
In this repository43 other files it gives its agents.
- skills/technical/supabase-postgres-best-practices/AGENTS.mdAGENTS.md
- skills/technical/supabase-postgres-best-practices/CLAUDE.mdCLAUDE.md
- direct-handoffSkill
- handoffSkill
- nt-commsSkill
- threadsSkill
- meal-planningSkill
- resume-workflowSkill
- bash-scriptsSkill
- code-reviewSkill
- davinci-resolveSkill
- disk-cleanupSkill
- fastmcp-pythonSkill
- go-cliSkill
- markdown-to-pdfSkill
- qa-planSkill
- rcaSkill
- react-native-best-practicesSkill
- ruby-railsSkill
- skill-creatorSkill
- spec-checkSkill
- supabase-migrationsSkill
- supabase-postgres-best-practicesSkill
- supabase-sqlSkill
- testingSkill
- ui-state-managementSkill
- waydroid-adbSkill
- calcinatioSkill
- citationsSkill
- exploreSkill
- manual-qaSkill
- nvim-copilotSkill
- orchestrateSkill
- orthogonal-emanationSkill
- product-intent-signal-extractionSkill
- project-management-signal-extractionSkill
- request-researchSkill
- researchSkill
- skill-discoverySkill
- slack-thread-triageSkill
- specSkill
- tmux-sidecarSkill
- youtube-transcribeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

