1Mコンテキストセッションでのスキル呼び出し時「Context limit reached」エラーの修正
原文(日本語に翻訳)
model: フロントマターを持つスキルを1Mコンテキストセッションで呼び出した際に、誤った「Context limit reached」が表示される問題を修正
原文(英語)
Fixed spurious "Context limit reached" when invoking a skill with model: frontmatter on a 1M-context session
概要
Claude Code v2.1.76で、1Mコンテキストウィンドウのセッション中に model: フロントマターが設定されたスキルを呼び出すと、実際にはコンテキスト制限に達していないにもかかわらず「Context limit reached」というエラーが誤って表示される問題が修正されました。スキルのフロントマターで異なるモデルを指定した場合に、コンテキストサイズの計算が正しく行われていなかったことが原因です。
基本的な使い方
model: フロントマターを持つスキルを1Mコンテキストセッションで問題なく使用できるようになりました:
yaml
# .claude/skills/my-skill/SKILL.md
---
name: my-skill
description: 特定のモデルを使用するスキル
model: claude-sonnet-4-20250514
---
スキルの指示内容...bash
# 1Mコンテキストモデル(例: claude-opus-4-6[1m])でセッションを開始
claude
# スキルを呼び出し
/my-skill 対象のコードを分析して
# 修正前: "Context limit reached" エラーが表示されることがあった
# 修正後: 正常にスキルが実行される実践例
モデルを切り替えるスキルの活用
コスト効率のために、タスクに応じて異なるモデルを使い分けるスキル:
yaml
# .claude/skills/quick-review/SKILL.md
---
name: quick-review
description: 軽量なコードレビューを実行
model: claude-sonnet-4-20250514
context: fork
---
渡されたコードを簡潔にレビューしてください。
重大な問題のみを報告してください。bash
# Opusモデルの1Mコンテキストセッション内で
/quick-review src/auth/login.ts
# 修正後: モデル切り替えが正常に行われ、エラーなく実行されるサブエージェントで別モデルを使うスキル
context: fork と model: を組み合わせたスキル:
yaml
# .claude/skills/deep-analysis/SKILL.md
---
name: deep-analysis
description: コードの深い分析を実行
model: claude-opus-4-20250514
context: fork
agent: Explore
---
$ARGUMENTS を徹底的に分析してください:
1. コードの構造と依存関係を調査
2. 潜在的な問題点を特定
3. 改善提案をまとめるbash
# 1Mコンテキストセッション内で呼び出し
/deep-analysis src/core/
# 修正後: コンテキスト制限エラーなしに分析が実行される複数のスキルを連続して使用
1Mコンテキストセッション内で複数のモデル指定スキルを使い分ける:
bash
# セッション内で複数のスキルを順番に使用
/quick-review src/api/routes.ts # Sonnetモデルで軽量レビュー
/deep-analysis src/api/middleware/ # Opusモデルで詳細分析
# 修正後: いずれのスキルも "Context limit reached" エラーなしに実行される注意点
model:フロントマター: スキルのSKILL.mdでmodel:を指定すると、そのスキル実行時に使用されるモデルを変更できます- 1Mコンテキスト: Opus 4.6 の1Mコンテキストバリアント(
claude-opus-4-6[1m])など、大容量コンテキストモデルを使用している場合に発生していた問題です - コンテキスト使用量の確認:
/contextコマンドで現在のコンテキスト使用量を確認できます context: forkとの組み合わせ:model:とcontext: forkを組み合わせると、スキルは独立したサブエージェントとして指定モデルで実行されます