Creates standard-compliant PRs for WooCommerce iOS, automating release note reminders, diff validation, and label application.
Install
mkdir -p .claude/skills/pr-woocommerce && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17320" && unzip -o skill.zip -d .claude/skills/pr-woocommerce && rm skill.zipInstalls to .claude/skills/pr-woocommerce
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a pull request following WooCommerce iOS conventionsKey capabilities
- →Verify current branch is not `trunk` before PR creation
- →Check diff size against `trunk`
- →Review changes to write an accurate PR description
- →Determine if `RELEASE-NOTES.txt` needs updating for user-facing changes
- →Create a PR following WooCommerce iOS conventions with a specific template
How it works
The skill creates a pull request for WooCommerce iOS by verifying the branch, checking diff size, reviewing changes, updating release notes if needed, pushing the branch, and then creating the PR with a specific template, labels, and milestone.
Inputs & outputs
When to use pr
- →Submit an iOS feature branch
- →Add labels to a PR
- →Format PR body based on project templates
About this skill
Create a pull request following WooCommerce iOS conventions.
Steps:
- Verify the current branch is not
trunk:
git branch --show-current
- Check the diff against trunk:
git log trunk..HEAD --oneline
git diff trunk...HEAD --stat
- Check non-test diff size (should be under 300 lines):
git diff trunk...HEAD --stat -- . ':!*Tests*' ':!*Test*' ':!*.generated.*'
-
Review the changes to write an accurate description. Read modified files if needed.
- Never include actual Linear issue links (e.g.,
https://linear.app/...) in PR descriptions — Linear is an internal resource. Only reference the issue ID (e.g.,WOOMOB-2485).
- Never include actual Linear issue links (e.g.,
-
Determine if RELEASE-NOTES.txt needs updating. If the change is user-facing, remind about adding a release note entry.
-
Push the branch:
git push -u origin HEAD
- Create the PR. The description must follow the template in
.github/PULL_REQUEST_TEMPLATE.md:
gh pr create --base trunk --title "<concise title>" --body "$(cat <<'EOF'
## Description
<description of changes — why and what>
## Test Steps
<how to test>
## Screenshots
N/A
---
- [ ] I have considered if this change warrants user-facing release notes and have added them to `RELEASE-NOTES.txt` if necessary.
EOF
)"
-
Add labels. After creating the PR, add all labels in a single call using multiple
--add-labelflags:gh pr edit <number> --add-label "<label1>" --add-label "<label2>". Pick labels from these categories:- Type (pick one):
type: bug,type: crash,type: enhancement,type: task,type: technical debt,type: documentation,type: question - Feature (pick one if applicable): match the changed area to a
feature: *label (e.g.,feature: POS,feature: order list,feature: order details,feature: product details,feature: login,feature: dashboard,feature: analytics hub,feature: coupons,feature: shipping labels,feature: order creation,feature: notifications,feature: Blaze,feature: CIAB Mobile Experience,feature: subscriptions,feature: app settings, etc.) - Priority (pick one if known):
priority: low,priority: medium,priority: high,priority: critical - Category (pick any that apply):
category: accessibility,category: design,category: performance,category: tracks,category: unit tests,category: ui tests,category: tooling,category: parity,category: i18n,category: dark mode,category: tablet, etc. - If the feature is behind a flag, also add
status: feature-flagged - Infer labels from the diff and branch name. If unsure about the feature label, ask the user.
- Type (pick one):
-
Set milestone. After creating the PR, assign the correct milestone:
- List open milestones:
gh api repos/woocommerce/woocommerce-ios/milestones --jq '.[] | "\(.title)\t\(.description)"' - Each milestone description contains a
Code Freeze:date. - If the PR targets
trunk: pick the earliest milestone whose code freeze date has not yet passed (i.e., the next unfrozen milestone). - If the PR targets a
release/X.Ybranch: use milestoneX.Y(the frozen release milestone). - Apply with:
gh pr edit <number> --milestone "<milestone title>"
- List open milestones:
-
Report the PR URL.
If non-test diff exceeds 300 lines, warn that Danger will flag it and suggest splitting.
When not to use it
- →When creating a PR for a repository other than WooCommerce iOS
- →When the user does not want to follow specific diff size limits or release note update requirements
- →When the user prefers a different PR template or labeling strategy
Limitations
- →The skill is specific to WooCommerce iOS conventions
- →The PR description must follow the template in `.github/PULL_REQUEST_TEMPLATE.md`
- →The skill does not include actual Linear issue links in PR descriptions
How it compares
This skill enforces WooCommerce iOS-specific conventions for PR creation, including diff size checks, release note considerations, and a detailed labeling and milestone assignment process, which is more tailored than a generic PR workflow.
Compared to similar skills
pr side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| pr (this skill) | 0 | 4mo | Review | Intermediate |
| pr | 0 | 27d | Review | Advanced |
| swift-concurrency-expert | 4 | 4mo | No flags | Advanced |
| ios-dev-guidelines | 3 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by woocommerce
View all by woocommerce →You might also like
pr
adamayoung
Create a pull request
swift-concurrency-expert
Dimillian
Swift Concurrency review and remediation for Swift 6.2+. Use when asked to review Swift Concurrency usage, improve concurrency compliance, or fix Swift concurrency compiler errors in a feature or file.
ios-dev-guidelines
anyproto
Context-aware routing to Swift/iOS development patterns, architecture, and best practices. Use when working with .swift files, ViewModels, Coordinators, refactoring, or discussing Swift/SwiftUI patterns.
macos-spm-app-packaging
Dimillian
Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode.
swiftui-performance-developer
anyproto
Audit and improve SwiftUI runtime performance through code review and Instruments guidance. Use for diagnosing slow rendering, janky scrolling, excessive view updates, or layout thrash in SwiftUI apps.
tests-developer
anyproto
Smart router to testing patterns and practices. Use when writing unit tests, creating mocks, testing edge cases, or working with Swift Testing and XCTest frameworks.