Agent skill
auto-release-manager
Automate version updates and releases for any project type (Node.js, Python, Rust, Unity, Unreal, etc.). Detect project type, update version files, generate CHANGELOG, and handle git operations with cross-platform support.
Install this agent skill to your Project
npx add-skill https://github.com/Dev-GOM/claude-code-marketplace/tree/main/plugins/auto-release-manager/skills
SKILL.md
Auto Release Manager
Automate the entire release workflow for any project type with intelligent project detection and cross-platform support.
Purpose
This skill streamlines version management across different project types by:
- Automatically detecting project type (Node.js, Python, Rust, Unity, Unreal, etc.)
- Updating version files in appropriate formats (JSON, TOML, YAML, Unity assets)
- Generating CHANGELOG from git commit history
- Handling git operations (commit, tag, push) with OS compatibility
- Supporting game engine specific workflows (Unity version.json ← → ProjectSettings.asset sync)
When to Use
Use this skill when:
- Releasing a new version of any project
- User requests "update version", "create release", "bump version"
- Need to handle versions across multiple files (e.g., Unity's dual-file approach)
- Want automated CHANGELOG generation from commits
- Working with game engine projects (Unity, Unreal)
Example user requests:
- "Bump patch version and create release"
- "Update to v2.1.0"
- "Create Unity release with version 1.5.0"
- "Generate CHANGELOG and commit"
Workflow
Step 1: Detect Project Type
Start by running the project detection script to identify the project type and version files:
python -X utf8 scripts/detect_project.py .
The script returns JSON with:
{
"project_type": "unity",
"version_files": [
"version.json",
"ProjectSettings/ProjectSettings.asset"
],
"detected_version": "1.2.3"
}
Supported project types:
nodejs- Node.js (package.json)python- Python (pyproject.toml, setup.py)rust- Rust (Cargo.toml)go- Go (VERSION file)unity- Unity (version.json + ProjectSettings.asset)unreal- Unreal Engine (.uproject)claude-plugin- Claude Code Plugin (plugin.json)generic- Generic project (VERSION file)
Step 2: Determine New Version
Calculate the new version based on update type:
Semantic Versioning (MAJOR.MINOR.PATCH):
- PATCH (x.x.X): Bug fixes
- MINOR (x.X.0): New features (backward compatible)
- MAJOR (X.0.0): Breaking changes
Examples:
- 1.2.3 → 1.2.4 (patch)
- 1.2.3 → 1.3.0 (minor)
- 1.2.3 → 2.0.0 (major)
If user specifies version directly (e.g., "v2.1.0"), use that version.
Step 3: Update Version Files
Use the universal version updater to update all detected files:
python -X utf8 scripts/update_version.py <file1> <file2> ... <new_version>
Example for Node.js:
python -X utf8 scripts/update_version.py package.json 1.3.0
Example for Unity (multiple files):
python -X utf8 scripts/update_version.py version.json ProjectSettings/ProjectSettings.asset 1.3.0
Unity-specific: After updating version.json, sync to ProjectSettings.asset:
python -X utf8 scripts/sync_unity_version.py
This ensures version.json is the single source of truth.
Step 4: Generate CHANGELOG (Optional)
If user wants CHANGELOG updates or it's part of the workflow:
python -X utf8 scripts/changelog_generator.py <new_version> [since_tag] [changelog_path]
Examples:
# Generate from last tag to HEAD
python -X utf8 scripts/changelog_generator.py 1.3.0 v1.2.3
# Generate from all commits
python -X utf8 scripts/changelog_generator.py 1.3.0
# Custom CHANGELOG path
python -X utf8 scripts/changelog_generator.py 1.3.0 v1.2.3 CHANGELOG.ko.md
The script parses Conventional Commits and groups by type:
feat:→ Addedfix:→ Fixedrefactor:→ Changeddocs:→ Documentation
Step 5: Git Operations
Ask user which git operations to perform using AskUserQuestion tool:
Tool constraints:
- Header: "Git 작업" (6 characters ✅)
- Options: 3 options (within 2-4 range ✅)
- multiSelect: false
Options:
-
"커밋만" (label: 2 words ✅)
- Description: "버전 업데이트를 커밋만 합니다. 태그와 푸시는 나중에 직접 처리하겠습니다."
- Action: Commit only
-
"커밋+태그" (label: 2 words ✅)
- Description: "커밋과 태그를 생성합니다. 푸시는 나중에 직접 하겠습니다."
- Action: Commit + Create tag
-
"전체" (label: 1 word ✅)
- Description: "커밋, 태그 생성, 푸시까지 모든 작업을 자동으로 처리합니다. (권장)"
- Action: Commit + Tag + Push
Based on user selection:
Commit:
python -X utf8 scripts/git_operations.py commit "chore: bump version to <VERSION>
Version updates:
- Updated <files> to <VERSION>
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>"
Create Tag:
python -X utf8 scripts/git_operations.py tag v<VERSION> "Release v<VERSION>"
Push (branch + tags):
python -X utf8 scripts/git_operations.py push
python -X utf8 scripts/git_operations.py push-tags
Step 6: GitHub Release (Optional)
If user wants GitHub release, use gh CLI:
gh release create v<VERSION> \
--title "v<VERSION> - <Title>" \
--notes "<Release notes from CHANGELOG>"
Project-Specific Workflows
Unity Workflow
Unity projects require special handling due to dual-file approach:
- Detect Unity project (ProjectSettings.asset exists)
- Update version.json first (source of truth)
- Sync to ProjectSettings.asset using sync_unity_version.py
- Commit both files together
- Tag and push
Reference: references/unity-guide.md for detailed Unity workflow.
Unreal Workflow
Unreal projects use .uproject JSON file:
- Detect .uproject file
- Update Version field in .uproject
- Optionally sync to Config/DefaultGame.ini
- Commit, tag, push
Reference: references/unreal-guide.md for detailed Unreal workflow.
Node.js / Python / Rust Workflow
Standard workflow for web/backend projects:
- Detect project type via package file
- Update version field in package file
- Generate CHANGELOG from commits
- Commit, tag, push
Error Handling
Handle common errors:
Project not detected:
- Check if running in correct directory
- Look for .git directory
- Suggest creating VERSION file for generic projects
Version file not found:
- Suggest creating file from template (assets/)
- For Unity: Create version.json from template
Git errors:
- Check if git repository exists
- Verify remote is configured
- Handle authentication issues
Script errors:
- Ensure Python 3.11+ is installed
- Check file permissions
- Verify file encodings (UTF-8)
Bundled Resources
Scripts
All scripts are in scripts/ directory and work cross-platform (Windows, macOS, Linux):
- detect_project.py: Auto-detect project type
- update_version.py: Universal version updater
- sync_unity_version.py: Unity version synchronization
- git_operations.py: Git workflow automation
- changelog_generator.py: CHANGELOG generation
References
Detailed guides in references/ directory:
- project-types.md: All supported project types and version file locations
- unity-guide.md: Unity-specific version management
- unreal-guide.md: Unreal Engine version management
Load these as needed for detailed information.
Assets
Templates in assets/ directory:
- version.json.template: Template for Unity/game projects
- CHANGELOG.md.template: Template for new CHANGELOG files
Use these when creating new version files.
Best Practices
- Always commit version files together (e.g., Unity's version.json + ProjectSettings.asset)
- Use semantic versioning consistently
- Write meaningful commit messages following Conventional Commits
- Tag releases with
vprefix (e.g., v1.2.3) - Keep CHANGELOG updated for user-facing changes
- For Unity: version.json is source of truth, always sync to ProjectSettings.asset
Notes
- Scripts use Python 3.11+ with only stdlib dependencies
- All file operations use UTF-8 encoding
- Path handling uses pathlib for cross-platform compatibility
- Git operations use subprocess for reliability
- Unity YAML parsing uses regex for robustness
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
unity-editor-toolkit
Unity Editor control and automation, WebSocket-based real-time communication. 유니티에디터제어및자동화, WebSocket기반실시간통신. Features/기능: GameObject control 게임오브젝트제어, Transform manipulation 트랜스폼조작, Component management 컴포넌트관리, Scene management 씬관리, SQLite database integration SQLite데이터베이스통합, GUID-based persistence GUID기반영구식별, Multi-scene synchronization 멀티씬동기화, Command Pattern with Undo/Redo 명령패턴실행취소재실행, Menu execution 메뉴실행, ScriptableObject management 스크립터블오브젝트관리, Array/List manipulation 배열리스트조작, All field types support 모든필드타입지원, Material/Rendering 머티리얼/렌더링, Prefab system 프리팹시스템, Asset Database 애셋데이터베이스, Animation 애니메이션, Physics 물리, Console logging 콘솔로깅, EditorPrefs management 에디터프리퍼런스관리, Editor automation 에디터자동화, Build pipeline 빌드파이프라인, Lighting 라이팅, Camera 카메라, Audio 오디오, Navigation 네비게이션, Particles 파티클, Timeline 타임라인, UI Toolkit, Profiler 프로파일러, Test Runner 테스트러너. Protocol 프로토콜: JSON-RPC 2.0 over WebSocket (port 9500-9600). 500+ commands 명령어, 25 categories 카테고리. Real-time bidirectional communication 실시간양방향통신. Security 보안: Defense-in-depth 심층방어 (path traversal protection 경로순회방지, command injection defense 명령어인젝션방어, JSON injection prevention JSON인젝션방지, SQL injection prevention SQL인젝션방지, transaction safety 트랜잭션안전성). Localhost-only connections 로컬호스트전용. Cross-platform 크로스플랫폼 (Windows, macOS, Linux).
blender-toolkit
Blender automation with geometry creation, materials, modifiers, and Mixamo animation retargeting. Core Features: WebSocket-based real-time control, automatic bone mapping with UI review, two-phase confirmation workflow, quality assessment, multi-project support, comprehensive CLI commands. Use Cases: Create 3D primitives (cube, sphere, cylinder, etc.), manipulate objects (transform, duplicate, delete), manage materials and modifiers, retarget Mixamo animations to custom rigs with fuzzy bone matching.
unity-test-runner
Execute and analyze Unity Test Framework tests from the command line. This skill automates test execution for Unity projects by detecting the Unity Editor, configuring test parameters (EditMode/PlayMode), running tests via CLI, parsing XML results, and generating detailed failure reports. Use this when running Unity tests, validating game logic, or debugging test failures.
Unity Template Generator
Generates production-ready C# script templates (MonoBehaviour, ScriptableObject, Editor, tests). Use when creating new scripts or setting up project structure.
unity-compile-fixer
Detect and resolve Unity C# compilation errors using VSCode diagnostics. Use this skill when Unity projects have compilation errors that need diagnosis and automated fixes. Analyzes errors from VSCode Language Server, proposes solutions based on error patterns, and handles version control conflicts for Unity projects.
Unity UI Toolkit
Assists with Unity UI Toolkit development - UXML structure, USS styling, C# VisualElement manipulation, data binding, and custom controls. Use when implementing UI Toolkit interfaces.
Didn't find tool you were looking for?