cowork-plugin-customizer について
Cowork プラグインのテンプレートや既存設定を組織向けに調整するスキルです。背景情報の収集、変更範囲の整理、MCP の検索と設定を行い、最後に .plugin ファイルとしてまとめます。
主な機能
- 01テンプレートと範囲指定のカスタマイズ
- 02組織の背景情報の収集
- 03変更内容の確認と質問
- 04MCP の検索と設定
- 05.plugin ファイルへのパッケージ化
活用シーン
- 01プラグインを組織のツールに合わせる
- 02特定のスキルやコネクターを更新する
- 03インストール用のカスタムプラグインを用意する
MCP 対応
カスタマイズ中に関連する MCP を検索し、プラグインの MCP 設定を更新できます。利用可能な場合は、社内ナレッジ MCP から背景情報も収集します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill cowork-plugin-customizerインストール後、Claude Code で/cowork-plugin-customizerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtexamples/customized-mcp.jsonreferences/mcp-servers.mdsearch-strategies.md詳細
Cowork プラグインのカスタマイズ
特定の組織向けにプラグインをカスタマイズします。汎用プラグインテンプレートを初めて設定する場合も、すでに設定済みのプラグインを調整して改良する場合も対象です。
プラグインの検索:プラグインのソースファイルを見つけるには、
find mnt/.local-plugins mnt/.plugins -type d -name "*<plugin-name>*"を実行してプラグインのディレクトリを特定し、変更を加える前にファイルを読んで構成を把握してください。プラグインのディレクトリが見つからない場合、ユーザーはこの会話をリモートコンテナで実行している可能性があります。処理を中止し、「プラグインのカスタマイズは現在、デスクトップアプリの Cowork モードでのみ利用できます。」と伝えてください。
カスタマイズモードの判定
プラグインの場所を特定したら、~~ で始まるプレースホルダーがあるか確認します:grep -rn '~~\w' /path/to/plugin --include='*.md' --include='*.json'
デフォルトのルール:
~~のプレースホルダーがある場合、ユーザーがプラグインの特定の部分のカスタマイズを明示的に依頼していない限り、汎用プラグインのセットアップをデフォルトとして選択してください。
1. 汎用プラグインのセットアップ — プラグインに ~~ で始まるプレースホルダーが含まれています。これらはテンプレート内のカスタマイズ箇所で、実際の値に置き換える必要があります(例:~~Jira → Asana、~~your-team-channel → #engineering)。
2. 範囲を限定したカスタマイズ — ~~ のプレースホルダーがなく、ユーザーがプラグインの特定部分のカスタマイズを依頼しています(例:「コネクタをカスタマイズ」「スタンドアップスキルを更新」「チケットツールを変更」)。関連するセクションを見つけるためにプラグインのファイルを読み、対象に絞って作業してください。プラグイン全体を調べたり、無関係なカスタマイズ項目を提示したりしないでください。
レガシーの
commands/ディレクトリ:一部のプラグインにはcommands/ディレクトリが含まれています。Cowork の UI では、これらはスキルとともに単一の「スキル」という概念で表示されます。カスタマイズ時は、commands/*.mdファイルをskills/*/SKILL.mdファイルと同じように扱ってください。
3. 全般的なカスタマイズ — ~~ のプレースホルダーがなく、ユーザーがプラグイン全体を広く変更したいと考えています。現在の設定を把握するためにプラグインのファイルを読み、何を変更したいかユーザーに尋ねてください。
重要:カスタマイズ対象のプラグイン名やスキル名は絶対に変更しないでください。ディレクトリ、ファイル、プラグイン名またはスキル名のフィールドの名前を変更しないでください。
ユーザー向けの出力:ToDo リストの項目、質問、要約など、ユーザーに見せる出力はすべて、専門知識がなくても理解できる平易な言葉で記述してください。
~~で始まる表記、プレースホルダー、カスタマイズ箇所についてユーザーに伝えてはいけません。プラグインの機能や組織で使うツールに沿って説明してください。
カスタマイズのワークフロー
フェーズ 0:ユーザーの意図を確認する(範囲を限定したカスタマイズと全般的なカスタマイズのみ)
範囲を限定したカスタマイズと全般的なカスタマイズ(汎用プラグインのセットアップを除く)では、ユーザーが依頼とともに自由形式の状況説明を提供しているか確認してください(例:「スタンドアップスキルをカスタマイズしてください。毎朝、#eng-updates で非同期のスタンドアップをしています」)。
-
ユーザーが状況説明を提供している場合:その内容を記録し、フェーズ 3 で回答の事前入力に使用してください。すでに回答済みの質問は省略してください。
-
ユーザーが状況説明を提供していない場合:先に進む前に、AskUserQuestion を使って自由回答形式の質問を 1 つだけしてください。依頼されたカスタマイズの内容に合わせて質問を調整してください。たとえば、「ブリーフスキルのどのような変更をお考えですか?」や「このプラグインの動作について、どのような変更を希望しますか?」のように、短く、依頼内容に即した質問にしてください。
ユーザーからの回答があれば、以降のフェーズを通じて追加の状況情報として活用してください。
フェーズ 1:ナレッジ MCP からコンテキストを収集する
社内のナレッジ MCP を使って、カスタマイズの範囲に関連する情報を収集します。カテゴリ別の詳しいクエリパターンについては、references/search-strategies.md を参照してください。
収集する情報(関連するものに範囲を絞ります):
- 組織が使用しているツール名とサービス
- 組織のプロセスとワークフロー
- チームの慣習(命名、ステータス、見積もり尺度)
- 設定値(ワークスペース ID、プロジェクト名、チーム識別子)
検索するソース:
- チャット/Slack MCP — ツールへの言及、連携、ワークフローに関する議論
- ドキュメント MCP — オンボーディング資料、ツールガイド、セットアップ手順
- メール MCP — ライセンス通知、管理者からのメール、セットアップへの招待
フェーズ 3 で使えるように、見つかった情報をすべて記録します。
フェーズ 2:ToDo リストを作成する
変更する項目を、適切な範囲に絞って ToDo リストにまとめます。
- 対象を絞ったカスタマイズの場合:ユーザーが指定した特定のセクションに関連する項目だけを含めます。
- 一般的なプラグインのセットアップの場合:
grep -rn '~~\w' /path/to/plugin --include='*.md' --include='*.json'を実行して、カスタマイズ可能なプレースホルダーをすべて見つけます。テーマごとにまとめます。 - 一般的なカスタマイズの場合:プラグインのファイルを読み、現在の設定を理解したうえで、ユーザーの依頼に基づいて変更が必要な項目を特定します。
プラグインの目的に沿った、ユーザーにわかりやすい説明を使います。
- 良い例:「Company での朝会の準備方法を確認する」
- 悪い例:「skills/standup-prep/SKILL.md のプレースホルダーを置き換える」
フェーズ 3:ToDo 項目を完了する
フェーズ 0 とフェーズ 1 のコンテキストを使って、各項目に取り組みます。
ユーザーの自由形式の入力(フェーズ 0)またはナレッジ MCP(フェーズ 1)から明確な回答が得られた場合:確認せずに適用します。
そうでない場合:AskUserQuestion を使います。「業界標準」の既定値が正しいと決めつけないでください。ユーザーの入力にもナレッジ MCP にも具体的な回答がない場合は、質問してください。注:AskUserQuestion には常にスキップボタンと自由記述の入力欄が含まれるため、選択肢に None や Other を含めないでください。
変更の種類:
- プレースホルダーの置換(一般的なセットアップ):
~~Jira→Asana、~~your-org-channel→#engineering - コンテンツの更新:組織に合わせて手順、スキル、ワークフロー、参照情報を変更する
- URL パターンの更新:
tickets.example.com/your-team/123→app.asana.com/0/PROJECT_ID/TASK_ID - 設定値:ワークスペース ID、プロジェクト名、チーム識別子
ユーザーがわからない場合、またはスキップした場合は、値を変更せずに残します(一般的なセットアップの場合は、~~ を付けたプレースホルダーのままにします)。
フェーズ 4:役立つ MCP を検索する
カスタマイズ項目を解決した後、特定または変更したツールの MCP に接続します。全体のワークフロー、カテゴリとキーワードの対応、設定ファイル形式については、references/mcp-servers.md を参照してください。
カスタマイズ中に特定したツールごとに、次の操作を行います。
references/mcp-servers.mdのカテゴリ別キーワードを使ってsearch_mcp_registry(keywords=[...])でレジストリを検索するか、ツール名がすでにわかっている場合は、その名前で検索します- 未接続の場合:
suggest_connectors(directoryUuids=["chosen-uuid"])— ユーザーが認証を完了します - プラグインの MCP 設定ファイルを更新します(カスタムの場所が
plugin.jsonに指定されている場合はその場所を確認し、指定されていない場合はルートの.mcp.jsonを使います)
すべての MCP の検索結果をまとめ、以下の概要出力に一括して記載します。このフェーズでは、MCP を 1 つずつ提示しないでください。
プラグインのパッケージ化
すべてのカスタマイズを適用したら、ユーザーが使えるようにプラグインを .plugin ファイルとしてパッケージ化します。
setup/は不要になったため除外し、プラグインのディレクトリを ZIP に圧縮します:cd /path/to/plugin && zip -r /tmp/plugin-name.plugin . -x "setup/*" && cp /tmp/plugin-name.plugin /path/to/outputs/plugin-name.plugin.plugin拡張子を付けてファイルをユーザーに提示し、直接インストールできるようにします。(.pluginファイルを提示すると、プラグインのファイルを確認できるリッチプレビューが表示され、ボタンを押してカスタマイズを承認できます。)
重要:必ず最初に
/tmp/に ZIP ファイルを作成してから、出力フォルダーにコピーしてください。出力フォルダーに直接書き込むと、権限エラーが発生して一時ファイルが残ることがあります。
命名:
.pluginファイルには、元のプラグインのディレクトリ名を使用してください(たとえば、プラグインのディレクトリがcoderの場合、出力ファイル名はcoder.pluginにします)。カスタマイズ中にプラグインやそのファイルの名前を変更しないでください。プレースホルダーの値の置き換えと、コンテンツの更新のみを行います。
概要の出力
カスタマイズ後、情報源ごとにまとめて、分かったことの概要をユーザーに提示します。セットアップ中に接続した MCP と、ユーザーが引き続き接続する必要のある MCP を示す MCP のセクションを必ず含めてください。
## From searching Slack
- You use Asana for project management
- Sprint cycles are 2 weeks
## From searching documents
- Story points use T-shirt sizes
## From your answers
- Ticket statuses are: Backlog, In Progress, In Review, Done
続いて、セットアップ中に接続した MCP と、ユーザーが引き続き接続する必要のある MCP を提示し、接続方法を説明します。
Phase 1 でナレッジ MCP が利用できず、ユーザーが手動で少なくとも 1 つの質問に答えた場合は、最後に次の注意書きを含めてください。
ところで、Slack や Microsoft Teams などの情報源を接続すると、次回プラグインをカスタマイズするときに、回答を自動的に見つけられるようになります。
追加リソース
references/mcp-servers.md— MCP の検出ワークフロー、カテゴリとキーワードの対応表、設定ファイルの場所references/search-strategies.md— ツール名や組織の値を見つけるためのナレッジ MCP のクエリパターンexamples/customized-mcp.json— 設定済み.mcp.jsonの例