Skip to content

原文(日本語に翻訳)

プラグインのいくつかの問題を修正しました:重複する name: フロントマターを持つ場合に誤ったプラグインに解決されるスラッシュコマンド、ENAMETOOLONG で失敗する /plugin update、既にインストール済みのプラグインを表示するDiscover、古いバージョンキャッシュから読み込まれるディレクトリソースプラグイン、context: forkagent フロントマターフィールドを尊重しないスキル。

原文(英語)

Fixed several plugin issues: slash commands resolving to the wrong plugin with duplicate name: frontmatter, /plugin update failing with ENAMETOOLONG, Discover showing already-installed plugins, directory-source plugins loading from a stale version cache, and skills not honoring context: fork and agent frontmatter fields

概要

このアップデートでは、プラグインシステムに関連する5つの問題が同時に修正されました。スラッシュコマンドの解決精度の向上、長いパス名でのエラー修正、Discoverページのフィルタリング改善、プラグインキャッシュの新鮮性確保、スキルのコンテキスト設定の尊重など、プラグインの全体的な品質が向上しています。

基本的な使い方

bash
# プラグインの更新
/plugin update

# プラグインの検索・発見
/plugin discover

# スラッシュコマンドの実行(修正後:正しいプラグインに解決される)
/my-plugin-command

# スキルの実行(修正後:context: fork 等が正しく動作)
/my-skill

実践例

重複スラッシュコマンド名の解決改善

yaml
# plugin-a/SKILL.md
---
name: search
description: "プロジェクト内を検索する"
---

# 検索機能を実装...
yaml
# plugin-b/SKILL.md
---
name: search
description: "ウェブを検索する"
---

# ウェブ検索機能を実装...
bash
# 修正前: どちらの /search が実行されるか不定
# 修正後: 正しいプラグインのコマンドが実行される
# プラグインが適切に区別される

/plugin:plugin-a:search  # plugin-aのsearchを明示的に指定
/plugin:plugin-b:search  # plugin-bのsearchを明示的に指定

長いパス名でのプラグイン更新

bash
# 修正前: 非常に長いパスにインストールされているプラグインの更新が失敗
# Error: ENAMETOOLONG: file name too long

# 修正後: 長いパスでも正常に更新できる
/plugin update my-very-long-plugin-name-with-detailed-description

# または全プラグインを一括更新
/plugin update --all

Discoverページの改善

bash
# プラグインを検索
/plugin discover

# 修正前: 既にインストール済みのプラグインも表示される
# 修正後: 未インストールのプラグインのみが表示される

# インストール済みプラグインの確認
/plugin list

# 新しいプラグインの発見(インストール済みは除外されて表示)
/plugin discover --category productivity

ディレクトリソースプラグインの鮮新なキャッシュ

bash
# ローカルディレクトリからプラグインを読み込む設定
cat ~/.claude/settings.json
json
{
  "plugins": {
    "sources": [
      {
        "type": "directory",
        "path": "/path/to/my-plugins"
      }
    ]
  }
}
bash
# 修正前: プラグインを更新しても古いキャッシュから読み込まれる
# 修正後: ディレクトリの変更が正しく反映される

# プラグインファイルを更新
vim /path/to/my-plugins/my-skill.md

# 修正後: 更新されたプラグインが即座に反映される
/my-skill  # 最新バージョンのスキルが実行される

スキルのコンテキスト設定

yaml
# スキルのフロントマター
---
name: code-review
description: "コードレビューを実行する"
context: fork          # 新しいコンテキストでフォーク実行
agent: subagent        # サブエージェントとして実行
---

# 修正前: context: fork と agent フィールドが無視される
# 修正後: これらのフィールドが正しく尊重される

# スキルが正しい設定で実行される

注意点

  • スラッシュコマンドの重複名を避けるため、プラグイン開発時は一意な名前を使用することを推奨します
  • 長いパス名の問題は、ファイルシステムの制限(通常255文字)によるものでした
  • Discoverページの改善により、すでにインストール済みのプラグインを誤って再インストールすることがなくなります
  • ディレクトリソースプラグインの変更は、Claude Codeの再起動なしに反映されるようになりました
  • context: fork を設定したスキルは独立したコンテキストで実行され、メインの会話に影響しません

関連情報