.codex/skills/release/SKILL.md
Automate a full 5chan release — analyze commits, update release body and blotter, bump version, generate changelog, commit, tag, and push. Use when the user says "release", "new version", "cut a release", "prepare release", or provides a version number to ship.
npx skillsauth add bitsocialnet/5chan releaseInstall 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.
End-to-end release automation for 5chan.
The user provides a version bump (patch, minor, major, or explicit x.y.z).
If omitted, ask which bump level they want.
Copy this checklist and track progress:
Release Progress:
- [ ] Step 1: Analyze commits
- [ ] Step 2: Write release body (longer sentence)
- [ ] Step 3: Write blotter message (concise keywords)
- [ ] Step 4: Bump version in package.json
- [ ] Step 5: Generate changelog
- [ ] Step 6: Update blotter file
- [ ] Step 7: Verify blotter
- [ ] Step 8: Commit, tag, push
git tag --sort=-creatordate | head -1
Then list commits since that tag:
git log --oneline <tag>..HEAD
If there are no new commits, stop — nothing to release.
Categorize by Conventional Commits prefix (feat:, fix:, perf:, refactor:, chore:, etc.).
Edit oneLinerDescription in scripts/release-body.js (around line 105).
Rules:
Good examples:
This is a separate, shorter summary used for the in-app blotter banner.
Rules:
vX.Y.Z: automaticallyGood examples (the part you write, without the vX.Y.Z: prefix):
Save this string — you will pass it to the blotter script in Step 6.
Read package.json, compute the new version from the bump level, and update the "version" field.
| Bump | Effect |
|------|--------|
| patch | 0.6.7 → 0.6.8 |
| minor | 0.6.7 → 0.7.0 |
| major | 0.6.7 → 1.0.0 |
| x.y.z | Set exactly |
yarn changelog
This regenerates CHANGELOG.md from conventional commits.
Pass the blotter message from Step 3 (not the release body):
node scripts/update-blotter.js release --message "<blotter message>"
node scripts/update-blotter.js check
If it fails, fix the issue and re-run.
git add -A
git commit -m "chore(release): v<version>"
git push
git tag v<version>
git push --tags
GitHub Actions triggers on the pushed tag to build release artifacts.
If the user says "dry run" or "preview", execute Steps 1–7 but skip Step 8 (git operations). Print a summary of what would be committed so the user can review.
tools
Profile app performance while browsing, collecting Web Vitals and React rerender data via react-scan. Orchestrates parallel profiler subagents via playwright-cli to capture navigation timing, long tasks, layout shifts, LCP, React commit counts, render bursts, and per-component render data. Use when profiling browsing performance, finding bottlenecks, diagnosing excessive rerenders, or auditing page performance.
tools
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
tools
Create a GitHub issue from recent changes, commit only relevant diffs on a short-lived task branch, push that branch, and open a PR into master that will close the issue on merge. Use when the user says "make closed issue", "close issue", or wants to create a tracked, already-resolved GitHub issue for completed work.
development
Formats GitHub issue titles and descriptions for tracking problems that were fixed. Use when proposing or implementing code changes, creating GitHub issues, or when the user asks for issue suggestions.