skill-model-updater
- Repo stars 206
- Author repo claude-ai-music-skills
Your 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/modelsExtract current model IDs for each tier:
- Opus (most capable) - Look for
claude-opus-*orclaude-*-opus-* - Sonnet (balanced) - Look for
claude-sonnet-*orclaude-*-sonnet-* - Haiku (fast) - Look for
claude-haiku-*orclaude-*-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):
opus→ current opus modelsonnet→ current sonnet modelhaiku→ current haiku model
Workflow
Check Mode
/skill-model-updater check
- Discover current models (Step 1 above) - WebSearch/WebFetch Anthropic docs
- Glob for all
skills/*/SKILL.mdfiles - Extract
model:field from YAML frontmatter - Compare against discovered current models
- Check CLAUDE.md - Scan
${CLAUDE_PLUGIN_ROOT}/CLAUDE.mdforCo-Authored-By: Claudelines and verify model name is current - 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
model:field to discovered current version - Preserve the skill's tier (don't change opus to sonnet)
- Update CLAUDE.md - If
Co-Authored-Byline in${CLAUDE_PLUGIN_ROOT}/CLAUDE.mdreferences an outdated model name, update it to current - 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.,
claude-sonnet-4-20250114vsclaude-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
opus→ update to current opus - If model contains
sonnet→ update to current sonnet - If model contains
haiku→ update to current haiku - If model is shorthand (
opus,sonnet,haiku) → leave as-is (always resolves to current)
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 -
/skill-model-updater checkwill discover new models automatically - Review changes - Verify discovered models are correct
- Run update -
/skill-model-updater updateto propagate changes
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
skills/*/SKILL.mdfiles - Themodel:field in YAML frontmatter CLAUDE.md- TheCo-Authored-By: Claude [Model] <noreply@anthropic.com>line in the versioning section
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,haikualways resolve to current versions - Tier rationale - See
${CLAUDE_PLUGIN_ROOT}/reference/model-strategy.mdfor why each skill uses its tier - CLAUDE.md co-author line - Must reflect the current top-tier model name used for commits
- Fluxly category
- Other
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @bitwize-music-studio · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- External requests
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
# Expected Output Format
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 Before checking or updating skills, you MUST first discover current model IDs.
Search for current Anthropic models: Fetch official documentation: Extract current model IDs for each tier:
Workflow
## Your Task
**Command**: $ARGUMENTS
Based on the command:
1. **check** - Discover current models, scan all skills, report status
2. **update** - Update outdated models to current versions
3. **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
1. **Search for current Anthropic models:**
```
WebSearch: "Anthropic Claude model IDs 2025" OR "Claude API models list current"
```
2. **Fetch official documentation:**
```
WebFetch: https://docs.anthropic.com/en/docs/about-claude/models
```
3. **Extract current model IDs** for each tier:
- **Opus** (most capable) - Look for `claude-opus-*` or `claude-*-opus-*`
- **Sonnet** (balanced) - Look for `claude-sonnet-*` or `claude-*-sonnet-*`
- **Haiku** (fast) - Look for `claude-haiku-*` or `claude-*-haiku-*`
4. **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):
- `opus` → current opus model
- `sonnet` → current sonnet model
- `haiku` → current haiku model
---
## Workflow
### Check Mode
```bash
/skill-model-updater check
```
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Your Task → Step 1: Discover Current Models → Discovery Method → Expected Output Format → Workflow → Check Mode
terms -> Command · check · update · update --dry-run · Before checking or updating skills, you MUST first discover current model IDs. · Search for current Anthropic models · Fetch official documentation · Extract current model IDs
files/cmd -> claude-opus- · claude--opus- · claude-sonnet- · claude--sonnet- · claude-haiku- · claude--haiku- · 20250514 · 20250114
body sha256 -> 9396cdbb464d
Decide Fit First
Design Intent
How To Use It
Boundaries And Review