Synchronize version numbers across any project type using version file adapters
View on GitHubjayteealao/agent-skills
release-automation
plugins/release-automation/skills/documentation-sync/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/jayteealao/agent-skills/blob/main/plugins/release-automation/skills/documentation-sync/SKILL.md -a claude-code --skill documentation-syncInstallation paths:
.claude/skills/documentation-sync/# Documentation Sync ## Purpose Updates version numbers in version files (using appropriate adapters) and documentation files for any project type. Supports Node.js, Python, Rust, Go, Java, generic projects, and Claude Code plugins. Handles multiple version files and documentation references. ## Input Context Requires: - **Project Configuration**: Output from `detect-project-type` skill - **Old Version**: Previous version string (e.g., "1.1.0") - **New Version**: New version string (e.g., "1.2.0") ## Workflow ### 1. Load Project Configuration Use configuration from `detect-project-type`: - `version_files` - List of version files with adapters - `documentation_files` - Files to search for version references - `project_type` - Determines file update strategy ### 2. Update Version Files For each version file, use the appropriate adapter to update the version. See [Version Adapters Reference](../../docs/version-adapters.md) for implementation details. **JSON files (package.json, plugin.json, etc.):** ```bash file="package.json" old_version="1.1.0" new_version="1.2.0" # Update using jq jq --indent 2 ".version = \"$new_version\"" "$file" > tmp.json && mv tmp.json "$file" # Verify update updated_version=$(jq -r '.version' "$file") if [ "$updated_version" = "$new_version" ]; then echo "✓ Updated $file: $old_version → $new_version" else echo "✗ Failed to update $file" fi ``` **TOML files (Cargo.toml, pyproject.toml):** ```bash file="Cargo.toml" # Update version in [package] section sed -i '/^\[package\]/,/^\[/ s/^version = ".*"/version = "'"$new_version"'"/' "$file" # For pyproject.toml [project] section sed -i '/^\[project\]/,/^\[/ s/^version = ".*"/version = "'"$new_version"'"/' pyproject.toml # For pyproject.toml [tool.poetry] section sed -i '/^\[tool.poetry\]/,/^\[/ s/^version = ".*"/version = "'"$new_version"'"/' pyproject.toml # Verify updated_version=$(grep '^version = ' "$file" | head -1 | sed 's/version = "\(.*\)"/\1/') ``` **Python __version_