原文(日本語に翻訳)
SKILL.mdのフロントマターでスキルの name や description が数値リテラル(例:name: 3000)の場合にクラッシュする問題を修正しました。値は適切に文字列に変換されるようになりました(anthropics/claude-code#25837)。
原文(英語)
Fixed crash when a skill's name or description in SKILL.md frontmatter is a bare number (e.g., name: 3000) — the value is now properly coerced to a string (anthropics/claude-code#25837)
概要
カスタムスキルの設定ファイル(SKILL.md)のフロントマターで name または description に数値を直接記述した場合(例:name: 3000)、Claude Codeがクラッシュするバグが修正されました。YAMLでは引用符なしの数値はnumber型として解釈されますが、スキルシステムはstring型を期待していたため不整合が生じていました。修正後は数値を自動的に文字列に変換するので、クラッシュしなくなります。
基本的な使い方
yaml
# SKILL.md フロントマターの例(問題のあったケース)
---
name: 3000 # 数値リテラル → 修正前はクラッシュ
description: 2024 # 数値リテラル → 修正前はクラッシュ
---
# 修正後: 自動的に文字列として扱われる
# name: "3000"
# description: "2024"yaml
# 推奨: 引用符で明示的に文字列として記述
---
name: "3000"
description: "バージョン2024対応のスキル"
---実践例
ユースケース1: ポート番号をスキル名に使う場合
開発サーバーのポート番号をそのままスキル名に使用したい場合。
yaml
# ~/.claude/skills/3000.md
---
name: 3000
description: ポート3000の開発サーバー操作スキル
---
# 開発サーバーを起動して動作確認を行うスキル
## Instructions
ポート3000で動いている開発サーバーの状態を確認し、
必要に応じて再起動や設定の調整を行ってください。bash
# 修正前: Claude Code 起動時にクラッシュ
# 修正後: 正常に起動し /3000 コマンドが使用可能
claude
> /3000ユースケース2: 年号をスキル名に使う場合
年次処理スキルを年号で管理する場合。
yaml
# ~/.claude/skills/2024.md
---
name: 2024
description: 2024年度のレポート生成スキル
---
# 2024年度の各種レポートを生成するスキル
## Instructions
2024年度のデータを使って月次・四半期・年次レポートを
生成してください。bash
# 修正後: 正常に動作する
> /2024
# 2024年度レポート生成スキルが起動するユースケース3: バージョン番号をスキルに使う場合
APIバージョンやライブラリバージョンをスキル名に使用する場合。
yaml
# ~/.claude/skills/v3.md(文字列なので問題なし)
---
name: "v3"
description: "API v3 操作スキル"
---
# バージョン番号のみの場合(修正の恩恵を受けるケース)
# ~/.claude/skills/v2-api.md
---
name: 3 # この数値が自動的に "3" に変換される
description: API バージョン3の操作
---注意点
- 修正は自動的な型変換(coercion)であるため、意図せず数値を設定した場合も動作します
- ただし、スキル名に数値を使うと
/3000のようなコマンドになるため、可読性のために文字列(name: "server-3000"など)を推奨します - YAMLフロントマターでは、引用符なしの数値は常にnumber型として解釈されます。明示的に文字列にしたい場合は必ず引用符を付けてください
descriptionフィールドも同様に数値が自動変換されます