.agents/skills/pr/SKILL.md
INVOKE THIS SKILL before creating any PR to ensure compliance with branch naming, changelog requirements, and reviewer assignment.
npx skillsauth add Automattic/wordpress-atmosphere prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Prefix | Use |
|--------|-----|
| add/{feature} | New features |
| update/{feature} | Iterating on existing features |
| fix/{bug} | Bug fixes |
| try/{idea} | Experimental ideas |
Reserved: release/{X.Y.Z} (releases only), trunk (main branch).
Before creating a PR, you MUST complete these steps in order:
composer lint # MUST pass with zero errors
npm run env-test # MUST pass all tests
Fix any failures before proceeding. Do not create a PR with failing checks.
Every PR MUST either:
.github/changelog/ (see Changelog below), ORSkip Changelog label to the PRAdd the changelog entry as part of your initial commit, not after the PR is created. If neither changelog nor label is present, stop and ask the user which they prefer before creating the PR.
Delegate to the code-review agent to review all changes on the branch. Address any critical issues before proceeding.
Every PR must:
@me# Create PR (includes required assignment)
gh pr create --assignee @me
Use the exact template from .github/PULL_REQUEST_TEMPLATE.md — do not create custom formatting.
Write changelog messages for end users, not developers. Users read these in the WordPress plugin update screen. Avoid internal jargon (OOM, batching, N+1), class names, or method names. Describe what the user experiences or what changed from their perspective.
✅ Fix automatic cleanup of old activities failing silently on sites with many items.
✅ Add a Site Health check that warns when plugins are causing too many federation updates.
❌ Fix collection purge methods to batch deletions and enforce a hard item cap.
❌ Add Site Health test to detect excessive outbox activity rates.
End all changelog messages with punctuation.
Add manually if forgotten:
composer changelog:add
git add . && git commit -m "Add changelog entry" && git push
See release for complete changelog details.
git checkout trunk && git pull origin trunk
git checkout -b fix/notification-issue
composer lint # PHP standards (composer lint:fix to auto-fix)
npm run env-test # Run tests
git fetch origin
git rebase origin/trunk
# Resolve conflicts if any
git push --force-with-lease
Hotfixes: Branch fix/critical-issue, minimal changes, add "Hotfix" label, request expedited review.
Experimental: Use try/ prefix, mark as draft, get early feedback, convert to proper branch type once confirmed.
Multi-PR features: Create tracking issue, link all PRs, use consistent naming (add/feature-part-1, etc.), merge in order.
| Label | Use |
|-------|-----|
| Bug | Bug fixes |
| Enhancement | New features |
| Documentation | Doc updates |
| Code Quality | Refactoring, cleanup, etc. |
| Skip Changelog | No changelog needed |
| Needs Review | Ready for review |
| In Progress | Still working |
| Hotfix | Urgent fix |
development
Testing patterns for PHPUnit tests. Use when writing tests, debugging test failures, setting up test coverage, or implementing test patterns for ATmosphere features.
documentation
Version management and release processes using Jetpack Changelogger. Use when creating releases, managing changelogs, bumping versions, or preparing releases.
testing
MUST be invoked before creating any PR, pushing a branch for review, or running `gh pr create`. Covers changelog entries, branch naming, PHPCS/PHPUnit checks, and reviewer assignment.
tools
Development workflows for WordPress ATmosphere plugin including wp-env setup, testing commands, linting, and build processes. Use when setting up development environment, running tests, checking code quality, or working with wp-env.