From contributor-writing
Drafts conventional commit PR titles and narrative descriptions for Shopware core PRs targeting non-trunk feature branches. Analyzes diffs, detects related PRs in chain, asks questions. Use for feature-branch PRs only.
How this skill is triggered — by the user, by Claude, or both
Slash command
/contributor-writing:feature-branch-pr-writingsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Draft a PR title (conventional commit format) and description (narrative prose with topical subsections) for PRs targeting non-trunk feature branches. Analyzes the diff against the target branch, detects related PRs in the chain, and asks targeted questions for missing context.
Draft a PR title (conventional commit format) and description (narrative prose with topical subsections) for PRs targeting non-trunk feature branches. Analyzes the diff against the target branch, detects related PRs in the chain, and asks targeted questions for missing context.
Output scope: Presents formatted title + description text. Does not create or update PRs on GitHub. Does not write to any files.
Determine what we're working with: branch, target, PR status, diff, and chain.
git branch --show-currenttrunk, stop: "This skill works on feature branches. Switch to a feature branch first."pr_view to read itpr_list filtered to the current branchtrunk, stop: "This PR targets trunk. Use the pr-description-writing skill for trunk-targeting PRs."pr_diff and pr_filesgit diff <target>...HEAD --stat and git log <target>..HEAD --onelinepr_list filtered to PRs targeting the same feature branch. Record titles, numbers, merge state, and any cross-references in bodies. Identify predecessor/successor relationships.Understand the full story of the branch relative to the target.
| File path pattern | Scope |
|---|---|
src/Core/Checkout/Cart/ | cart |
src/Core/Checkout/Order/ | order |
src/Core/Checkout/Promotion/ | promotion |
src/Core/Content/Product/ | product |
src/Core/Content/Media/ | media |
src/Core/Content/Category/ | category |
src/Core/Content/Cms/ | cms |
src/Core/Content/Mail/ | mail |
src/Core/Framework/DataAbstractionLayer/ | dal |
src/Core/Framework/App/ | app-system |
src/Core/System/SystemConfig/ | system-config |
src/Core/System/NumberRange/ | number-range |
src/Storefront/ | storefront |
src/Administration/ | admin |
src/Elasticsearch/ | elasticsearch |
For changes spanning multiple areas, use the scope of the primary story. If no specific scope fits, omit the parenthetical scope entirely: fix: description.
"This branch contains: (a) ..., (b) .... What's the primary story?"
Fill the gaps. Ask targeted questions only for information not in the diff, chain detection, or session context.
references/writing-rules.md to internalize style constraints and anti-slop rules.Generate the conventional commit title and narrative description.
references/description-examples.md for sizing calibration<type>(<scope>): <description>| Type | When to use |
|---|---|
fix | Bug fix |
feat | New feature or capability |
refactor | Code restructuring with no behavioral change |
perf | Performance improvement |
chore | Maintenance, dependency updates, tooling |
docs | Documentation only |
test | Test additions or corrections |
style | Code style (formatting, semicolons, etc.) |
Title description rules: imperative mood, lowercase first letter, no period, under ~60 characters after type/scope. Describe the behavioral change, not the implementation.
### subsections: each covers one concern or aspect of the change. Choose headers based on what the PR actually does, not from a fixed list. Good: "Event-based type override", "DI decentralization". Bad: "Changes", "What changed", "Updates".## References section at the end with cross-references: Ref #issue, Blocked by #PR, Follows #PR, Follow-up: #PR. Never use closes or fixes.Verify the draft against anti-slop rules, then deliver.
references/writing-rules.md, then check the draft literally (not from memory):
npx claudepluginhub shopwarelabs/ai-coding-tools --plugin contributor-writingDrafts 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.
Creates pull requests following Sentry's engineering practices, generating structured descriptions with what changed, why, and reviewer context. Requires GitHub CLI.