← ClaudeAtlas

pull-requestlisted

Gate-and-create-one-PR twin of the ship skill. Enforces the project's pre-PR gates on the current branch via the shared reviewer-gates layer, then creates exactly one pull request — built-in git push + gh pr create by default, or a project-configured delegate skill — and emits pull_request.created. It gates, creates one PR, and records; it never merges, deploys, stacks multiple PRs, retries a delegate, or orchestrates. Trigger: "pull-request", "/pull-request", "open a PR", "specstudio:pull-request".
specscore/specstudio-skills · ★ 0 · Code & Development · score 73
Install: claude install-skill specscore/specstudio-skills
# Pull Request Open a pull request for the current branch only after the project's pre-PR gates pass. Pull-request **gates, creates one PR, and records** — it never merges, deploys, stacks, retries, or orchestrates. The verify gate runs *before* the PR exists, so a branch below the project's bar (e.g. failing tests or coverage) never reaches an open PR. Implements the [Pull Request Skill Feature](../../spec/features/skills/pull-request/README.md). ## When to Use - The user is on a feature branch with commits ahead of the base branch and wants to open a pull request. - The user wants the project's verify gate (tests, coverage) plus any configured review to run before the PR is created, not after CI flags it. **Refuse and redirect when:** - The current branch is the repository's default branch → print the reason and recommend creating a feature branch first. Create no PR; exit non-zero. (AC: `rejects-default-branch`) - The current branch has no commits ahead of the base branch → print "nothing to open a PR for" and create no PR; exit non-zero. (AC: `refuses-when-no-commits-ahead`) - The user asks to create the PR before the reviewer gate releases → refuse; the PR is available only after `pull_request.pre_dispatch` releases `Approved`. ## Pre-Flight Pre-flight refusals exit immediately, write nothing, create no PR, and dispatch no reviewer and no delegate. The skill operates on the **current branch only** and creates **at most one** pull request per invocation — it never