cherryhq/gh-create-pr
Create or update GitHub pull requests using the repository-required workflow and template compliance. Use when asked to create/open/update a PR so the assistant reads `.github/pull_request_template.md`, fills every template section, preserves markdown structure exactly, and marks missing data as N/A or None instead of skipping sections.
npx skills add https://github.com/CherryHQ/cherry-studio --skill gh-create-pr
.github/pull_request_template.md before drafting the PR body.origin, but ask the user if they want to use a different remote. git push -u <remote> <head-branch>
origin: default base is main from origin, but allow the user to explicitly indicate a base branch.main is the active v2 development line. v1 maintenance fixes (head branch hotfix/*, critical user-facing bug fixes only) must target v1, not main — set the base to v1 for these.origin: check available remotes with git remote -v, default base may be upstream/main or another remote. Always assume that user wants to merge head to CherryHQ/cherry-studio/main, unless the user explicitly indicates a base branch.(avoids mktemp + Write tool path-mismatch on Windows):
pr_body_file="/tmp/gh-pr-body-$(date +%s).md"
cat > "$pr_body_file" <<'EOF'
...filled template body...
EOF
Fill content using the template structure exactly (keep section order,
headings, checkbox formatting). If not applicable, write N/A or None.
cat "$pr_body_file" (the Readtool can fail on /tmp/... paths on Windows). Show the file path and ask
for explicit confirmation before creating. Skip if the user explicitly
waives preview (automation workflows).
gh pr create --base <base> --head <head> --title "<title>" --body-file "$pr_body_file"
rm -f "$pr_body_file"| Change type | Release note | Docs [x] |
|---|---|---|
| New user-facing feature / setting / UI | Describe the change | ✅ |
| Bug fix visible to users | Describe the fix | ✅ if behavior changed |
| Behavior change / default value change | Describe + action required | ✅ |
| Security fix in a user-facing dependency | Describe the fix | ✅ if usage changed |
| CI / GitHub Actions changes | NONE | ❌ |
| Internal refactoring (user cannot tell) | NONE | ❌ |
| Dev / build tooling changes | NONE | ❌ |
| Dev-only dependency bump | NONE | ❌ |
| Test-only / code style changes | NONE | ❌ |
# read template
cat .github/pull_request_template.md
# show this full Markdown body in chat first
pr_body_file="/tmp/gh-pr-body-$(date +%s).md"
cat > "$pr_body_file" <<'EOF'
...filled template body...
EOF
cat "$pr_body_file"
# run only after explicit user confirmation
gh pr create --base <base> --head <head> --title "<title>" --body-file "$pr_body_file"
rm -f "$pr_body_file"
Take cherryhq/gh-create-pr from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.