From squid
Creates or updates GitHub pull requests for the current branch. Handles push, title/description generation from commits, and CI verification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/squid:create-prThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill handles the full PR lifecycle: push, create/update PR, code review, and CI verification. It never merges — that's always the user's decision.
This skill handles the full PR lifecycle: push, create/update PR, code review, and CI verification. It never merges — that's always the user's decision.
Run these in parallel:
git branch --show-currentgit statusgh pr list --head $(git branch --show-current) --json number,url,title,state --limit 1Stop if:
main or master — tell the user to create a feature branch first.commit-commands:commit skill).Save the branch name and whether a PR exists for the remaining steps.
Find the branch this one was created from, using this priority order:
gh pr view --json baseRefName -q .baseRefNamegit config branch.<current>.merge may name the upstream branch.for branch in main $(git branch --format='%(refname:short)' | grep -v "^$(git branch --show-current)$"); do
echo "$branch $(git merge-base HEAD $branch)"
done
Pick the branch whose merge-base commit is closest to HEAD (fewest commits between merge-base and HEAD). This correctly handles feature branches created from other feature branches.Push:
git push -u origin <current-branch>
Build title and description from commits:
git log <base>..HEAD --oneline for the commit listgit diff <base>..HEAD --stat for a file-level summaryfeat: add new data pipeline)Create the PR:
gh pr create --base <base-branch> --title "<title>" --body "$(cat <<'EOF'
## Summary
<2-3 sentence overview of what this PR does and why>
## Changes
<bullet list of key changes, grouped logically>
## Test plan
- [ ] Unit tests pass (`make unit-tests`)
- [ ] Integration tests pass (`make integration-tests`)
- [ ] Manual verification
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Print the PR URL.
Push latest commits:
git push
Read current description: gh pr view --json body,number,title
Regenerate the description — rebuild the Summary and Changes sections from the full diff (git log <base>..HEAD --oneline and git diff <base>..HEAD --stat), but preserve any sections the user added manually (look for sections not in the original template). Update with gh pr edit <number> --body "...".
Print the PR URL.
Invoke the code-review:code-review skill to review the PR diff.
If the review finds issues worth fixing:
commit-commands:commit.If the review only has minor suggestions or style nits, mention them to the user but don't block on them.
Check status (poll, don't use --watch which can hang):
gh pr checks <number>
If checks are still pending, wait briefly and re-check (up to ~5 minutes). Use gh run list --branch <branch> --limit 1 --json databaseId,status,conclusion to monitor.
On failure, get logs and diagnose:
gh run view <run-id> --log-failed
Fix the issue, commit, push, and re-check. Repeat until CI passes or you've tried 3 times (then ask the user for guidance).
After CI passes, update the PR description if any fixes were made.
Report to the user:
git pull --rebase and let the user decide.npx claudepluginhub iusztinpaul/squid --plugin squidCreates GitHub Pull Requests using GitHub CLI: detects existing PRs for branches, pushes changes, generates titles/bodies from commits. Handles monorepos/submodules. Use for /create-pr or PR/review requests.
Creates and manages GitHub pull requests via gh CLI: branch preparation, PR titles/descriptions, creation, review feedback, and merge/cleanup workflows.
Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.