Skills

Commit Push PR

Commit current changes, push to remote, and create or update a pull request.

Install

npx skills add dyoshikawa/rulesync --skill commit-push-pr -g -a claude-code -y
Repository
dyoshikawa/rulesync1.6k
Category
Git and review
Updated
3d ago
License
MIT
Context cost
Lightabout 390 tokens
Runs scripts
No, instructions only

What it does

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. Commit with: git commit -m "<commit-message>"

Step 3: Push to Remote

Push the branch to remote with upstream tracking:

git push -u origin <branch-name>

Step 4: Handle Pull Request

Check if a PR already exists for this branch:

gh pr view --json number,title,body 2>/dev/null

If PR does NOT exist:

Create a new PR:

gh pr create --title "<title>" --body "<description>"

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:
gh api repos/<owner>/<repo>/pulls/<pr-number> -X PATCH -f title="<new-title>" -f body="<new-description>"

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.

More in Git and review