.opencode/skills/prepare-release/SKILL.md
Prepare a Userli release by generating changelog entries from merged PRs, updating CHANGELOG.md and UPGRADE.md, and creating a draft release PR
npx skillsauth add systemli/userli prepare-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.
You are preparing a new Userli release. Follow these steps precisely.
Extract the target version from the user's prompt (e.g. "Prepare Userli Release 6.2.0" -> 6.2.0).
If no version is provided, ask the user for the target version.
Run:
gh release list --repo systemli/userli --limit 1 --json tagName,publishedAt
This gives you the last release tag and its date.
Run:
gh pr list --repo systemli/userli --state merged --base main --search "merged:>YYYY-MM-DD" --limit 100 --json number,title,mergedAt
Replace YYYY-MM-DD with the publishedAt date of the last release (date only, no time).
Remove any PRs whose title starts with Prepare Userli Release — these are previous release preparation PRs and should not appear in the changelog.
Categorize each PR based on the leading emoji in its title into one of three sections.
Emojis: ✨ (new feature), 🚸 (improve UX), ⚡ (performance), 💄 (UI/style), ♿️ (accessibility), 🔥 (remove code/feature)
Emojis: ♻️ (refactor), ⬆️ (upgrade dependency), ✅ (tests), 👷 (CI/build), 🗃️ (database), 🌐 (i18n), 📝 (docs)
Emojis: 🐛 (bug fix), 🚑 (critical hotfix)
If a PR title does not start with a recognized emoji, place it under Features and Improvements.
Within each section, sort PRs by PR number in descending order (newest first).
Read the current CHANGELOG.md. Insert a new version block directly after the # Changelog heading (before any existing version entries).
Use this exact format:
## <VERSION> (<YYYY.MM.DD>)
### Features and Improvements
- <emoji> <PR title without emoji prefix> (#<number>)
- ...
### Technical Changes
- <emoji> <PR title without emoji prefix> (#<number>)
- ...
### Bug Fixes
- <emoji> <PR title without emoji prefix> (#<number>)
- ...
Important rules:
YYYY.MM.DD format (dots, not hyphens) (#<number>)Read the current UPGRADE.md. Check if there is an existing section header matching ## Upgrade to <VERSION> or ## Upgrade from <PREVIOUS_VERSION> or lower.
## Upgrade to UNRELEASED or ## Unreleased), rename it to ## Upgrade to <VERSION>## Upgrade to 6.2.0), leave it as-is — it was already prepared in advance6.1.1), no UPGRADE.md changes are typically neededShow the user the current UPGRADE.md content at the top and ask if it looks correct before proceeding.
Create a new branch from the current HEAD:
Prepare-Userli-Release-<VERSION>
Example: Prepare-Userli-Release-6.2.0
Stage the changed files (CHANGELOG.md and optionally UPGRADE.md)
Commit with the message:
Prepare Userli Release <VERSION>
Push the branch to the remote
Create a draft PR targeting main:
Prepare Userli Release <VERSION>Show the user:
For version 6.1.0 released on 2026.02.10, the changelog block looks like:
## 6.1.0 (2026.02.10)
### Features and Improvements
- 🚸 Improve Error Handling in Dovecot Lua Adapter (#1034)
- ✨ Add configurable Redis cache support via REDIS_URL (#1033)
- ⚡ Add caching for Dovecot userdb lookup API (#1027)
### Technical Changes
- ✅ Add unit tests for 16 previously uncovered classes (#1029)
- 👷 Add Rector CI workflow that comments on PRs with diffs (#1025)
- ♻️ Modernize codebase for PHP 8.4 (#1024)
### Bug Fixes
- 🐛 Fix Xdebug blocking all HTTP requests in dev environment (#1032)
documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
documentation
Maintain the OpenClaw memory wiki vault with deterministic pages, managed blocks, and source-backed updates.
documentation
Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.
documentation
Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.