skills/pr-manager/SKILL.md
--- Skill name: pr-manager Skill description: Commit changes, create PRs, or update existing PRs. Supports Graphite stacked PRs when available. Use when committing code, creating a pull request, updating a PR, or pushing changes for review. allowed-tools: [Bash, Read, Grep, Glob] argument-hint: ticket ID (JIRA or Linear), description hints, "use standard git" to skip Graphite --- # PR Manager You are a Git/GitHub workflow automation expert specializing in efficient branch management and pull r
npx skillsauth add abhiroopb/synthetic-mind skills/pr-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Git/GitHub workflow automation expert specializing in efficient branch management and pull request creation.
Auto-detect workflow (Graphite preferred):
gt CLI exists: which gtgt repo owner 2>/dev/nullOverride: If user says "use standard git" or "skip Graphite", use Standard Workflow.
--draft flag--draftSAFE - Standalone PRs targeting master:
gh pr view --json baseRefName # Verify PR targets master
git fetch origin && git rebase origin/master && git push --force-with-lease
DANGEROUS - PRs not targeting main/master: Rebasing from master on a branch targeting another branch replays ALL commits from the entire chain, resulting in 100s of unrelated commits in your PR.
Detect non-main target:
gh pr view --json baseRefName # Check what branch PR targets
# For Graphite: gt branch info / gt ls
Safe approach for stacked PRs:
gt sync (handles rebasing correctly)gt restack after modificationsgit rebase origin/master on a stacked branchBefore creating/updating a PR, verify commit count is reasonable:
git log --oneline origin/master..HEAD # For PRs targeting master
git log --oneline <base-branch>..HEAD # For stacked PRs
Before updating any existing PR description, you MUST:
gh pr view --json body -q '.body'$USER/<description> or $USER/<ticket-id>/<description> (supports JIRA, Linear, or other ticket systems)echo $USERFollow the template in {{SKILL_DIR}}/pr-template.md (or project/user override).
Template lookup order:
.claude/pr-template.md (project-level)~/.claude/pr-template.md (user-level){{SKILL_DIR}}/pr-template.md (default)Agent signature: Use your agent's name in the signature line (e.g., "Generated with Claude Code", "Generated with Goose", "Generated with Amp").
which gt && gt repo owner 2>/dev/null
If unavailable, fall back to Standard Workflow.
gt create $USER/<name> -am "<commit message>" (or $USER/<ticket-id>/<name>)git statusgit add <file1> <file2> (NOT git add .)gt modifygt modify -c -m "<message>"-a flaggt ls and gt branch infogt submit --draftgt ss --draftgt submit does NOT accept --title or --body flags. Use --no-edit-title --no-edit-description to skip interactive prompts, then gh pr edit to set title and description:
gt submit --draft --no-edit-title --no-edit-description
gh pr edit --title "<title>" --body "<description>"
gt sync (auto-synced repos)gt restack after modificationsgit add <resolved-files>, then gt restack --continueRead feedback:
/gh-pr-read skill for gh pr view and PR comments scriptNavigate to branch:
gt ls # See stack position
gt checkout <branch> # Jump to branch with feedback
# OR: gt up / gt down
Make changes and commit:
git add <specific-files> # Stage ONLY relevant changes
gt modify # Amend + auto-restack children
gt submit # Push all affected branches
git branch --show-currentgit merge-base --is-ancestor to check if branched from main/mastergit add <file1> <file2> (NOT git add .)git push or git push -u origin <branch-name>gh pr view --json baseRefName — confirm PR targets main/master (NOT another branch)git fetch origingit rebase origin/mastergit push --force-with-leasegh pr status or gh pr viewgh pr create --draft --title "<title>" --body "..."gh pr view --json body -q '.body'gh pr edit --body "..."Graphite:
gt create $USER/<name> -am "<msg>" # Create branch + commit
gt modify # Amend staged changes
gt modify -c -m "<msg>" # New commit
gt submit --draft --no-edit-title --no-edit-description # Push and create PR
gt ss --draft --no-edit-title --no-edit-description # Submit full stack
# Then set PR metadata: gh pr edit --title "..." --body "..."
gt sync # Sync with remote
gt restack # Rebase to maintain stack
gt ls # Visualize stack
gt branch info # Show branch details
Standard:
git push -u origin <branch> # Push with tracking
gh pr create --draft # Create draft PR
gh pr edit --body "..." # Update PR description
gh pr view --json baseRefName # Check PR base branch
gh pr edit --base <parent-branch>Return the PR URL after creation/update.
Context from User: $ARGUMENTS
testing
Track TV shows and movies with Trakt.tv. Search, get watchlist, history, up-next, recommendations, trending, calendar, ratings, stats, add/remove from watchlist, mark watched, rate, and check in. Use when asked about what to watch, TV shows, movies, watch history, or Trakt.
development
Send and receive SMS messages via Twilio API. Used for text message notifications, forwarding important alerts, and two-way SMS communication.
documentation
Organizes files in the local Downloads folder into proper folders. Use when asked to organize, sort, or file downloaded documents.
tools
Book and manage appointments on Sutter Health MyHealth Online portal. Uses browser automation via Playwright MCP to interact with the patient portal.