Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add christianearle01/claude-config-template --skill "version-management"
Install specific skill from multi-skill repository
# Description
Tracks version consistency across version.json, README, CLAUDE.md, CHANGELOG, and SETUP_CONTEXT. Auto-activates when users ask about version updates, version sync, or what files need updating for a release. Validates completeness and suggests next steps.
# SKILL.md
name: version-management
description: Tracks version consistency across version.json, README, CLAUDE.md, CHANGELOG, and SETUP_CONTEXT. Auto-activates when users ask about version updates, version sync, or what files need updating for a release. Validates completeness and suggests next steps.
allowed-tools: Read, Grep
Version Management Skill
Purpose & Activation
What it does: Provides version tracking intelligence for multi-file version consistency across the template.
When it activates automatically:
- "What needs updating for v3.4.0?"
- "Did I update all version files?"
- "Is version synced?"
- "Check version consistency"
- "Are all files at the same version?"
- "What's missing for the release?"
How it helps:
- Eliminates version anxiety (no more "did I forget a file?")
- Shows current state vs target state
- Validates sync-version.sh was run correctly
- Lists remaining tasks before commit
- Suggests next steps in release workflow
JIT Help Available:
For quick reference on version workflow and troubleshooting, see: Cheat Sheet
- 5 most common version queries (90% usage)
- Version sync workflow (6 steps, 2 minutes)
- 7 file locations reference table
- Quick decision tree
- Semantic versioning guide
- Troubleshooting mismatch errors
Version File Locations
Primary Source of Truth
version.json - Master version file
- Field: version (e.g., "3.4.0")
- Field: release_date (e.g., "2025-12-13")
- Field: release_name (e.g., "Workflow Optimization & Learning Stages")
Auto-Synced Files (via sync-version.sh)
CLAUDE.md:4 - Project documentation
- Format: **Version:** v3.4.0
README.md - Multiple locations
- Line 306: Feature list footer
- Line 339: Documentation section
- Line 463: Footer version
.claude/SETUP_CONTEXT.md - Setup guide
- Line 21: Quick reference
- Line 437: Footer version
Manual Update Required
CHANGELOG.md - Release notes
- Must add new ## [3.4.0] - YYYY-MM-DD entry
- Document all features, changes, impacts
- Update ## [Unreleased] section
Key Operations
Operation 1: Check Current Version
User Query:
"What version are we at?"
Confidence: 🟢 High (0.95)
- Direct version query
- version.json accessible
- Clear information request
Skill Response:
Current version: v3.3.0 (as of 2025-12-13)
Release: "Skills Architecture & Intelligence Layer"
Files checked:
✅ version.json: 3.3.0
✅ CLAUDE.md:4: v3.3.0
✅ README.md (3 locations): v3.3.0
✅ SETUP_CONTEXT.md (2 locations): v3.3.0
✅ CHANGELOG.md: v3.3.0 entry exists
All files in sync! ✨
Why This Matters:
- Quick sanity check prevents version confusion during development
- All files in sync = safe to proceed with new work
- Current release name helps maintain context ("Skills Architecture")
- Quick win: You're ready to start planning v3.4.0 features
Next Step: Want to see what changed in v3.3.0? Ask "Show me CHANGELOG for v3.3.0"
Operation 2: Validate Version Consistency
User Query:
"Is version synced?"
Confidence: 🟢 High (0.93)
- Clear validation request
- 6 file locations to check
- Deterministic check (synced or not synced)
Skill Response:
Checking version consistency...
Primary: version.json = 3.4.0
Synced files:
✅ CLAUDE.md:4 = v3.4.0
✅ README.md:306 = v3.4.0
✅ README.md:339 = v3.4.0
✅ README.md:463 = v3.4.0
✅ SETUP_CONTEXT.md:21 = v3.4.0
✅ SETUP_CONTEXT.md:437 = v3.4.0
All synced! sync-version.sh ran successfully.
OR if inconsistent:
⚠️ Version mismatch detected!
Primary: version.json = 3.4.0
Mismatches:
❌ CLAUDE.md:4 = v3.3.0 (expected v3.4.0)
❌ README.md:306 = v3.3.0 (expected v3.4.0)
Run: ./scripts/sync-version.sh
Why This Matters:
- Version mismatches cause user confusion and broken links
- 6 file locations must stay in sync (manual tracking is error-prone)
- Catching mismatches before commit saves embarrassing fixes
- Quick win: Run ./scripts/sync-version.sh if any mismatches found
Next Step: All synced? Move to "What needs updating for v3.4.0?" to see remaining tasks
Operation 3: Pre-Release Checklist
User Query:
"What needs updating for v3.4.0?"
Confidence: 🟢 High (0.88)
- Specific release version referenced
- Checklist has clear completion criteria
- Can check file states deterministically
Skill Response:
Release Checklist for v3.4.0:
✅ Done:
- version.json updated (3.3.0 → 3.4.0)
- version.json release_date set (2025-12-13)
- version.json release_name set
- sync-version.sh executed
- All version numbers synced
❌ Remaining:
- CHANGELOG.md: Add v3.4.0 entry
Location: After line 8 (## [Unreleased])
Template: ## [3.4.0] - 2025-12-13
- CHANGELOG.md: Document features
- List new skills (7 total)
- Document Learning Stages
- Include token impact analysis
Next step: Update CHANGELOG.md, then commit
Why This Matters:
- Pre-release checklist prevents "oops, forgot CHANGELOG" moments
- Completing items in order reduces rework (sync files before documenting)
- Clear remaining tasks = no ambiguity about "done" state
- Quick win: Edit CHANGELOG.md now, then ask "Am I ready to commit?"
Next Step: After updating CHANGELOG, ask "Did I commit the version bump?" to validate
Operation 4: Detect Uncommitted Version Changes
User Query:
"Did I commit the version bump?"
Confidence: 🟢 High (0.91)
- Git status check is deterministic
- Version-related files easily identifiable
- Clear commit state (staged/unstaged/committed)
Skill Response:
Checking git status...
Modified files:
- version.json (v3.3.0 → v3.4.0)
- CLAUDE.md (synced to v3.4.0)
- README.md (synced to v3.4.0)
- SETUP_CONTEXT.md (synced to v3.4.0)
- CHANGELOG.md (v3.4.0 entry added)
Status: Changes staged, ready to commit
Suggested commit message:
"🔖 Bump version to v3.4.0 (Workflow Optimization & Learning Stages)"
Why This Matters:
- Uncommitted version changes create ambiguity (is it official?)
- Git history shows when version became "live"
- Suggested commit message follows project conventions (🔖 emoji)
- Quick win: Copy suggested message: git commit -m "🔖 Bump version to v3.4.0"
Next Step: After committing, run git tag v3.4.0 to mark the release
Operation 5: Version Increment Validation
User Query:
"Is v3.4.0 the right next version?"
Confidence: 🟢 High (0.87)
- Semantic versioning rules are clear
- Can assess change type from description
- Deterministic validation
Skill Response:
Current: v3.3.0
Proposed: v3.4.0
Semantic versioning check:
✅ MINOR bump (3.3 → 3.4) - Correct!
Reason: Adding new features (7 skills + Learning Stages)
- Not breaking changes (would need MAJOR: 4.0.0)
- Not just bugfixes (would need PATCH: 3.3.1)
v3.4.0 is appropriate for this release.
Why This Matters:
- Wrong version number confuses users about compatibility
- MAJOR bump (4.0.0) signals breaking changes → users hesitate to upgrade
- PATCH bump (3.3.1) undersells new features → low adoption
- Quick win: v3.4.0 correctly signals "new features, backward compatible"
Next Step: Proceed with confidence! Update version.json to 3.4.0
Integration with Release Workflow
Typical Release Flow
Step 1: Update version.json
{
"version": "3.4.0",
"release_date": "2025-12-13",
"release_name": "Workflow Optimization & Learning Stages"
}
Step 2: Run sync script
./scripts/sync-version.sh
Step 3: Check with skill
"Is version synced?"
Step 4: Update CHANGELOG
Add v3.4.0 entry with features
Step 5: Final validation
"What needs updating for v3.4.0?"
Step 6: Commit
git commit -am "🔖 Bump version to v3.4.0"
git tag v3.4.0
Common Patterns
Pattern 1: Starting a Release
User: "I'm releasing v3.5.0"
Skill:
Starting v3.5.0 release...
Current version: v3.4.0
Steps to follow:
1. Update version.json:
- version: "3.5.0"
- release_date: "YYYY-MM-DD"
- release_name: "Your Release Name"
2. Run: ./scripts/sync-version.sh
3. Ask me: "Is version synced?"
4. Update CHANGELOG.md with v3.5.0 entry
5. Ask me: "What needs updating for v3.5.0?"
Ready to start!
Pattern 2: Mid-Release Check
User: "Where am I in the release process?"
Skill:
Release Progress: v3.4.0
✅ Completed:
- version.json updated
- Files synced (7 files)
⏳ In Progress:
- CHANGELOG.md (needs v3.4.0 entry)
❌ Not Started:
- Git commit
- Git tag
Current phase: Documentation (50% complete)
Next: Finish CHANGELOG, then commit
Pattern 3: Post-Sync Validation
User: "Did sync-version.sh work?"
Skill:
Validating sync-version.sh execution...
Expected version: v3.4.0 (from version.json)
Checking 6 locations:
✅ CLAUDE.md:4 = v3.4.0
✅ README.md:306 = v3.4.0
✅ README.md:339 = v3.4.0
✅ README.md:463 = v3.4.0
✅ SETUP_CONTEXT.md:21 = v3.4.0
✅ SETUP_CONTEXT.md:437 = v3.4.0
sync-version.sh executed successfully! ✨
All files updated correctly.
Token Efficiency Analysis
⚠️ These are PROJECTIONS based on testing, not multi-user validation.
Without Skill (Current - 600 tokens per query)
Process:
1. User: "What files need updating?" (50 tokens)
2. Claude: "Let me check..." (100 tokens)
3. Read version.json (100 tokens)
4. Read multiple files to compare (200 tokens)
5. Format response (150 tokens)
Total: ~600 tokens
With Skill (Proposed - 250 tokens per query)
Process:
1. User: "What files need updating?" (50 tokens)
2. Skill activates automatically (50 tokens)
3. Read version.json + check files (100 tokens)
4. Formatted response (50 tokens)
Total: ~250 tokens
Savings: 350 tokens per query (58% reduction)
Frequency Impact
Per Release (2 per week):
- Check version: 2 queries
- Validate sync: 2 queries
- Pre-release checklist: 1 query
- Post-commit validation: 1 query
- Total: 6 queries × 350 tokens = 2,100 tokens saved per release
Monthly (8 releases):
- 8 releases × 2,100 tokens = 16,800 tokens saved
- Cost savings: ~$0.50/month (at Claude pricing)
Quarterly:
- 24 releases × 2,100 tokens = 50,400 tokens saved
- Cost savings: ~$1.52/quarter
ROI: Pays for implementation cost (~500 tokens) after 1 release.
Troubleshooting
Issue: Version Mismatch After Sync
Symptom: Files show different versions after running sync-version.sh
Cause: sync-version.sh may have failed or been interrupted
Solution:
1. Check sync-version.sh output for errors
2. Manually verify version.json is correct
3. Re-run: ./scripts/sync-version.sh
4. Validate: Ask skill "Is version synced?"
Issue: CHANGELOG Not Updated
Symptom: Skill reports CHANGELOG missing v3.x.0 entry
Cause: CHANGELOG.md requires manual update (not auto-synced)
Solution:
1. Edit CHANGELOG.md
2. Add entry after ## [Unreleased]:
## [3.4.0] - 2025-12-13
3. Document features and changes
4. Ask skill: "What needs updating?"
Issue: Git Shows Uncommitted Changes
Symptom: Version files modified but not committed
Cause: Normal - files changed by version bump
Solution:
This is expected! Version bump modifies files.
Steps:
1. Review changes: git diff
2. Stage all: git add .
3. Commit: git commit -m "🔖 Bump version to v3.4.0"
4. Tag: git tag v3.4.0
See Also
- commit-readiness-checker skill - Validates commit prerequisites
- documentation-sync-checker skill - Checks doc consistency
- workflow-analyzer skill - Analyzes version management patterns
- CHANGELOG.md - Manual release notes
- scripts/sync-version.sh - Auto-sync script
Skill Version: 3.4.0
Last Updated: 2025-12-13
Target Audience: Template maintainers, release managers
Maintained By: claude-config-template project
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.