mcpField
S
skill-model-updater

skill-model-updater

github.com/bitwize-music-studioAgent 工作流60389 次安装2 周前更新
代码仓库

关于 skill-model-updater

skill-model-updater 是用于维护技能文件和 CLAUDE.md 中 Claude 模型引用的 Agent 技能。它会发现当前模型 ID、检查已分配的等级,并可更新过时引用或预览变更。

主要功能

  1. 01发现当前 Claude 模型 ID
  2. 02检查技能文件和 CLAUDE.md 中的模型
  3. 03保留等级并更新模型版本
  4. 04预览变更的试运行模式

适用场景

  1. 01检查技能中的 Claude 模型引用是否过时
  2. 02Anthropic 发布模型后更新 ID
  3. 03编辑前预览模型变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill skill-model-updater

安装后在 Claude Code 中输入/skill-model-updater确认已加载。

详细介绍

你的任务

命令:$ARGUMENTS

根据命令:

  1. check - 发现当前模型,扫描所有技能并报告状态
  2. update - 将过时模型更新为当前版本
  3. update --dry-run - 显示将进行的更新,但不做任何更改

技能模型更新器

维护所有技能文件中的模型版本,确保技能使用最新的 Claude 模型。


第 1 步:发现当前模型

在检查或更新技能之前,必须先发现当前模型 ID。

发现方法
  1. 搜索当前 Anthropic 模型:

    WebSearch: "Anthropic Claude model IDs 2025" OR "Claude API models list current"
    
  2. 获取官方文档:

    WebFetch: https://docs.anthropic.com/en/docs/about-claude/models
    
  3. 提取各层级的当前模型 ID:

    • Opus(能力最强)- 查找 claude-opus-* 或 claude-*-opus-*
    • Sonnet(均衡)- 查找 claude-sonnet-* 或 claude-*-sonnet-*
    • Haiku(速度快)- 查找 claude-haiku-* 或 claude-*-haiku-*
  4. 按日期后缀确定每个层级的最新版本(例如,20250514 > 20250114)

预期输出格式

发现后,报告:

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

简写别名(始终有效,会解析为当前版本):

  • opus → 当前 opus 模型
  • sonnet → 当前 sonnet 模型
  • haiku → 当前 haiku 模型

工作流

检查模式
/skill-model-updater check
  1. 发现当前模型(参见上文第 1 步)- 使用 WebSearch/WebFetch 搜索 Anthropic 文档
  2. 使用 Glob 查找所有 skills/*/SKILL.md 文件
  3. 从 YAML frontmatter 中提取 model: 字段
  4. 与发现的当前模型进行比较
  5. 检查 CLAUDE.md - 扫描 ${CLAUDE_PLUGIN_ROOT}/CLAUDE.md 中的 Co-Authored-By: Claude 行,并确认模型名称是否为当前版本
  6. 报告每个技能和 CLAUDE.md 的状态

输出格式:

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
更新模式
/skill-model-updater update
  1. 发现当前模型(参见上文第 1 步)
  2. 运行检查以找出过时的技能
  3. 对于每个过时的技能:
    • 读取 SKILL.md 文件
    • 将 model: 字段更新为发现的当前版本
    • 保留技能的层级(不要将 opus 改为 sonnet)
  4. 更新 CLAUDE.md - 如果 ${CLAUDE_PLUGIN_ROOT}/CLAUDE.md 中的 Co-Authored-By 行引用了过时的模型名称,则将其更新为当前版本
  5. 报告所做的更改

输出格式:

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.
试运行模式
/skill-model-updater update --dry-run

与更新模式相同,但只报告将进行的更改,不编辑文件。


模型检测逻辑

识别过时模型

符合以下任一条件的模型即为过时模型:

  1. 属于当前模型系列的旧版本(例如,claude-sonnet-4-20250114 与 claude-sonnet-4-5-20250929)
  2. 已弃用的模型(例如,claude-3-opus-20240229)
层级检测(自动)

根据技能现有的 model: 字段检测层级,无需硬编码层级列表:

  • 如果模型包含 opus → 更新为当前 opus
  • 如果模型包含 sonnet → 更新为当前 sonnet
  • 如果模型包含 haiku → 更新为当前 haiku
  • 如果模型是简写形式(opus、sonnet、haiku)→ 保持不变(始终会解析为当前版本)

这样可以保留有意指定的层级,无需维护单独的映射。


发布新模型时

此技能会自动发现模型,并根据现有分配检测层级。

Anthropic 发布新模型时:

  1. 运行检查 - /skill-model-updater check 会自动发现新模型
  2. 检查变更 - 确认发现的模型正确无误
  3. 运行更新 - 使用 /skill-model-updater update 应用变更

注意:层级分配记录在 ${CLAUDE_PLUGIN_ROOT}/reference/model-strategy.md 中。此技能会保留现有层级,只更新版本号。


示例:完整更新周期

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

错误处理

缺少模型字段

如果 SKILL.md 没有 model: 字段:

  • 报告为“⚠ [skill]:未指定模型”
  • 不要自动添加(需要手动决定)
未知模型

如果 SKILL.md 中包含无法识别的模型:

  • 报告为“? [skill]:未知模型‘[model-id]’”
  • 不要更新(需要手动审核)
YAML 无效

如果 SKILL.md 的 frontmatter 格式错误:

  • 报告为“✗ [skill]:YAML frontmatter 无效”
  • 不要尝试更新

范围

此技能会更新以下位置的模型引用:

  1. 所有 skills/*/SKILL.md 文件——YAML frontmatter 中的 model: 字段
  2. CLAUDE.md——版本控制部分中的 Co-Authored-By: Claude [Model] <[email protected]> 行

这两个位置都必须与最新的 Claude 模型名称保持一致。


请记住

  • 更新前先检查——始终确认哪些内容会发生变化
  • 自动检测层级——技能会读取现有的模型字段来确定层级(opus/sonnet/haiku)
  • 使用简写更安全——opus、sonnet、haiku 始终会解析为当前版本
  • 层级选择依据——请参阅 ${CLAUDE_PLUGIN_ROOT}/reference/model-strategy.md,了解各技能使用相应层级的原因
  • CLAUDE.md 合著者行——必须体现用于提交的当前最高层级模型名称

评论

支持 Markdown