model-discovery
Fetch current model names from AI providers (Anthropic, OpenAI, Gemini, Ollama), classify them into tiers (fast/default/heavy), and detect new models. Use when needing up-to-date model IDs for API calls or when other skills reference model names.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o model-discovery.zip https://jpskill.com/download/18034.zip && unzip -o model-discovery.zip && rm model-discovery.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18034.zip -OutFile "$d\model-discovery.zip"; Expand-Archive "$d\model-discovery.zip" -DestinationPath $d -Force; ri "$d\model-discovery.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
model-discovery.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
model-discoveryフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 3
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Model Discovery Skill
AIプロバイダーのAPIを使用して、最新のモデル名を取得します。ルーティングの決定のための階層分類(fast/default/heavy)と、新しいモデルの自動検出が含まれます。
変数
| 変数 | デフォルト | 説明 |
|---|---|---|
| CACHE_TTL_HOURS | 24 | モデルリストをリフレッシュする前にキャッシュする時間(時間単位) |
| ENABLED_ANTHROPIC | true | Anthropic APIからClaudeモデルを取得するかどうか |
| ENABLED_OPENAI | true | OpenAI APIからGPTモデルを取得するかどうか |
| ENABLED_GEMINI | true | Google APIからGeminiモデルを取得するかどうか |
| ENABLED_OLLAMA | true | Ollamaからローカルモデルを取得するかどうか |
| OLLAMA_HOST | http://localhost:11434 | Ollama APIのエンドポイント |
| AUTO_CLASSIFY | true | パターンマッチングを使用して新しいモデルを自動分類するかどうか |
指示
必須 - 以下のワークフローの手順を順番に実行してください。手順をスキップしないでください。
- いずれかのスキルでモデル名を参照する前に、最新のデータが存在するかどうかを確認してください
- 適切なモデルを選択するために、階層マッピングを使用してください(速度を重視する場合はfast、能力を重視する場合はheavy)
- 新しいモデルを定期的にチェックし、分類してください
危険信号 - 停止して再検討してください
もしあなたが以下をしようとしているなら:
gpt-5.2やclaude-sonnet-4-5のようなモデルバージョンをハードコードする- 現在の可用性を確認せずに、記憶からモデル名を使用する
- APIキーが設定されているかどうかを確認せずにAPIを呼び出す
- プロンプトが表示されたときに、新しいモデルの分類をスキップする
停止 -> 適切なクックブックファイルを読んでください -> フェッチスクリプトを使用してください
ワークフロー
モデルの取得
- [ ] モデルが必要なプロバイダーを決定します
- [ ] キャッシュされたモデルリストが存在するかどうかを確認します:
cache/models.json - [ ] キャッシュが新しい場合(< CACHE_TTL_HOURSより古い場合)、キャッシュされたデータを使用します
- [ ] 古い/欠落している場合は、以下を実行します:
uv run python scripts/fetch_models.py --force - [ ] チェックポイント: 出力にAPIエラーがないことを確認します
- [ ] 必要に応じてモデルIDを使用します
新しいモデルの確認
- [ ] 以下を実行します:
uv run python scripts/check_new_models.py --json - [ ] 新しいモデルが見つかった場合は、出力を確認します
- [ ] 自動分類の場合:
uv run python scripts/check_new_models.py --auto - [ ] インタラクティブな分類の場合:
uv run python scripts/check_new_models.py - [ ] チェックポイント: すべてのモデルが階層(fast/default/heavy)に割り当てられていることを確認します
階層の推奨事項の取得
- [ ] 現在の階層マッピングについて、
config/model_tiers.jsonを読んでください - [ ] タスクの複雑さに応じて適切なモデルを使用してください:
- fast: 単純なタスク、高いスループット、コスト重視
- default: 汎用、バランスが取れている
- heavy: 複雑な推論、研究、困難なタスク
モデル階層リファレンス
Anthropic Claude
| 階層 | モデル | CLI名 |
|---|---|---|
| fast | claude-haiku-4-5 | haiku |
| default | claude-sonnet-4-5 | sonnet |
| heavy | claude-opus-4-5 | opus |
OpenAI
| 階層 | モデル | 注 |
|---|---|---|
| fast | gpt-5.2-mini | 速度最適化 |
| default | gpt-5.2 | バランスの取れたフラッグシップ |
| heavy | gpt-5.2-pro | 最大限の能力 |
Codex (コーディング用): | 階層 | モデル | |------|-------| | fast | gpt-5.2-codex-mini | | default | gpt-5.2-codex | | heavy | gpt-5.2-codex-max |
Google Gemini
| 階層 | モデル | コンテキスト |
|---|---|---|
| fast | gemini-3-flash-lite | API出力を参照 |
| default | gemini-3-pro | API出力を参照 |
| heavy | gemini-3-deep-think | API出力を参照 |
Ollama (ローカル)
| 階層 | 推奨モデル | 注 |
|---|---|---|
| fast | phi3.5:latest | 小型; 高速 |
| default | llama3.2:latest | バランスが取れている |
| heavy | llama3.3:70b | 大型; GPUが必要 |
CLIマッピング (spawn:agentスキル用)
| CLIツール | Fast | Default | Heavy |
|---|---|---|---|
| claude-code | haiku | sonnet | opus |
| codex-cli | gpt-5.2-codex-mini | gpt-5.2-codex | gpt-5.2-codex-max |
| gemini-cli | gemini-3-flash-lite | gemini-3-pro | gemini-3-deep-think |
| cursor-cli | gpt-5.2 | sonnet-4.5 | sonnet-4.5-thinking |
| opencode-cli | anthropic/claude-haiku-4-5 | anthropic/claude-sonnet-4-5 | anthropic/claude-opus-4-5 |
| copilot-cli | claude-sonnet-4.5 | claude-sonnet-4.5 | claude-sonnet-4.5 |
クイックリファレンス
スクリプト
# すべてのモデルを取得します(キャッシュが新しい場合はキャッシュを使用します)
uv run python scripts/fetch_models.py
# APIから強制的にリフレッシュします
uv run python scripts/fetch_models.py --force
# モデルを取得し、新しいモデルを確認します
uv run python scripts/fetch_models.py --force --check-new
# 分類されていない新しいモデルを確認します(エージェント用のJSON出力)
uv run python scripts/check_new_models.py --json
# パターンを使用して新しいモデルを自動分類します
uv run python scripts/check_new_models.py --auto
# インタラクティブな分類
uv run python scripts/check_new_models.py
設定ファイル
| ファイル | 目的 |
|---|---|
config/model_tiers.json |
静的な階層マッピングとCLIモデル名 |
config/known_models.json |
タイムスタンプ付きのすべての分類済みモデルのレジストリ |
cache/models.json |
キャッシュされたAPIレスポンス |
APIエンドポイント
| プロバイダー | エンドポイント | 認証 |
|---|---|---|
| Anthropic | GET /v1/models |
x-api-key ヘッダー |
| OpenAI | GET /v1/models |
ベアラートークン |
| Gemini | GET /v1beta/models |
?key= パラメータ |
| Ollama | GET /api/tags |
なし |
出力例
モデル取得の出力
{
"fetched_at": "2025-12-17T05:53:25Z",
"providers": {
"anthropic": [{"id": "claude-opus-4-5", "name": "Claude Opus 4.5"}],
"openai": [{"id": "gpt-5.2", "name": "gpt-5.2"}],
"gemini": [{"id": "models/gemini-3-pro", "name": "Gemini 3 Pro"}],
"ollama": [{"id": "phi3.5:latest", "name": "phi3.5:latest"}]
}
}
新しいモデルの確認の出力 (--json)
{
"timestamp": "2025-12-17T06:00:00Z",
"has_new_models": true,
"total_new": 2,
"by_provider": {
"openai": {
"count": 2,
"models": [
{"id": "gpt-5.2-mini", "inferred_tier": "fast", "needs_classification": false},
{"id": "gpt-5.2-pro", "inferred_tier": "heavy", "needs_classification": false}
]
}
}
}
統合
他のスキルは、モデルについてこのスキルを参照する必要があります
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Model Discovery Skill
Fetch the most recent model names from AI providers using their APIs. Includes tier classification (fast/default/heavy) for routing decisions and automatic detection of new models.
Variables
| Variable | Default | Description |
|---|---|---|
| CACHE_TTL_HOURS | 24 | How long to cache model lists before refreshing |
| ENABLED_ANTHROPIC | true | Fetch Claude models from Anthropic API |
| ENABLED_OPENAI | true | Fetch GPT models from OpenAI API |
| ENABLED_GEMINI | true | Fetch Gemini models from Google API |
| ENABLED_OLLAMA | true | Fetch local models from Ollama |
| OLLAMA_HOST | http://localhost:11434 | Ollama API endpoint |
| AUTO_CLASSIFY | true | Auto-classify new models using pattern matching |
Instructions
MANDATORY - Follow the Workflow steps below in order. Do not skip steps.
- Before referencing model names in any skill, check if fresh data exists
- Use tier mappings to select appropriate models (fast for speed, heavy for capability)
- Check for new models periodically and classify them
Red Flags - STOP and Reconsider
If you're about to:
- Hardcode a model version like
gpt-5.2orclaude-sonnet-4-5 - Use model names from memory without checking current availability
- Call APIs without checking if API keys are configured
- Skip new model classification when prompted
STOP -> Read the appropriate cookbook file -> Use the fetch script
Workflow
Fetching Models
- [ ] Determine which provider(s) you need models from
- [ ] Check if cached model list exists:
cache/models.json - [ ] If cache is fresh (< CACHE_TTL_HOURS old), use cached data
- [ ] If stale/missing, run:
uv run python scripts/fetch_models.py --force - [ ] CHECKPOINT: Verify no API errors in output
- [ ] Use the model IDs as needed
Checking for New Models
- [ ] Run:
uv run python scripts/check_new_models.py --json - [ ] If new models found, review the output
- [ ] For auto-classification:
uv run python scripts/check_new_models.py --auto - [ ] For interactive classification:
uv run python scripts/check_new_models.py - [ ] CHECKPOINT: All models assigned to tiers (fast/default/heavy)
Getting Tier Recommendations
- [ ] Read:
config/model_tiers.jsonfor current tier mappings - [ ] Use the appropriate model for task complexity:
- fast: Simple tasks, high throughput, cost-sensitive
- default: General purpose, balanced
- heavy: Complex reasoning, research, difficult tasks
Model Tier Reference
Anthropic Claude
| Tier | Model | CLI Name |
|---|---|---|
| fast | claude-haiku-4-5 | haiku |
| default | claude-sonnet-4-5 | sonnet |
| heavy | claude-opus-4-5 | opus |
OpenAI
| Tier | Model | Notes |
|---|---|---|
| fast | gpt-5.2-mini | Speed optimized |
| default | gpt-5.2 | Balanced flagship |
| heavy | gpt-5.2-pro | Maximum capability |
Codex (for coding): | Tier | Model | |------|-------| | fast | gpt-5.2-codex-mini | | default | gpt-5.2-codex | | heavy | gpt-5.2-codex-max |
Google Gemini
| Tier | Model | Context |
|---|---|---|
| fast | gemini-3-flash-lite | See API output |
| default | gemini-3-pro | See API output |
| heavy | gemini-3-deep-think | See API output |
Ollama (Local)
| Tier | Suggested Model | Notes |
|---|---|---|
| fast | phi3.5:latest | Small; fast |
| default | llama3.2:latest | Balanced |
| heavy | llama3.3:70b | Large; requires GPU |
CLI Mappings (for spawn:agent skill)
| CLI Tool | Fast | Default | Heavy |
|---|---|---|---|
| claude-code | haiku | sonnet | opus |
| codex-cli | gpt-5.2-codex-mini | gpt-5.2-codex | gpt-5.2-codex-max |
| gemini-cli | gemini-3-flash-lite | gemini-3-pro | gemini-3-deep-think |
| cursor-cli | gpt-5.2 | sonnet-4.5 | sonnet-4.5-thinking |
| opencode-cli | anthropic/claude-haiku-4-5 | anthropic/claude-sonnet-4-5 | anthropic/claude-opus-4-5 |
| copilot-cli | claude-sonnet-4.5 | claude-sonnet-4.5 | claude-sonnet-4.5 |
Quick Reference
Scripts
# Fetch all models (uses cache if fresh)
uv run python scripts/fetch_models.py
# Force refresh from APIs
uv run python scripts/fetch_models.py --force
# Fetch and check for new models
uv run python scripts/fetch_models.py --force --check-new
# Check for new unclassified models (JSON output for agents)
uv run python scripts/check_new_models.py --json
# Auto-classify new models using patterns
uv run python scripts/check_new_models.py --auto
# Interactive classification
uv run python scripts/check_new_models.py
Config Files
| File | Purpose |
|---|---|
config/model_tiers.json |
Static tier mappings and CLI model names |
config/known_models.json |
Registry of all classified models with timestamps |
cache/models.json |
Cached API responses |
API Endpoints
| Provider | Endpoint | Auth |
|---|---|---|
| Anthropic | GET /v1/models |
x-api-key header |
| OpenAI | GET /v1/models |
Bearer token |
| Gemini | GET /v1beta/models |
?key= param |
| Ollama | GET /api/tags |
None |
Output Examples
Fetch Models Output
{
"fetched_at": "2025-12-17T05:53:25Z",
"providers": {
"anthropic": [{"id": "claude-opus-4-5", "name": "Claude Opus 4.5"}],
"openai": [{"id": "gpt-5.2", "name": "gpt-5.2"}],
"gemini": [{"id": "models/gemini-3-pro", "name": "Gemini 3 Pro"}],
"ollama": [{"id": "phi3.5:latest", "name": "phi3.5:latest"}]
}
}
Check New Models Output (--json)
{
"timestamp": "2025-12-17T06:00:00Z",
"has_new_models": true,
"total_new": 2,
"by_provider": {
"openai": {
"count": 2,
"models": [
{"id": "gpt-5.2-mini", "inferred_tier": "fast", "needs_classification": false},
{"id": "gpt-5.2-pro", "inferred_tier": "heavy", "needs_classification": false}
]
}
}
}
Integration
Other skills should reference this skill for model names:
## Model Names
For current model names and tiers, use the `model-discovery` skill:
- Tiers: Read `config/model_tiers.json`
- Fresh data: Run `uv run python scripts/fetch_models.py`
- New models: Run `uv run python scripts/check_new_models.py --json`
**Do not hardcode model version numbers** - they become stale quickly.
New Model Detection
When new models are detected:
- The script will report them with suggested tiers based on naming patterns
- Models matching these patterns are auto-classified:
- heavy:
-pro,-opus,-max,thinking,deep-research - fast:
-mini,-nano,-flash,-lite,-haiku - default: Base model names without modifiers
- heavy:
- Models not matching patterns require manual classification
- Specialty models (TTS, audio, transcribe) are auto-excluded
Agent Query for New Models
When checking for new models programmatically:
# Returns exit code 1 if new models need attention
uv run python scripts/check_new_models.py --json
# Example agent workflow
if ! uv run python scripts/check_new_models.py --json > /tmp/new_models.json 2>&1; then
echo "New models detected - review /tmp/new_models.json"
fi 同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (7,508 bytes)
- 📎 scripts/check_new_models.py (11,169 bytes)
- 📎 scripts/fetch_models.py (11,391 bytes)