plugins/github/skills/creating-prs/SKILL.md
Creates pull requests with clear titles and well-structured descriptions — rebases onto the target branch, checks for PR templates and contributing guides, summarizes commits into a coherent narrative, and opens the PR via gh CLI. Use when opening a pull request or preparing a branch for review.
npx skillsauth add lucasilverentand/skills creating-prsInstall 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.
Use this skill proactively when work on a feature branch is done and committed. A branch with commits that hasn't been turned into a PR is unfinished work. Always confirm with the user before actually creating the PR.
git branch --show-currentgit remote get-url origin 2>/dev/null || echo "no remote"gh pr view --json number,title,url 2>/dev/null
If a PR already exists, tell the user and show the URL. Don't create a duplicate.
Always rebase before opening a PR to keep history linear.
Determine the target branch — usually main, fall back to master:
git fetch origin
git rebase origin/main
If the rebase has conflicts:
Before writing the PR, look for guidance on how this project handles PRs:
CONTRIBUTING.md or CONTRIBUTING in the repo root.github/PULL_REQUEST_TEMPLATE.md or .github/pull_request_template.md — if a template exists, fill it out instead of the default formatCLAUDE.md — check for PR conventions.github/CODEOWNERS — note who will be auto-assignedFollow any conventions found. Project-specific rules override the defaults below.
git log --oneline main..HEAD
git diff main...HEAD --stat
Read the commit messages carefully — they contain the what and why. The PR description should synthesize these, not just list them.
For larger branches, read key changed files to understand the full picture.
Check existing PR titles for the repo to match the convention:
gh pr list --state merged --limit 10 --json title --jq '.[].title'
Match whatever style is used in the project:
feat:, fix:), use themKeep titles under 70 characters. They should communicate the purpose of the whole branch.
git push -u origin HEAD
If the push is rejected after a rebase, force push — this is expected after rebasing:
git push --force-with-lease origin HEAD
Open as a draft when:
Open as ready for review when the work is complete, tests pass, and there's nothing left to do.
When in doubt, default to draft — it's easy to mark ready later.
If a PR template exists, fill it out. Otherwise use this structure:
Add --draft if opening as a draft (see step 7).
gh pr create --title "the title" --body "$(cat <<'EOF'
## Summary
Brief description of what this PR does and why. 2-3 sentences max, drawn from the commit bodies. A reviewer should understand the motivation without reading the code.
- Key change 1
- Key change 2
- Key change 3
## Test plan
- [ ] How to verify this works
- [ ] Edge cases to check
## Deploy notes
Any migration steps, environment variable changes, feature flags, or sequencing considerations for shipping this. Omit this section if there's nothing special about deploying this change.
EOF
)"
Guidelines for the body:
Closes #123, Fixes #456After creating the PR, use the monitoring-ci skill to watch CI in the background. It will diagnose and fix any failures automatically, then re-watch until green.
If gh is not installed or auth fails, print the branch name and remote URL so the user can create the PR manually.
tools
Creates, audits, and updates public open-source repository documentation, including README files, CONTRIBUTING guides, SECURITY and SUPPORT docs, project badges, quickstarts, usage guidance, community links, and contributor onboarding. Use when maintaining docs for public GitHub projects, libraries, CLIs, apps, or reusable packages, especially when the user says "update this README", "write CONTRIBUTING.md", "make these docs open-source ready", or "improve the public project docs".
development
Creates, audits, and updates private or closed-source project documentation, including internal README hubs, codebase navigation guides, ownership links, Linear initiative links, onboarding notes, runbooks, and contribution guidance for teams. Use when maintaining docs for private repositories, internal apps, services, infrastructure, or company projects, especially when the user says "make this README an internal hub", "document how to navigate this repo", "add Linear links to the docs", or "write private project documentation".
development
Creates, updates, estimates, and tidies Linear issues using Luca's issue-shaping rules. Use when the user asks to create a Linear issue, write ticket-ready issue text, refine an existing issue, add acceptance criteria, set issue relationships, estimate points, audit issue hygiene, tidy a Linear project, find duplicates, fix stale blockers, or normalize labels, milestones, priorities, and issue state.
testing
Keeps an existing Linear project tidy after planning and during execution. Use when the user asks to "tidy Linear", "clean up the project", "audit issues", "find duplicates", "check stale blockers", "fix project drift", or run periodic Linear housekeeping on a project, initiative, or milestone set. Use when planning is underway or execution has started and relationships, labels, priorities, documents, and issue states need coherence without changing product scope.