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.zip

Installs 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 conventions
59 charsno explicit “when” trigger
Intermediate

Key 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

You give it
A branch with changes ready for a PR
You get back
A pushed branch, a new GitHub PR with a structured body, and applied labels and milestone

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:

  1. Verify the current branch is not trunk:
git branch --show-current
  1. Check the diff against trunk:
git log trunk..HEAD --oneline
git diff trunk...HEAD --stat
  1. Check non-test diff size (should be under 300 lines):
git diff trunk...HEAD --stat -- . ':!*Tests*' ':!*Test*' ':!*.generated.*'
  1. 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).
  2. Determine if RELEASE-NOTES.txt needs updating. If the change is user-facing, remind about adding a release note entry.

  3. Push the branch:

git push -u origin HEAD
  1. 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
)"
  1. Add labels. After creating the PR, add all labels in a single call using multiple --add-label flags: 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.
  2. 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.Y branch: use milestone X.Y (the frozen release milestone).
    • Apply with: gh pr edit <number> --milestone "<milestone title>"
  3. 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.

SkillInstallsUpdatedSafetyDifficulty
pr (this skill)04moReviewIntermediate
pr027dReviewAdvanced
swift-concurrency-expert44moNo flagsAdvanced
ios-dev-guidelines36moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry