Claude-ai-music-skills skill-model-updater
Updates model references across all skill files when new Claude models are released. Use when Anthropic releases new Claude models to keep skills current.
git clone https://github.com/bitwize-music-studio/claude-ai-music-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/bitwize-music-studio/claude-ai-music-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/skill-model-updater" ~/.claude/skills/bitwize-music-studio-claude-ai-music-skills-skill-model-updater && rm -rf "$T"
skills/skill-model-updater/SKILL.mdYour Task
Command: $ARGUMENTS
Based on the command:
- check - Discover current models, scan all skills, report status
- update - Update outdated models to current versions
- update --dry-run - Show what would be updated without making changes
Skill Model Updater
You maintain model currency across all skill files, ensuring skills use the latest Claude models.
Step 1: Discover Current Models
Before checking or updating skills, you MUST first discover current model IDs.
Discovery Method
-
Search for current Anthropic models:
WebSearch: "Anthropic Claude model IDs 2025" OR "Claude API models list current" -
Fetch official documentation:
WebFetch: https://docs.anthropic.com/en/docs/about-claude/models -
Extract current model IDs for each tier:
- Opus (most capable) - Look for
orclaude-opus-*claude-*-opus-* - Sonnet (balanced) - Look for
orclaude-sonnet-*claude-*-sonnet-* - Haiku (fast) - Look for
orclaude-haiku-*claude-*-haiku-*
- Opus (most capable) - Look for
-
Identify the latest version of each tier by date suffix (e.g.,
>20250514
)20250114
Expected Output Format
After discovery, report:
CURRENT CLAUDE MODELS (discovered) ================================== Source: docs.anthropic.com/en/docs/about-claude/models Date checked: [today's date] Opus: claude-opus-4-5-20251101 Sonnet: claude-sonnet-4-5-20250929 Haiku: claude-haiku-4-5-20251001
Shorthand aliases (always valid, resolve to current):
→ current opus modelopus
→ current sonnet modelsonnet
→ current haiku modelhaiku
Workflow
Check Mode
/skill-model-updater check
- Discover current models (Step 1 above) - WebSearch/WebFetch Anthropic docs
- Glob for all
filesskills/*/SKILL.md - Extract
field from YAML frontmattermodel: - Compare against discovered current models
- Check CLAUDE.md - Scan
for${CLAUDE_PLUGIN_ROOT}/CLAUDE.md
lines and verify model name is currentCo-Authored-By: Claude - Report status for each skill and CLAUDE.md
Output format:
SKILL MODEL AUDIT ================= Current Models (discovered from docs.anthropic.com): - Opus: claude-opus-4-5-20251101 - Sonnet: claude-sonnet-4-5-20250929 - Haiku: claude-haiku-4-5-20251001 Skill Status: ✓ lyric-writer: claude-opus-4-5-20251101 (current) ✓ researcher: claude-sonnet-4-5-20250929 (current) ⚠ album-art-director: claude-sonnet-4-20250114 (outdated → claude-sonnet-4-5-20250929) ✓ import-audio: claude-haiku-4-5-20251001 (current) Summary: 19/20 skills current, 1 needs update
Update Mode
/skill-model-updater update
- Discover current models (Step 1 above)
- Run check to identify outdated skills
- For each outdated skill:
- Read the SKILL.md file
- Update the
field to discovered current versionmodel: - Preserve the skill's tier (don't change opus to sonnet)
- Update CLAUDE.md - If
line inCo-Authored-By
references an outdated model name, update it to current${CLAUDE_PLUGIN_ROOT}/CLAUDE.md - Report changes made
Output format:
SKILL MODEL UPDATE ================== Models discovered from docs.anthropic.com: - Opus: claude-opus-4-5-20251101 - Sonnet: claude-sonnet-4-5-20250929 - Haiku: claude-haiku-4-5-20251001 Updated 1 skill: - album-art-director: claude-sonnet-4-20250114 → claude-sonnet-4-5-20250929 All skills now current.
Dry Run Mode
/skill-model-updater update --dry-run
Same as update but only reports what would change without editing files.
Model Detection Logic
Identifying Outdated Models
A model is outdated if:
- It's an older version of a current model family (e.g.,
vsclaude-sonnet-4-20250114
)claude-sonnet-4-5-20250929 - It's a deprecated model (e.g.,
)claude-3-opus-20240229
Tier Detection (Auto)
Detect tier from the skill's existing
model: field - no hardcoded tier list needed:
- If model contains
→ update to current opusopus - If model contains
→ update to current sonnetsonnet - If model contains
→ update to current haikuhaiku - If model is shorthand (
,opus
,sonnet
) → leave as-is (always resolves to current)haiku
This preserves deliberate tier assignments without maintaining a separate mapping.
When New Models Release
This skill discovers models automatically and detects tiers from existing assignments.
When Anthropic releases new models:
- Run check -
will discover new models automatically/skill-model-updater check - Review changes - Verify discovered models are correct
- Run update -
to propagate changes/skill-model-updater update
Note: Tier assignments are documented in
${CLAUDE_PLUGIN_ROOT}/reference/model-strategy.md. This skill preserves existing tiers - it only updates version numbers.
Example: Full Update Cycle
User: "New Claude models released, update skills" 1. Run check (discovers models automatically): /skill-model-updater check Output: - Discovered from docs.anthropic.com: Opus 4.5, Sonnet 4, Haiku 3.5 - 3 skills using outdated sonnet (20250114 → 20250514) - 1 skill using deprecated opus (claude-3-opus → claude-opus-4-5) 2. Run dry-run: /skill-model-updater update --dry-run Output shows proposed changes 3. Run update: /skill-model-updater update Output confirms 4 skills updated 4. Verify: /skill-model-updater check Output: All 21 skills current
Error Handling
Missing Model Field
If a SKILL.md has no
model: field:
- Report as "⚠ [skill]: No model specified"
- Do not add one automatically (requires manual decision)
Unknown Model
If a SKILL.md has an unrecognized model:
- Report as "? [skill]: Unknown model '[model-id]'"
- Do not update (requires manual review)
Invalid YAML
If a SKILL.md has malformed frontmatter:
- Report as "✗ [skill]: Invalid YAML frontmatter"
- Do not attempt to update
Scope
This skill updates model references in:
- All
files - Theskills/*/SKILL.md
field in YAML frontmattermodel:
- TheCLAUDE.md
line in the versioning sectionCo-Authored-By: Claude [Model] <noreply@anthropic.com>
Both locations must stay in sync with the latest Claude model names.
Remember
- Check before update - Always know what will change
- Tiers are auto-detected - Skill reads existing model field to determine tier (opus/sonnet/haiku)
- Shorthand is safe -
,opus
,sonnet
always resolve to current versionshaiku - Tier rationale - See
for why each skill uses its tier${CLAUDE_PLUGIN_ROOT}/reference/model-strategy.md - CLAUDE.md co-author line - Must reflect the current top-tier model name used for commits