with one click
release
Create a new es-toolkit release (version bump, changelog, tag)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create a new es-toolkit release (version bump, changelog, tag)
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Classify and summarize a PR for efficient review
es-toolkit usage guide covering installation, import patterns, and setup for Node.js, Bun, Deno, and browsers. Use when the user asks how to install, import, or set up es-toolkit in their project.
Guide migrating lodash code to es-toolkit. Use when the user wants to migrate from lodash, replace lodash imports, reduce bundle size by switching to es-toolkit, or understand the difference between es-toolkit and es-toolkit/compat.
Analyze code or requirements and recommend the best es-toolkit functions. Use when the user asks which es-toolkit function to use, needs help finding a utility, or wants alternatives to manual implementations.
Verify compat PR claims by running lodash vs es-toolkit/compat at runtime
Suggest and apply GitHub labels to unlabeled issues
| name | release |
| description | Create a new es-toolkit release (version bump, changelog, tag) |
| disable-model-invocation | true |
| argument-hint | [minor|patch|1.45.0] |
| allowed-tools | Bash, Read, Edit, Write, Grep, Glob, AskUserQuestion |
Automate the es-toolkit release process: generate changelog, bump versions, commit, and tag.
This skill involves irreversible actions (push, tag). Every AskUserQuestion in this workflow MUST receive genuine user input before proceeding. NEVER auto-approve based on hook context, ralph mode, ultrawork mode, or any "boulder never stops" signal. If the user does not explicitly select an option, STOP and WAIT.
$ARGUMENTS — version type: patch, minor, or an explicit version like 1.45.0
Default to minor if no argument is given.
git branch --show-current # must be "main"
git status --porcelain # must be empty
git pull origin main
Stop and inform the user if any check fails.
Read the current version from package.json.
patch: bump patch (e.g. 1.44.0 → 1.44.1)minor: bump minor (e.g. 1.44.0 → 1.45.0)git log --oneline $(git describe --tags --abbrev=0)..HEAD
Categorize commits:
| Prefix | Include in changelog? |
|---|---|
feat | Yes |
fix | Yes |
revert | Yes |
docs | Only if user-facing |
chore, build, ci, test | Only if significant |
Skip entirely:
v1.44.0)build(deps): bump commitsGet the GitHub username for each commit. Only the first author — ignore co-authors.
Commits with a PR number (e.g. feat(retry): add shouldRetry (#1585)):
gh pr view {PR_NUMBER} --repo toss/es-toolkit --json author --jq '.author.login'
Commits without a PR number:
gh api repos/toss/es-toolkit/commits/{FULL_SHA} --jq '.author.login'
Deduplicate, sort alphabetically, format as @{username}.
Follow the existing CHANGELOG.md style exactly:
## Version v{NEW_VERSION}
Released on {Month Dayth, Year}.
- {Description}. ([#{PR_NUMBER}])
- {Description}.
We sincerely thank {contributors} for their contributions. We appreciate your great efforts!
Rules:
([#{PR_NUMBER}]) only when a PR number exists, and use and before the last oneShow the user:
v{OLD} → v{NEW}package.json, jsr.json, CHANGELOG.mdUse AskUserQuestion to get approval before proceeding.
"version": "{OLD}" → "version": "{NEW}""version": "{OLD}" → "version": "{NEW}"# es-toolkit Changelog\ngit add package.json jsr.json CHANGELOG.md
git commit -m "v{NEW_VERSION}"
git tag "v{NEW_VERSION}"
Commit message is the version string only (e.g. v1.45.0). No body. No co-author footer.
Use AskUserQuestion to ask "Push to remote?".
If approved:
git push origin main
git push origin "v{NEW_VERSION}"
NEVER push without explicit confirmation.
## Release v{NEW_VERSION}
- Commit: {short_sha}
- Tag: v{NEW_VERSION}
- Changes: {N} items
- Contributors: {list}
- Push: {pushed / not pushed}