agentskills.codes

Push current branch changes to origin and create or update the corresponding

Install

mkdir -p .claude/skills/push-sushaantu && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15440" && unzip -o skill.zip -d .claude/skills/push-sushaantu && rm skill.zip

Installs to .claude/skills/push-sushaantu

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Push current branch changes to origin and create or update the corresponding
76 chars · catalog descriptionno explicit “when” trigger

About this skill

Push

Prerequisites

  • gh CLI is installed and available in PATH.
  • gh auth status succeeds for GitHub operations in this repo.

Goals

  • Push current branch changes to origin safely.
  • Create a PR if none exists for the branch, otherwise update the existing PR.
  • Keep branch history clean when remote has moved.

Related skills

  • pull: use this when push is rejected or the branch is stale.

Validation gate

Run the checks that match the repo's normal contribution flow before pushing:

bun run lint
bun run test

Run browser coverage too when the change is user-facing, routing-related, or otherwise browser-observable:

bun run test:e2e

If Playwright browsers are missing, install them first:

bunx playwright install --with-deps chromium

Steps

  1. Identify the current branch and confirm the remote state.
  2. Run the required validation for the scope.
  3. Push the branch to origin with upstream tracking if needed.
  4. If push is rejected because the remote moved, run the pull skill, rerun validation, and push again.
  5. If push fails because of auth, permissions, or repo rules, stop and surface the exact error.
  6. Ensure a PR exists for the branch:
    • If no PR exists, create one.
    • If a PR exists and is open, update it.
    • If the current branch is tied to a closed or merged PR, create a fresh branch and PR.
  7. Write or update a clear PR title and body that match the current diff.
  8. Reply with the PR URL from gh pr view.

Commands

branch=$(git branch --show-current)

git push -u origin HEAD

pr_state=$(gh pr view --json state -q .state 2>/dev/null || true)
if [ "$pr_state" = "MERGED" ] || [ "$pr_state" = "CLOSED" ]; then
  echo "Current branch is tied to a closed PR; create a new branch + PR." >&2
  exit 1
fi

pr_title="<clear PR title written for this change>"
if [ -z "$pr_state" ]; then
  gh pr create --fill --title "$pr_title"
else
  gh pr edit --title "$pr_title"
fi

gh pr view --json url -q .url

Notes

  • Do not use --force; use --force-with-lease only when local history was intentionally rewritten.
  • Distinguish sync problems from auth or permission problems. Use the pull skill for the former and surface the latter directly.

Search skills

Search the agent skills registry