Skip to main content

Develop To Master PR

Create a GitHub release pull request from develop to master. Use when the user asks to promote, release, merge, or raise a PR from develop into master, ensure develop has the latest remote changes, generate the PR description as release notes from commits, and then use the raise-pr skill to summarize or send the PR handoff.

Source: .agents/skills/develop-to-master-pr/SKILL.md

Metadata

  • name: develop-to-master-pr

Content

Develop To Master PR

Purpose

Create a release PR with base master and head develop, after verifying develop is current with origin/develop. Use commit history between master and develop to write the PR body as release notes, then use $raise-pr with the release note as the summary when a handoff message is needed.

Required Skills

  • Use .agents/skills/ready-pr/SKILL.md before creating or opening the PR, because repo rules require it for any GitHub PR creation.
  • Use .agents/skills/raise-pr/SKILL.md after the PR exists if the user asks to raise, send, tag, notify, or prepare a handoff message.

Workflow

  1. Confirm the repository state.
    • Run git status --short --branch.
    • If there are unrelated local changes, do not overwrite them. Continue only if the PR can be created without touching those files, or ask the user how to proceed.
  2. Fetch the latest refs.
    • Run git fetch origin develop master --prune.
    • Verify develop tracks the current remote with git rev-parse develop, git rev-parse origin/develop, and git log --oneline develop..origin/develop.
    • If develop is behind origin/develop, update it with a fast-forward only: git checkout develop then git pull --ff-only origin develop.
    • If fast-forward fails, stop and report the exact blocker. Do not merge or rebase unless the user explicitly approves.
  3. Check the release range.
    • Compare origin/master..origin/develop.
    • If there are no commits, do not create a PR. Report that develop has no unreleased commits relative to master.
  4. Generate release notes from commits.
    • Prefer the bundled helper: bun .agents/skills/develop-to-master-pr/scripts/release-notes-from-commits.ts origin/master origin/develop
    • Review the output against git log --oneline origin/master..origin/develop; edit wording for clarity, but do not invent work that is not supported by commits.
  5. Run the required PR readiness workflow.
    • Load .agents/skills/ready-pr/SKILL.md and follow it.
    • If ready-pr is blocked, stop and report the blocker instead of creating a raw PR.
  6. Create or update the PR.
    • Use base master and head develop.
    • Title format: Release: develop to master.
    • Body format:
## Release Notes

{release-note-bullets}

## Verification

{commands run, or "Not run" with reason}
  1. Use $raise-pr for the handoff.
    • If the user asked to notify or tag someone, load $raise-pr.
    • Pass the PR URL and use the release note as the Summary: content.
    • If no tagged person was explicitly named in the current request, ask who to tag before sending.

Release Note Rules

  • Group commits by Conventional Commit type when possible: feat, fix, perf, refactor, docs, test, build, ci, chore, and revert.
  • Keep user-facing changes first.
  • Include commit SHAs in the generated draft only when they help review traceability; remove noisy SHAs from the final PR body if the repository usually omits them.
  • Mention merge commits only when their subject carries meaningful release information.
  • Do not include secrets, internal credentials, or environment values from commit messages.
  • If commit messages are unclear, use the changed files or PR history to clarify, and mark uncertain items conservatively.

GitHub Commands

Use GitHub CLI when available:

gh pr create --base master --head develop --title "Release: develop to master" --body-file /tmp/develop-to-master-release-notes.md

If a PR already exists for develop into master, update it rather than creating a duplicate:

gh pr list --base master --head develop --state open
gh pr edit {pr-number-or-url} --title "Release: develop to master" --body-file /tmp/develop-to-master-release-notes.md