payload-plugin-release
Automates the release workflow for the Payload Newsletter Plugin. Use when releasing a new version, bumping the version, or publishing to npm.
SKILL.md.claude/skills/payload-plugin-release/SKILL.md
GitHub<objective>
Execute the automated release workflow for the Payload Newsletter Plugin, ensuring proper versioning, changelog updates, and triggering GitHub Actions for npm publishing.
</objective>
<essential_principles>
- NEVER create git tags manually - GitHub Actions handles tag creation
- ALWAYS check the current date before updating changelog
- ALWAYS run typecheck before committing release changes
- Version bumps follow semantic versioning (major.minor.patch)
</essential_principles>
<intake>
What type of release?
- Patch (bug fixes) - e.g., 0.25.11 → 0.25.12
- Minor (new features, backward compatible) - e.g., 0.25.11 → 0.26.0
- Major (breaking changes) - e.g., 0.25.11 → 1.0.0
Also provide: What changes are being released? (for changelog) </intake>
<process> <step name="verify"> Run typecheck to ensure no TypeScript errors: ```bash bun typecheck ``` If errors exist, fix them before proceeding. </step> <step name="get-current-version"> Check current version: ```bash grep '"version"' package.json | head -1 ``` </step> <step name="get-date"> Get current date for changelog: ```bash date +"%Y-%m-%d" ``` </step> <step name="bump-version"> Update version in package.json based on release type: - Patch: increment last number (0.25.11 → 0.25.12) - Minor: increment middle, reset last (0.25.11 → 0.26.0) - Major: increment first, reset others (0.25.11 → 1.0.0) </step> <step name="update-changelog"> Add entry at TOP of CHANGELOG.md:## [NEW_VERSION] - YYYY-MM-DD
### Fixed/Added/Changed
- Description of changes
Categories to use:
- Added - new features
- Changed - changes in existing functionality
- Fixed - bug fixes
- Removed - removed features
- Security - security fixes</step>
GitHub Actions will automatically:
- Detect the new version
- Run tests and type checking
- Build the project
- Create the git tag
- Publish to npm
- Create a GitHub release</step>