Skip to main content

commit-push-pr

Commit current changes, push to remote, and create or update a pull request. Use when the user wants to commit and create a PR, push changes and open a pull request, or ship their current work as a PR.

Source facts

Repository
dyoshikawa/skills
Last source activity
November 7, 2026 at 02:48
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
commit-push-pr
description
Commit current changes, push to remote, and create or update a pull request. Use when the user wants to commit and create a PR, push changes and open a pull request, or ship their current work as a PR.
# Commit, Push, and PR Management ## Step 1: Check Current Branch Run `git branch --show-current` to get the current branch name. If the current branch is `main` or `master`: 1. Generate a descriptive branch name based on the staged/unstaged changes 2. Create and switch to the new branch: `git checkout -b <new-branch-name>` ## Step 2: Stage and Commit Changes 1. Run `git status` to check for changes 2. If there are unstaged changes, stage them: `git add .` 3. Analyze the changes and create a meaningful commit message 4. Write the commit message to a file outside the working tree with the file-writing tool and commit with: `git commit -F <message file>` (free-form text inside `-m "..."` runs backticks and `$(...)` in your shell) ## Step 3: Push to Remote Push the branch to remote with upstream tracking: ```bash git push -u origin <branch-name> ``` ## Step 4: Handle Pull Request Check if a PR already exists for this branch: ```bash gh pr view --json number,title,body 2>/dev/null ``` ### If PR does NOT exist: Create a new PR: ```bash gh pr create --title '<title>' --body-file <description file> ``` Write the body to a file outside the working tree with the file-writing tool and pass it with `--body-file`. Never inline free-form text in a double-quoted `--body "..."` argument: backticks and `$(...)` — common in Markdown and in quoted issue, PR, or web text — run in your shell there. Put the title in single quotes, escaping any `'` as `'\''`. The PR description should include: - Summary of changes - Test plan (if applicable) ### If PR already exists: 1. Compare the current PR title and description with the actual changes 2. If updates are needed (e.g., scope of changes has expanded), update the PR using GitHub API: ```bash gh api repos/<owner>/<repo>/pulls/<pr-number> -X PATCH -f title='<new-title>' -F body=@<description file> ``` `-F body=@<file>` reads the description from a file written as above; keep the title in single quotes. Note: Use `gh api` instead of `gh pr edit` to avoid GraphQL deprecation warnings. 3. If no updates are needed, skip this step ## Step 5: Report Result Output the PR URL and a summary of actions taken.
View on GitHub