From accelerator
Generate a comprehensive pull request description following the repository's standard template. Use when the user wants to create or update a PR description.
How this skill is triggered — by the user, by Claude, or both
Slash command
/accelerator:describe-pr [PR number or URL][PR number or URL]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
!`${CLAUDE_PLUGIN_ROOT}/scripts/config-read-context.sh`
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-context.sh
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-skill-context.sh describe-pr
PRs directory: !${CLAUDE_PLUGIN_ROOT}/scripts/config-read-path.sh prs
Tmp directory: !${CLAUDE_PLUGIN_ROOT}/scripts/config-read-path.sh tmp
IMPORTANT: Wherever {prs directory} or {tmp directory} appears in
the instructions below, substitute the actual resolved path shown above.
PR description template:
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-template.sh pr-description
You are tasked with generating a comprehensive pull request description following the repository's standard template.
gh pr view --json url,number,title,state 2>/dev/nullgh pr list --limit 10 --json number,title,headRefName,author{prs directory}/{number}-description.md already existsgh pr diff {number}gh repo set-default and select the appropriate repositorygh pr view {number} --json commitsgh pr view {number} --json baseRefNamegh pr view {number} --json url,title,number,state(ultrathink about the code changes, their architectural implications, and potential impacts)
make check test, npm test, etc.),
run it- [x]- [ ] with
explanationUse the unified pr-description template as the source of the frontmatter block:
!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-template.sh pr-description
Before writing the artifact file, capture metadata and substitute the unified base fields into the template's frontmatter block:
Invoke ${CLAUDE_PLUGIN_ROOT}/scripts/artifact-derive-metadata.sh
to obtain Current Date/Time (UTC):, Current Revision:, and
Repository Name:. Run the bare path directly as an executable;
never prefix it with bash/sh/env (a wrapper prefix escapes the
skill's allowed-tools permission and forces an unnecessary prompt). Also
capture PR-specific extras via
gh pr view <number> --json url,number,title,mergeCommit to
fill pr_url:, pr_number:, title:, and (when the PR is
merged) merge_commit:.
Substitute every field below with the indicated value:
type: ← pr-descriptionid: ← the PR number as a quoted YAML string (e.g. "42")title: ← the PR title from gh pr viewdate: ← the Current Date/Time (UTC): valueauthor: ← the author resolved per the standard chain
(config → VCS user → prompt)producer: ← describe-prstatus: ← completepr_url: ← the URL from gh pr viewpr_number: ← the PR number as a bare integermerge_commit: ← the merge commit SHA. Fill when the PR is
merged; otherwise omit the key entirely.revision: ← the Current Revision: valuerepository: ← the Repository Name: valuelast_updated: ← the same Current Date/Time (UTC): valuelast_updated_by: ← the same value resolved for authorschema_version: ← 1 (bare integer)Optional linkage/foreign-ref keys are omit-by-default:
the template shows each as ""/[], but write a key into the
artifact only when it has a value, and omit it entirely
otherwise (do not carry the empty placeholder through).
parent: ← the work item this PR implements, as a typed-linkage
ref ("work-item:NNNN"). Fill when the PR has an owning work
item; otherwise omit the key.relates_to: ← list of typed-linkage refs to related artifacts
(["work-item:NNNN", ...]). Fill when relationships are explicit;
otherwise omit the key.work_item_id: ← the linked work item's full ID (quoted). Fill
when the PR is linked to a work item; otherwise omit the key.Write the completed description with the substituted frontmatter
block to {prs directory}/{number}-description.md.
{prs directory}/{number}-description.md already
exists), regenerate the unified frontmatter rather than only updating
date:. Creation-time fields are immutable on re-run: date:,
author:, id:, pr_number:, and pr_url: are preserved verbatim
from the existing on-disk file. last_updated: is refreshed to the
new Current Date/Time (UTC): value; last_updated_by: is
rewritten to the current author per the standard resolution chain;
merge_commit: is filled if the PR is now merged. Step 3 already
handles reading the prior description for context.{prs directory}/{number}-description.md file contains YAML frontmatter
that should not appear on GitHub. Before posting, strip the frontmatter
block from the start of the file:
--- on line 1 and ends at the
next --- line (which closes the YAML block). Only match the
opening frontmatter block — do not match --- lines that appear
later in the body (e.g., markdown horizontal rules).mkdir -p {tmp directory}--- line to
{tmp directory}/pr-body-{number}.md${CLAUDE_PLUGIN_ROOT}/skills/github/describe-pr/scripts/pr-update-body.sh {number} {tmp directory}/pr-body-{number}.md
If the helper exits non-zero, surface its stderr verbatim to the
user — it includes preserved gh error text and, where applicable,
a gh repo set-default remediation hint. Exit codes:
pr-update-body.sh: stderr prefix)
OR resolver-resolution failed (pr-base-repo.sh: prefix){tmp directory}/pr-body-{number}.md!${CLAUDE_PLUGIN_ROOT}/scripts/config-read-skill-instructions.sh describe-pr
npx claudepluginhub atomicinnovation/accelerator --plugin acceleratorDrafts conventional commit PR titles and Shopware 5-section descriptions for core PRs targeting trunk. Analyzes branch against trunk, uses session context, asks for missing info.
Creates, updates descriptions, and adds comments to GitHub pull requests using file-based drafts for safety, emphasizing material impact and reviewer-friendly communication.
Generates pull request descriptions from git diffs/commits with conventional titles, summaries, checklists, metadata, and reviewer tips to aid reviews.