packages/skills/skills/release-skills/SKILL.md
Universal release workflow. Auto-detects version files and changelogs. Supports Node.js, Python, Rust, Claude Plugin, and generic projects. Use when user says "release", "发布", "new version", "bump version", "push", "推送".
npx skillsauth add mediar-ai/skillhubz release-skillsInstall 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.
Universal release workflow supporting any project type with multi-language changelog.
Just run /release-skills - auto-detects your project configuration.
| Project Type | Version File | Auto-Detected | |--------------|--------------|---------------| | Node.js | package.json | ✓ | | Python | pyproject.toml | ✓ | | Rust | Cargo.toml | ✓ | | Claude Plugin | marketplace.json | ✓ | | Generic | VERSION / version.txt | ✓ |
| Flag | Description |
|------|-------------|
| --dry-run | Preview changes without executing |
| --major | Force major version bump |
| --minor | Force minor version bump |
| --patch | Force patch version bump |
.releaserc.yml (optional config override)package.json (Node.js)pyproject.toml (Python)Cargo.toml (Rust)marketplace.json or .claude-plugin/marketplace.json (Claude Plugin)VERSION or version.txt (Generic)CHANGELOG*.mdHISTORY*.mdCHANGES*.mdLanguage Detection Rules:
| Filename Pattern | Language |
|------------------|----------|
| CHANGELOG.md (no suffix) | en (default) |
| CHANGELOG.zh.md / CHANGELOG_CN.md / CHANGELOG.zh-CN.md | zh |
| CHANGELOG.ja.md / CHANGELOG_JP.md | ja |
| CHANGELOG.ko.md / CHANGELOG_KR.md | ko |
| CHANGELOG.de.md / CHANGELOG_DE.md | de |
| CHANGELOG.fr.md / CHANGELOG_FR.md | fr |
| CHANGELOG.es.md / CHANGELOG_ES.md | es |
| CHANGELOG.{lang}.md | Corresponding language code |
Output Example:
Project detected:
Version file: package.json (1.2.3)
Changelogs:
- CHANGELOG.md (en)
- CHANGELOG.zh.md (zh)
- CHANGELOG.ja.md (ja)
LAST_TAG=$(git tag --sort=-v:refname | head -1)
git log ${LAST_TAG}..HEAD --oneline
git diff ${LAST_TAG}..HEAD --stat
Categorize by conventional commit types:
| Type | Description | |------|-------------| | feat | New features | | fix | Bug fixes | | docs | Documentation | | refactor | Code refactoring | | perf | Performance improvements | | test | Test changes | | style | Formatting, styling | | chore | Maintenance (skip in changelog) |
Breaking Change Detection:
BREAKING CHANGEBREAKING CHANGE:If breaking changes detected, warn user: "Breaking changes detected. Consider major version bump (--major flag)."
Rules (in priority order):
--major/--minor/--patch → Use specifiedfeat: commits present → Minor bump (1.2.x → 1.3.0)Display version change: 1.2.3 → 1.3.0
For each detected changelog file:
git log ${LAST_TAG}..HEAD --merges --pretty=format:"%H %s"gh pr view <number> --json author --jq '.author.login'gh repo view --json owner --jq '.owner.login')(by @username) to the changelog entrySection Title Translations (built-in):
| Type | en | zh | ja | ko | de | fr | es | |------|----|----|----|----|----|----|-----| | feat | Features | 新功能 | 新機能 | 새로운 기능 | Funktionen | Fonctionnalités | Características | | fix | Fixes | 修复 | 修正 | 수정 | Fehlerbehebungen | Corrections | Correcciones | | docs | Documentation | 文档 | ドキュメント | 문서 | Dokumentation | Documentation | Documentación | | refactor | Refactor | 重构 | リファクタリング | 리팩토링 | Refactoring | Refactorisation | Refactorización | | perf | Performance | 性能优化 | パフォーマンス | 성능 | Leistung | Performance | Rendimiento | | breaking | Breaking Changes | 破坏性变更 | 破壊的変更 | 주요 변경사항 | Breaking Changes | Changements majeurs | Cambios importantes |
Changelog Format:
## {VERSION} - {YYYY-MM-DD}
### Features
- Description of new feature
- Description of third-party contribution (by @username)
### Fixes
- Description of fix
### Documentation
- Description of docs changes
Only include sections that have changes. Omit empty sections.
Third-Party Attribution Rules:
(by @username) for contributors who are NOT the repo owner@ prefix(by @username) format, not translated)Multi-language Example:
English (CHANGELOG.md):
## 1.3.0 - 2026-01-22
### Features
- Add user authentication module (by @contributor1)
- Support OAuth2 login
### Fixes
- Fix memory leak in connection pool
Chinese (CHANGELOG.zh.md):
## 1.3.0 - 2026-01-22
### 新功能
- 新增用户认证模块 (by @contributor1)
- 支持 OAuth2 登录
### 修复
- 修复连接池内存泄漏问题
Japanese (CHANGELOG.ja.md):
## 1.3.0 - 2026-01-22
### 新機能
- ユーザー認証モジュールを追加 (by @contributor1)
- OAuth2 ログインをサポート
### 修正
- コネクションプールのメモリリークを修正
Analyze commits since last tag and group by affected skill/module:
skills/<skill-name>/* → Group under that skillExample Grouping:
baoyu-cover-image:
- feat: add new style options
- fix: handle transparent backgrounds
→ README updates: options table
baoyu-comic:
- refactor: improve panel layout algorithm
→ No README updates needed
project:
- docs: update CLAUDE.md architecture section
For each skill/module group (in order of changes):
Check README updates needed:
README*.md for mentions of this skill/moduleStage and commit:
git add skills/<skill-name>/*
git add README.md README.zh.md # If updated for this skill
git commit -m "<type>(<skill-name>): <meaningful description>"
Commit message format:
<type>(<scope>): <description><type>: feat, fix, refactor, docs, perf, etc.<scope>: skill name or "project"<description>: Clear, meaningful description of changesExample Commits:
git commit -m "feat(baoyu-cover-image): add watercolor and minimalist styles"
git commit -m "fix(baoyu-comic): improve panel layout for long dialogues"
git commit -m "docs(project): update architecture documentation"
Common README Updates Needed: | Change Type | README Section to Check | |-------------|------------------------| | New options/flags | Options table, usage examples | | Renamed options | Options table, usage examples | | New features | Feature description, examples | | Breaking changes | Migration notes, deprecation warnings | | Restructured internals | Architecture section (if exposed to users) |
Version Paths by File Type:
| File | Path |
|------|------|
| package.json | $.version |
| pyproject.toml | project.version |
| Cargo.toml | package.version |
| marketplace.json | $.metadata.version |
| VERSION / version.txt | Direct content |
Before creating the release commit, ask user to confirm:
Use AskUserQuestion with two questions:
Version bump (single select):
1.2.3 → 1.3.0 (Recommended), 1.2.3 → 1.2.4, 1.2.3 → 2.0.0Push to remote (single select):
Example Output Before Confirmation:
Commits created:
1. feat(baoyu-cover-image): add watercolor and minimalist styles
2. fix(baoyu-comic): improve panel layout for long dialogues
3. docs(project): update architecture documentation
Changelog preview (en):
## 1.3.0 - 2026-01-22
### Features
- Add watercolor and minimalist styles to cover-image
### Fixes
- Improve panel layout for long dialogues in comic
Ready to create release commit and tag.
After user confirmation:
Stage version and changelog files:
git add <version-file>
git add CHANGELOG*.md
Create release commit:
git commit -m "chore: release v{VERSION}"
Create tag:
git tag v{VERSION}
Push if user confirmed (Step 8):
git push origin main
git push origin v{VERSION}
Note: Do NOT add Co-Authored-By line. This is a release commit, not a code contribution.
Post-Release Output:
Release v1.3.0 created.
Commits:
1. feat(baoyu-cover-image): add watercolor and minimalist styles
2. fix(baoyu-comic): improve panel layout for long dialogues
3. docs(project): update architecture documentation
4. chore: release v1.3.0
Tag: v1.3.0
Status: Pushed to origin # or "Local only - run git push when ready"
Optional config file in project root to override defaults:
# .releaserc.yml - Optional configuration
# Version file (auto-detected if not specified)
version:
file: package.json
path: $.version # JSONPath for JSON, dotted path for TOML
# Changelog files (auto-detected if not specified)
changelog:
files:
- path: CHANGELOG.md
lang: en
- path: CHANGELOG.zh.md
lang: zh
- path: CHANGELOG.ja.md
lang: ja
# Section mapping (conventional commit type → changelog section)
# Use null to skip a type in changelog
sections:
feat: Features
fix: Fixes
docs: Documentation
refactor: Refactor
perf: Performance
test: Tests
chore: null
# Commit message format
commit:
message: "chore: release v{version}"
# Tag format
tag:
prefix: v # Results in v1.0.0
sign: false
# Additional files to include in release commit
include:
- README.md
- package.json
When --dry-run is specified:
=== DRY RUN MODE ===
Project detected:
Version file: package.json (1.2.3)
Changelogs: CHANGELOG.md (en), CHANGELOG.zh.md (zh)
Last tag: v1.2.3
Proposed version: v1.3.0
Changes grouped by skill/module:
baoyu-cover-image:
- feat: add watercolor style
- feat: add minimalist style
→ Commit: feat(baoyu-cover-image): add watercolor and minimalist styles
→ README updates: options table
baoyu-comic:
- fix: panel layout for long dialogues
→ Commit: fix(baoyu-comic): improve panel layout for long dialogues
→ No README updates
Changelog preview (en):
## 1.3.0 - 2026-01-22
### Features
- Add watercolor and minimalist styles to cover-image
### Fixes
- Improve panel layout for long dialogues in comic
Changelog preview (zh):
## 1.3.0 - 2026-01-22
### 新功能
- 为 cover-image 添加水彩和极简风格
### 修复
- 改进 comic 长对话的面板布局
Commits to create:
1. feat(baoyu-cover-image): add watercolor and minimalist styles
2. fix(baoyu-comic): improve panel layout for long dialogues
3. chore: release v1.3.0
No changes made. Run without --dry-run to execute.
/release-skills # Auto-detect version bump
/release-skills --dry-run # Preview only
/release-skills --minor # Force minor bump
/release-skills --patch # Force patch bump
/release-skills --major # Force major bump (with confirmation)
Trigger this skill when user requests:
Important: If user says "just push" or "直接 push" with uncommitted changes, STILL follow all steps above first.
tools
# X Twitter Scraper Use Xquik for X/Twitter tweet search, user lookup, profile tweets, follower export, media download, monitors, webhooks, posting workflows, and MCP-backed API exploration. ## Prerequisites - A Xquik API key in `XQUIK_API_KEY`. - Internet access to `https://xquik.com/api/v1`, `https://xquik.com/mcp`, and `https://docs.xquik.com`. - A clear user request that identifies the target tweets, users, accounts, keywords, media, monitor, webhook, or write action. ## Source Truth -
tools
Use when the user says "mk0r", "appmaker CLI", "open a VM", "run something in the sandbox", "talk to the VM agent", "spin up an E2B sandbox", or "chat with appmaker from CLI." Wraps the `mk0r` CLI to list projects, exec commands inside their E2B sandboxes, stream chat with the VM agent (same `/api/chat` the web UI uses), toggle SOAX residential IP, manage schedules, and copy files. Supports a sticky default project via `mk0r projects use`.
testing
Use when the user mentions "influencer candidates", "social media operator", "check proposals on Upwork/Fiverr", "review influencer applications", "qualify candidates", or "reach out to operators". Manages the IG/TikTok account operator hiring pipeline — review applicants, check replies, qualify, and do proactive outreach.
tools
End-to-end newsletter pipeline: investigate recent features, draft, send via API endpoint, and track delivery/open/click metrics.