Create pr
Personal agent skills
npx -y skills add shuymn/skills --skill create-prAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Reviews committed changes and creates a pull request on GitHub. Use when the user wants to create a PR, push changes for review, or open a pull request. Requires a GitHub repository. Supports --japanese flag for Japanese descriptions, --base flag to specify target branch, and --update flag to update an existing PR.
SKILL.md
9.4 KB, as published. Nobody here has run it
Path Resolution
<skill-root>means the directory containing thisSKILL.md.- Resolve
scripts/...andreferences/...relative to<skill-root>, not the caller's current working directory. - When executing local helpers, use explicit paths such as
<skill-root>/scripts/....
Create Pull Request on GitHub from Committed Changes
Context
Git Information
- Current branch:
git branch --show-current - Remote branches:
git branch -r - Default branch:
git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@' - Repository root:
git rev-parse --show-toplevel - Unpushed commits:
git log origin/$(git branch --show-current)..HEAD --oneline 2>/dev/null || echo "Branch not pushed yet" - Push status:
git status -sb | head -1
Committed Changes Only
Note: Replace origin/HEAD with origin/<base-branch> if --base=<branch> is specified
- Commits different from base branch:
git log origin/HEAD..HEAD --oneline - Number of commits ahead:
git rev-list --count origin/HEAD..HEAD - Files changed in commits:
git diff --name-status origin/HEAD..HEAD - Lines added/removed:
git diff --shortstat origin/HEAD..HEAD - Full diff:
git diff origin/HEAD..HEAD
Detailed Commit History
Note: Replace origin/HEAD with origin/<base-branch> if --base=<branch> is specified
- Commit messages with body:
git log origin/HEAD..HEAD --format="### %s%n%n%b%n" - Commit authors:
git log origin/HEAD..HEAD --format="%an <%ae>" | sort | uniq
PR Templates
- GitHub template:
cat .github/pull_request_template.md 2>/dev/null || echo "No GitHub template" - Alternative template:
cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || echo ""
Project Information
- README:
cat README.md 2>/dev/null | head -50 || echo "No README"
Language Support
Default: English --japanese: Creates PR in Japanese
Base Branch Support
Default: Repository's default branch (usually main or master)
--base=<branch>: Specify target branch for the pull request
- Use
--base=<branch>to create PR against a specific branch - Default behavior: Uses repository default branch from
git symbolic-ref --short refs/remotes/origin/HEAD - Examples:
/create-pr→ Creates PR to default branch/create-pr --base=develop→ Creates PR to develop branch/create-pr --base=release/v2.0→ Creates PR to release branch/create-pr --japanese --base=develop→ Japanese PR to develop branch
Update PR Support
--update: Updates an existing pull request instead of creating a new one
- Use when you've added commits to a branch that already has an open PR
- Finds the existing PR for the current branch
- Updates PR title and description based on all commits
- Useful after addressing review comments or adding more changes
- Examples:
/create-pr --update→ Updates existing PR for current branch/create-pr --update --japanese→ Updates PR with Japanese description
- Note: Only works if an open PR exists for the current branch
- If no PR is found, will notify the user (does not create a new PR)
Your Task
Based on the above context (focusing ONLY on committed changes), create and submit a pull request on GitHub:
1. Analyze Committed Changes
- Review all commits between current branch and base branch
- Understand the intent from commit messages and diff
- Identify what changed, why it changed, and how it was verified
- Check for breaking changes, known limitations, and review-order hints
- Notice if the branch mixes unrelated work; if it does, recommend splitting instead of hiding complexity in the PR body
2. Use PR Template If Exists
- Follow template format strictly
- Fill sections based on committed changes only
- Delete empty sections
- Maintain checklist format (- [ ])
3. PR Title and Body Format
- Title: short, specific, standalone summary of what the PR does.
- Prefer imperative wording in English: "Add ...", "Remove ...", "Fix ...".
- Avoid vague titles such as "Fix bug", "Update code", "Phase 1", or "Refactor".
- Body: explain only what reviewers and future readers cannot get cheaply from the diff.
- Always cover: what changed, why it changed, and verification performed.
- Include context, trade-offs, limitations, rollout, follow-ups, or review-order hints only when relevant.
- Do not duplicate changed-file lists, commit classifications, checklist boilerplate, or obvious implementation details.
- If a PR template exists (
.github/pull_request_template.md), follow it strictly but delete empty/non-applicable optional sections when the template allows it. - Otherwise, use the concise standard format from pr-templates.md.
- For
--japanese, use the Japanese format from the same file.
4. Writing Guidelines
English:
- Use clear, concise English
- Keep code references and file paths as-is
- Be direct and professional
- Prefer short paragraphs and bullets over long prose
- Wrap @ symbols in code/paths with backticks to prevent mentions:
@import,path/@file
Japanese:
- Use appropriate technical Japanese
- Keep English proper nouns (libraries, functions) as-is
- Use clear Japanese without honorifics
- Use ですます調 for paragraph-style sentences
- For bullet points, use だ・である調 or noun-ending style (体言止め)
- Omit final punctuation in bullet points (no
。)
Escaping Rules (Important):
- For GitHub MCP tools (
mcp__github__create_pull_request,mcp__github__update_pull_request):- Pass
bodyas raw Markdown text - Do NOT escape backticks in Markdown (use
`code`, never\code``) - If generated text contains
\before backticks, normalize it to plain backticks before tool call
- Pass
- For
ghCLI commands:- Prefer
--body-fileto avoid shell-escaping issues - If inline body is unavoidable, use a single-quoted heredoc (
<<'EOF') so backticks are preserved as-is
- Prefer
5. Execution Steps
Standard Flow (Create New PR)
-
Determine base branch:
- If
--base=<branch>specified: Use the specified branch - Otherwise: Use repository default branch (
git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@')
- If
-
Ensure changes are pushed:
git push -u origin [current branch name] -
Prepare PR content:
- Generate appropriate title summarizing commits
- Create PR body following template or standard format
- Analyze commits against the determined base branch
- Apply escaping rules based on execution method (MCP vs
gh)
-
Create pull request:
mcp__github__create_pull_request: - title: [Generated title in selected language] - body: [Raw Markdown body in selected language; do NOT escape backticks] - head: [Current branch] - base: [Determined base branch from step 0] -
After creation:
- Provide PR URL
- Confirm success
- Explain any errors clearly
Update Flow (--update flag)
-
Get current branch:
git branch --show-current -
Find existing PR for current branch:
mcp__github__list_pull_requests: - state: open - head: [repository owner]:[current branch] -
Verify PR exists:
- If no PR found: Notify user and exit (do NOT create new PR)
- If PR found: Extract PR number and current base branch
-
Ensure latest changes are pushed:
git push origin [current branch name] -
Prepare updated PR content:
- Generate new title summarizing all commits
- Create new PR body following template or standard format
- Analyze all commits against the PR's base branch
- Apply escaping rules based on execution method (MCP vs
gh)
-
Update pull request:
mcp__github__update_pull_request: - pull_number: [PR number from step 2] - title: [Generated title in selected language] - body: [Raw Markdown body in selected language; do NOT escape backticks] -
After update:
- Provide PR URL
- Confirm successful update
- Explain any errors clearly
Important Notes
- ONLY analyze committed changes (ignore uncommitted work)
- Notify if no commits exist between branches
- Focus on what was committed, not work in progress
- Be concise; remove sections that add no reviewer value
- Make the title/body useful as permanent history: specific enough to find later, but not a diff transcript
- Without --update: CREATE new PR using mcp__github__create_pull_request
- With --update: UPDATE existing PR using mcp__github__update_pull_request
- With --update: If no PR exists, notify user and DO NOT create new PR
- Use AskUserQuestionTool when you need clarification on:
- Whether certain commits should be included in the PR
- How to categorize or describe ambiguous changes
- Which base branch to use if not specified and multiple options exist
- If AskUserQuestionTool is unavailable and multiple independent clarifications are needed, ask in a single message using QID labels (
Q1,Q2, ...); requireQID: <answer>responses and allowQID: OTHER(<concise detail>)when no option fits