Skip to content

スキルfrontmatterがkebab-case・snake_case・camelCaseを受け入れるように改善

原文(日本語に翻訳)

スキルのfrontmatterを改善しました:display-namedefault-enabledfallbackmetadata.* キーがkebab-case、snake_case、camelCaseを受け入れるようになりました。

原文(英語)

Improved skill frontmatter: display-name, default-enabled, fallback, and metadata.* keys now accept kebab-case, snake_case, and camelCase

概要

スキル定義ファイル(SKILL.md)のfrontmatterで使用するキー名について、複数の命名規則(kebab-case、snake_case、camelCase)がすべて受け入れられるようになりました。以前は display-name のようなkebab-caseのみが有効でしたが、display_namedisplayName でも同様に機能します。これにより、スキル開発者が好みの命名規則を自由に使用できます。

基本的な使い方

以下の3つの記法がすべて同等に機能します:

kebab-case(従来から対応)

yaml
---
display-name: "私のスキル"
default-enabled: true
fallback: false
metadata:
  my-key: value
---

snake_case(新対応)

yaml
---
display_name: "私のスキル"
default_enabled: true
fallback: false
metadata:
  my_key: value
---

camelCase(新対応)

yaml
---
displayName: "私のスキル"
defaultEnabled: true
fallback: false
metadata:
  myKey: value
---

実践例

JavaScriptスタイルのfrontmatter

JavaScript開発者は camelCase が自然に感じるかもしれません:

yaml
---
name: deploy-check
displayName: "デプロイ前チェック"
description: "デプロイ前に実行する検証スキル"
defaultEnabled: true
metadata:
  targetEnvironment: production
  requiresApproval: true
---

Python/シェルスタイルのfrontmatter

Python開発者は snake_case が好ましいかもしれません:

yaml
---
name: code_reviewer
display_name: "コードレビュアー"
description: "コードレビューを自動実行するスキル"
default_enabled: false
metadata:
  review_depth: thorough
  auto_fix: false
---

混在した命名規則(後方互換性)

既存のスキルが異なる命名規則を使用していても、そのまま動作し続けます。

注意点

  • 同じキーを複数の命名規則で重複して定義した場合の動作は不定です。一つの規則に統一してください
  • この変更はスキルのfrontmatterのみに適用されます。スキル本体のMarkdown内容には影響しません
  • 既存のスキルは変更なしで動作し続けます(後方互換性あり)
  • metadata.* サブキーも同様に3つの命名規則すべてに対応します

関連情報