基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
| name | release |
| description | Standardized release workflow with version updates and CHANGELOG management |
Automates the pre-release preparation workflow, ensuring consistent version updates across all files and proper CHANGELOG management.
IMPORTANT: All outputs (commits, PRs, branch names) MUST be written in English.
This separation ensures human oversight for the irreversible release action (tag push triggers CI/CD).
Before proceeding with version updates, ALL of the following checks MUST pass:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
CRITICAL: Zero warnings required. Fix all issues before proceeding.
cargo test --all
All tests must pass.
git branch --show-current
CRITICAL: Must be on develop or a feature branch. Cannot release from main.
| Current Branch | Action |
|---|---|
main | ❌ STOP - Cannot release from main |
develop | ✅ Proceed |
feature/* | ✅ Proceed |
bugfix/* | ✅ Proceed |
If on main:
⚠️ ERROR: Cannot start release from 'main' branch.
Please checkout 'develop' or a feature branch first.
Ask the user for the target version number (e.g., "1.1.0").
Version Format Validation:
X.Y.Z where X, Y, Z are non-negative integers1.0.0, 1.1.0, 2.0.0-beta.1v1.0.0 (no 'v' prefix), 1.0 (missing patch)Execute ALL pre-flight checks:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all
If any check fails:
Update version in exactly these 3 files:
| File | Pattern | Example |
|---|---|---|
Cargo.toml | version = "X.Y.Z" | version = "1.1.0" |
python-wrapper/pyproject.toml | version = "X.Y.Z" | version = "1.1.0" |
python-wrapper/uv_sbom_bin/install.py | UV_SBOM_VERSION = "X.Y.Z" | UV_SBOM_VERSION = "1.1.0" |
Before:
## [Unreleased]
### Added
- New feature
After:
## [Unreleased]
## [X.Y.Z] - YYYY-MM-DD
### Added
- New feature
## [Unreleased] section header with version and date## [Unreleased] section above the new versionYYYY-MM-DD (e.g., 2025-02-06)# Check all versions match
grep 'version = "' Cargo.toml | head -1
grep 'version = "' python-wrapper/pyproject.toml
grep 'UV_SBOM_VERSION = "' python-wrapper/uv_sbom_bin/install.py
All three must show the same version. If not, stop and fix.
git checkout -b release/vX.Y.Z
Branch naming: release/v{version} (e.g., release/v1.1.0)
Stage and commit all version changes using /commit skill conventions:
git add Cargo.toml python-wrapper/pyproject.toml python-wrapper/uv_sbom_bin/install.py CHANGELOG.md
Commit message format:
chore(release): prepare v{version}
- Update version to {version} in all files
- Update CHANGELOG with release date
Co-Authored-By: Claude <noreply@anthropic.com>
Create PR to main using /pr skill:
gh pr create --base main --title "chore(release): prepare v{version}" --body "$(cat <<'EOF'
## Summary
- Prepare release v{version}
- Update version numbers in all required files
- Update CHANGELOG with release date
## Version Files Updated
- `Cargo.toml`: version = "{version}"
- `python-wrapper/pyproject.toml`: version = "{version}"
- `python-wrapper/uv_sbom_bin/install.py`: UV_SBOM_VERSION = "{version}"
## CHANGELOG
- Converted [Unreleased] to [{version}] - {date}
- Added empty [Unreleased] section
## Test Plan
- [x] `cargo fmt --all -- --check` passes
- [x] `cargo clippy --all-targets --all-features -- -D warnings` passes
- [x] `cargo test --all` passes
- [x] All version strings are consistent
## Post-Merge Manual Steps
After merging this PR:
1. Create tag: `git tag v{version}`
2. Push tag: `git push origin v{version}`
3. Verify CI release workflow completes successfully
---
Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
IMPORTANT: PR base branch is main, not develop.
After PR creation, display the following instructions:
✅ Release PR created successfully!
📋 Manual steps after PR is merged:
1. Wait for CI to pass and get approval
2. Merge the PR to main
3. Switch to main and pull:
git checkout main
git pull origin main
4. Create and push the tag:
git tag v{version}
git push origin v{version}
5. Verify the release:
- Check GitHub Actions release workflow
- Verify GitHub Release was created
- Check crates.io publication
- Check PyPI publication
6. Merge main back to develop:
git checkout develop
git merge main
git push origin develop
If version doesn't match semver:
⚠️ ERROR: Invalid version format: '{input}'
Version must be in semver format: X.Y.Z (e.g., 1.1.0)
If any pre-flight check fails:
If versions don't match after update:
⚠️ ERROR: Version mismatch detected!
Cargo.toml: {version1}
pyproject.toml: {version2}
install.py: {version3}
Please fix manually and retry.
If CHANGELOG already contains the target version:
⚠️ WARNING: CHANGELOG.md already contains [{version}]
This version may have already been released.
Do you want to continue anyway? (y/N)
User: "/release 1.1.0" or "リリース 1.1.0"
Claude executes /release skill:
release/v1.1.0Final output:
✅ Release preparation complete!
PR: https://github.com/Taketo-Yoda/uv-sbom/pull/XXX
📋 After PR merge, run:
git tag v1.1.0
git push origin v1.1.0