原文(日本語に翻訳)
プラグインのSKILL.mdの説明がYAML配列やその他の非文字列型の場合に、スラッシュコマンドのオートコンプリートがクラッシュする問題を修正しました。
原文(英語)
Fixed slash command autocomplete crashing when a plugin's SKILL.md description is a YAML array or other non-string type
概要
プラグインの SKILL.md ファイルでdescriptionフィールドにYAML配列や数値等の非文字列型が使用されていた場合、スラッシュコマンドのオートコンプリート機能がクラッシュする問題が修正されました。SKILL.mdの記述方法によっては意図せずYAML配列として解釈されることがあり、その際にClaude Codeが予期しないデータ型を処理できずにクラッシュしていました。v2.1.51以降はこのような非文字列型の記述にも適切に対応します。
基本的な使い方
この修正はバグフィックスです。スラッシュコマンドのオートコンプリートが以前よりも安定して動作するようになります。
bash
# オートコンプリートを使用(以前クラッシュしていた場合も動作するようになった)
claude
# "/sk..." と入力してTabキーでオートコンプリート実践例
クラッシュが発生していたSKILL.mdの例
以下のような記述がクラッシュを引き起こしていました:
yaml
# SKILL.md(クラッシュを引き起こすパターン)
---
description:
- タスク管理を支援するスキル
- ファイル操作とコミットを自動化
name: task-manager
---yaml
# SKILL.md(別のパターン)
---
# コロンを含むテキストがYAML配列として解析される場合
description: [task management, file operations]
---正しいSKILL.mdの記述方法
yaml
# SKILL.md(正しい記述 - 文字列として明示)
---
description: "タスク管理を支援し、ファイル操作とコミットを自動化するスキルです"
name: task-manager
---または:
yaml
---
description: |
タスク管理を支援するスキルです。
ファイル操作とgitコミットを自動化します。
name: task-manager
---カスタムプラグインのSKILL.mdを確認する
既存のプラグインが影響を受けていないか確認する方法:
bash
# プラグインのSKILL.mdを確認
cat ~/.claude/plugins/my-plugin/SKILL.md
# または
cat .claude/plugins/my-plugin/SKILL.mdプラグイン開発でのベストプラクティス
yaml
# ✅ 推奨:文字列として明示的に記述
---
description: "このスキルの説明文"
name: my-skill
---
# ✅ 推奨:ブロックスカラーを使用
---
description: |
このスキルの説明文(複数行の場合)
name: my-skill
---
# ❌ 避けるべき:YAML配列として解析される可能性がある
---
description:
- 説明1
- 説明2
name: my-skill
---注意点
- v2.1.51以降は非文字列型のdescriptionにも対応していますが、可読性と互換性のために文字列形式での記述を推奨します。
- SKILL.mdの
descriptionフィールドは、スラッシュコマンドのオートコンプリートに表示されるテキストに使用されます。 - プラグイン開発者は、SKILL.mdの記述が正しいYAML形式であることを確認してください。YAMLバリデーターを使用すると便利です。
- この修正は後方互換性があります。既存のSKILL.mdファイルに変更は必要ありません。