SKILL.mdのYAML frontmatterが壊れていても空メタデータでスキル本体を読み込む
原文(日本語に翻訳)
不正な SKILL.md のYAML frontmatterの処理を改善しました:サイレントに失敗する代わりに、空のメタデータでスキル本体を読み込むようになりました。
原文(英語)
Improved malformed SKILL.md YAML frontmatter handling: loads the skill body with empty metadata instead of failing silently
概要
SKILL.md ファイルのYAML frontmatter(ファイル先頭の --- で囲まれたメタデータ部分)に構文エラーがあった場合、以前はスキル全体が「サイレントに」失敗(読み込まれずにエラーも表示されない)していました。この改善により、frontmatterに問題があっても空のメタデータとしてスキル本体を読み込み、スキルが機能し続けるようになりました。
基本的な使い方
特別な操作は不要です。壊れたfrontmatterがあっても、スキル本体は自動的に読み込まれます。
問題のあるfrontmatterの例
yaml
---
name: my-skill
description: "説明:(コロン後にスペースなし)
invalid-yaml: [unclosed
---
# スキルの内容
スキルの本体はここに記載...以前の動作:スキル全体が読み込まれない(サイレント失敗) 改善後の動作:frontmatterを無視して本体を読み込み(空のメタデータで動作)
実践例
YAMLエラーのデバッグ
スキルが期待通りに動作しない場合、frontmatterの構文を確認します:
yaml
# 問題のある記法
---
description: "これは問題:コロン後のスペースなし"
tags: [tag1, tag2
---
# 正しい記法
---
description: "これは正しい: コロン後にスペース"
tags: [tag1, tag2]
---壊れたfrontmatterの修正
/plugin の Installed タブでスキルが表示されているがメタデータが空の場合は、SKILL.md のfrontmatterを確認・修正します:
- スキルファイルを開く
---で囲まれたYAMLを確認- 構文エラーを修正
- 保存するとスキルが自動的に再読み込みされる
よくあるYAML構文エラー
yaml
# 問題1: 引用符の不一致
name: "my skill' # ← 開き閉じの引用符が違う
# 問題2: インデントエラー
metadata:
key: value # ← インデントが必要
# 問題3: 特殊文字のエスケープ漏れ
description: "コロン: 付きの説明" # ← これは実は有効
description: コロン: 付きの説明 # ← これは無効(引用符なしでコロン後スペース)注意点
- frontmatterが壊れている場合、スキルは「名前なし」「説明なし」などの空のメタデータで動作します
/pluginビューでスキルのメタデータが空の場合は、frontmatterに構文エラーがある可能性があります- スキルの本体(Markdown内容)が正しければ、スキルの機能自体は動作します
- 本来は正しいfrontmatterを持つことが推奨されます。空メタデータはフォールバックです
関連情報
- スキルのfrontmatter確認:
/pluginの Installed タブ - YAML構文チェック: オンラインのYAML バリデーターを利用
- Claude Code スキルシステム