claude/skills/create-draft-pr/SKILL.md
Create a draft PR using the gh CLI
npx skillsauth add iainmcl/dotfiles create-draft-prInstall 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.
Create a draft PR using the gh CLI.
First inspect the status, diff, and recent commits to understand the changes.
Then check for a PR template in common locations:
.github/PULL_REQUEST_TEMPLATE.md github/pull_request_template.md, or
PULL_REQUEST_TEMPLATE.md at repo root.
If a template is found use it to base the body and fill in the summary.
If there are database migrations as part of the changes ensure that the SQL
changes even if a no-op are included in the PR description.
If the template requires a Jira link and provides a root URL, use the
root URL and find the relevant ticket number from the branch name. Git
branches are often named like APP-107366-file-safety-validation
where APP-107366 will be used for the URL - example full URL:
https://travelperk.atlassian.net/browse/APP-107366 .
If there are post deployment steps, include them in the PR description. If there are any post deployment tests that need to be run, include them in the PR description.
Do not include a description of files changed. Only describe the high level changes. If there are points that a reviewer should pay particular attention to. Then after creating the draft PR, add a comment on the specific lines explaining what should be looked at.
If outlining a test plan or equivalent do not include things like tests run, tests pass, linting run. Only include relevant things that the author or a reviewer will do to ensure the implementation work. Testing and linting will be handled by CI checks.
After reviewing the diff, evaluate whether the changes include frontend/UI modifications (e.g. component changes, styling updates, layout shifts, new pages or modals). If so, decide whether the PR would benefit from a screenshot or screen recording to help reviewers understand the visual impact.
If a screenshot or recording would add value:
gh CLI cannot upload images to PRs. Instead:
docs/screenshots/<ticket>-<description>.png
Skip this step if the changes are purely backend, configuration, or non-visual.
Sandbox note:
gh pr createfails inside the sandbox with a TLS certificate error (x509: OSStatus -26276) even withdangerouslyDisableSandbox: true. Always use the GitHub REST API viacurlinstead:
gh auth tokencurl -s -X POST \
-H "Authorization: token $(gh auth token)" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/{owner}/{repo}/pulls \
-d "{\"title\": \"...\", \"head\": \"branch-name\", \"base\": \"main\", \"draft\": true, \"body\": \"...\"}"
curl does not have the same TLS restriction and reaches GitHub successfully from within the sandbox.
Return the html_url from the response.
If the current branch is not published, push with -u.
After the PR is created, activate the check-ci skill, passing the PR URL as the argument. It will wait for all checks to complete, investigate any failures, implement fixes, and re-push automatically.
development
Run a weekly achievement review - pulls from Jira, GitHub, and Slack to capture what you shipped in the last week, maps achievements to your 2026 goals, and appends impact-focused entries to your brag doc. Use when asked to "do a weekly review", "capture this week's wins", "update my brag doc", "what did I ship this week", "record my achievements", "what have I done this week", "add to my performance doc", or anything about tracking weekly progress, brag doc entries, or performance evidence. Trigger even if the user just says "weekly review" or "document what I did".
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
tools
Set up a project update config for the current repo, so that running project-update requires no setup questions. Use when asked to "set up project updates", "configure project update", "initialise project update", or "create a project update config". Run this once per project repo.
testing
Find the highest-frequency unresolved Sentry error for the VAT & Invoicing or Billing team, understand its root cause, create a Jira ticket in the APP project, implement a fix, and open a draft PR. Use when asked to "fix sentry issues", "triage sentry errors", "look at sentry", "what's broken in sentry", "create a fix for a sentry issue", or "sentry triage". Runs the full flow autonomously in the background.