Release Manager Skill
This skill defines the standard procedure for releasing a new version of LibrAgent. You (the Agent) act as the Release Manager, responsible for understanding the changes, updating both CHANGELOG.md and user documentation (docs/ & website/), and communicating them clearly to users on the project site.
Workflow Overview
- Analyze: Read git history and diffs to understand what changed.
- Document & Sync Docs:
- Intelligently update
CHANGELOG.md with a user-facing summary.
- Update user documentation (
docs/user/) and project site pages (website/) so new features, UI changes, and guides stay up-to-date.
- Run
pnpm docs:build to verify VitePress documentation site builds cleanly.
- Commit Docs & Changelog: Commit changelog and doc updates so release scripts run on a clean git state.
- Verify & Publish: Use release scripts to run checks, bump versions, tag, and push.
Step-by-Step Instructions
1. Analysis (The "Brain" Work)
First, determine what has changed since the last release.
# Find the last tag
git describe --tags --abbrev=0
# Define baseline tag
LAST_TAG=$(git describe --tags --abbrev=0)
# List commits since that tag (exclude merge noise)
git log ${LAST_TAG}..HEAD --no-merges --pretty=format:"%h %s"
# Inspect impact scope and file diffs
git diff --name-only ${LAST_TAG}..HEAD
git diff --shortstat ${LAST_TAG}..HEAD
Task: Read the commit messages and diffs. Group them into:
- New Features & Capabilities: New tools, assistants, UI features, slash commands.
- User-facing Fixes: Bug fixes, reliability improvements.
- Internal / Refactoring: Code cleanup, dev scripts, testing.
2. Update Changelog & User Documentation
A. Update CHANGELOG.md
- Format: Follow existing style (
## [Version] - YYYY-MM-DD).
- Content: Summarize changes concisely with emojis (🚀, 🐛, 🔧).
- Versioning Rule: Prepare patch/minor/major bump section (e.g.
## [0.8.40] - YYYY-MM-DD).
B. Synchronize User Documentation (docs/ & website/)
Critical: Do not let project documentation become outdated during releases!
- Identify Affected User Guides:
- Check if new features require updates to existing guides under
docs/user/guides/ (e.g. assistants.md, skills.md, custom-mcp.md, sessions.md, automation.md).
- Check if getting-started pages (
docs/user/getting-started/) or FAQ (docs/user/faq/) need new entries.
- Update Multilingual Docs (if applicable):
- Synchronize both Korean (
docs/user/) and English (docs/user/en/) documentation when features change.
- Verify VitePress Site Build:
pnpm docs:build
Ensure VitePress renders pages cleanly without broken links or missing assets.
3. Commit Documentation & Changelog
Commit all documentation and changelog updates so the release script runs on a clean working tree:
git add CHANGELOG.md docs/ website/
git commit -m "docs: update changelog and user documentation for v<NEW_VERSION>"
Critical: Release scripts require a clean working tree before execution.
Make sure changelog and doc edits are committed first.
4. Verification & Publishing (The "Grunt" Work)
Finally, use the provided scripts to handle mechanical steps: tests, build checks, version bump, commit, tag, and push.
# Linux/macOS
./scripts/release.sh <patch|minor|major|x.y.z>
# Windows PowerShell
./scripts/release.ps1 <patch|minor|major|x.y.z>
- Checks: Scripts abort on failed checks (
pnpm test:run, pnpm rust:test, pnpm build, cargo check).
- Automation: Scripts run
scripts/bump-version.cjs, which automatically synchronizes direct download links inside root READMEs (README.md, README.ko.md, etc.), updates version manifests (package.json, Cargo.toml, Cargo.lock, tauri.conf.json), commits, tags (v<NEW_VERSION>), and pushes.
Quick Release Checklist
- Confirm baseline tag and diff scope.
- Draft user-facing
CHANGELOG.md section.
- Synchronize user docs under
docs/user/ & project site (website/).
- Run
pnpm docs:build to verify VitePress site build.
- Commit changelog and documentation updates (
git commit -m "docs: update changelog and user documentation for v<NEW_VERSION>").
- Run release script with
patch/minor/major or explicit x.y.z.
- Verify branch push + tag push completed successfully.
- Confirm GitHub Actions release workflow started.
Merge Policy (Required)
When merging a release PR (dev/0.8.x → main):
- Always use Create a merge commit.
- Never use squash merge — it breaks history alignment with the long-lived dev branch.
- After merge, sync
main back into dev/0.8.x (git merge origin/main + push).
1---2name: release-manager3description: Manage the release process for LibrAgent. Use this skill to analyze changes, update the changelog intelligently, synchronize user documentation (docs/ & website/), and publish new versions.4---56# Release Manager Skill78This skill defines the standard procedure for releasing a new version of LibrAgent. You (the Agent) act as the Release Manager, responsible for understanding the changes, updating both `CHANGELOG.md` and user documentation (`docs/` & `website/`), and communicating them clearly to users on the project site.910## Workflow Overview11121. **Analyze**: Read git history and diffs to understand what changed.132. **Document & Sync Docs**:14 - Intelligently update `CHANGELOG.md` with a user-facing summary.15 - Update user documentation (`docs/user/`) and project site pages (`website/`) so new features, UI changes, and guides stay up-to-date.16 - Run `pnpm docs:build` to verify VitePress documentation site builds cleanly.173. **Commit Docs & Changelog**: Commit changelog and doc updates so release scripts run on a clean git state.184. **Verify & Publish**: Use release scripts to run checks, bump versions, tag, and push.1920## Step-by-Step Instructions2122### 1. Analysis (The "Brain" Work)2324First, determine what has changed since the last release.2526```bash27# Find the last tag28git describe --tags --abbrev=02930# Define baseline tag31LAST_TAG=$(git describe --tags --abbrev=0)3233# List commits since that tag (exclude merge noise)34git log ${LAST_TAG}..HEAD --no-merges --pretty=format:"%h %s"3536# Inspect impact scope and file diffs37git diff --name-only ${LAST_TAG}..HEAD38git diff --shortstat ${LAST_TAG}..HEAD39```4041**Task**: Read the commit messages and diffs. Group them into:4243- **New Features & Capabilities**: New tools, assistants, UI features, slash commands.44- **User-facing Fixes**: Bug fixes, reliability improvements.45- **Internal / Refactoring**: Code cleanup, dev scripts, testing.4647### 2. Update Changelog & User Documentation4849#### A. Update `CHANGELOG.md`5051- **Format**: Follow existing style (`## [Version] - YYYY-MM-DD`).52- **Content**: Summarize changes concisely with emojis (🚀, 🐛, 🔧).53- **Versioning Rule**: Prepare patch/minor/major bump section (e.g. `## [0.8.40] - YYYY-MM-DD`).5455#### B. Synchronize User Documentation (`docs/` & `website/`)5657**Critical**: Do not let project documentation become outdated during releases!58591. **Identify Affected User Guides**:60 - Check if new features require updates to existing guides under `docs/user/guides/` (e.g. `assistants.md`, `skills.md`, `custom-mcp.md`, `sessions.md`, `automation.md`).61 - Check if getting-started pages (`docs/user/getting-started/`) or FAQ (`docs/user/faq/`) need new entries.622. **Update Multilingual Docs (if applicable)**:63 - Synchronize both Korean (`docs/user/`) and English (`docs/user/en/`) documentation when features change.643. **Verify VitePress Site Build**:65 ```bash66 pnpm docs:build67 ```68 Ensure VitePress renders pages cleanly without broken links or missing assets.6970### 3. Commit Documentation & Changelog7172Commit all documentation and changelog updates so the release script runs on a clean working tree:7374```bash75git add CHANGELOG.md docs/ website/76git commit -m "docs: update changelog and user documentation for v<NEW_VERSION>"77```7879**Critical**: Release scripts require a clean working tree before execution.80Make sure changelog and doc edits are committed first.8182### 4. Verification & Publishing (The "Grunt" Work)8384Finally, use the provided scripts to handle mechanical steps: tests, build checks, version bump, commit, tag, and push.8586```bash87# Linux/macOS88./scripts/release.sh <patch|minor|major|x.y.z>8990# Windows PowerShell91./scripts/release.ps1 <patch|minor|major|x.y.z>92```9394- **Checks**: Scripts abort on failed checks (`pnpm test:run`, `pnpm rust:test`, `pnpm build`, `cargo check`).95- **Automation**: Scripts run `scripts/bump-version.cjs`, which automatically synchronizes direct download links inside root READMEs (`README.md`, `README.ko.md`, etc.), updates version manifests (`package.json`, `Cargo.toml`, `Cargo.lock`, `tauri.conf.json`), commits, tags (`v<NEW_VERSION>`), and pushes.9697## Quick Release Checklist98991. Confirm baseline tag and diff scope.1002. Draft user-facing `CHANGELOG.md` section.1013. Synchronize user docs under `docs/user/` & project site (`website/`).1024. Run `pnpm docs:build` to verify VitePress site build.1035. Commit changelog and documentation updates (`git commit -m "docs: update changelog and user documentation for v<NEW_VERSION>"`).1046. Run release script with `patch`/`minor`/`major` or explicit `x.y.z`.1057. Verify branch push + tag push completed successfully.1068. Confirm GitHub Actions release workflow started.107108## Merge Policy (Required)109110When merging a release PR (`dev/0.8.x` → `main`):111112- **Always** use **Create a merge commit**.113- **Never** use squash merge — it breaks history alignment with the long-lived dev branch.114- **After merge**, sync `main` back into `dev/0.8.x` (`git merge origin/main` + push).