mcpField
C
cowork-setup

cowork-setup

github.com/indranilbanerjeeマーケティング・グロース91362 回インストール1 日前に更新
リポジトリ

cowork-setup について

cowork-setupは、チームでCowork上のDigital Marketing Proを使うための初回設定スキルです。ブランドデータとレポートを共有Driveフォルダーに保存するよう設定し、その後にブランド設定を開始することもできます。

主な機能

  1. 01Cowork環境の検出
  2. 02接続済みDrive MCPの確認
  3. 03共有Driveルートの検索または作成
  4. 04チーム別ストレージ経路の設定
  5. 05任意のブランド設定起動

活用シーン

  1. 01チーム向けCoworkのDigital Marketing Pro設定
  2. 02Coworkセッション間でのブランド状態維持
  3. 03チームのDriveルートフォルダー切り替え

MCP 対応

Google Drive MCPの有無を確認し、フォルダーの検索・作成やブランドデータとレポートの同期に使用します。Notion MCPも保存先として利用できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill cowork-setup

インストール後、Claude Code で/cowork-setupを入力して読み込まれたか確認します。

詳細

/digital-marketing-pro:cowork-setup

スクリプトの場所。 ホストで ${CLAUDE_PLUGIN_ROOT} が設定されていない場合、スクリプトはこのプラグインの scripts/ フォルダーにあり、skills/ の隣に配置されています。Python 3.10 以降で実行してください。python を使用するか、python が見つからない場合(macOS、多くの Linux システム)は python3 を使用します。

チームで Cowork を利用する際に、Digital Marketing Pro を継続して使えるようにするための初回セットアップです。Cowork から Drive へのルーティングを設定し、ブランドプロフィール、キャンペーン計画、監査レポート、実行記録が現在の Cowork セッション終了後も保持されるようにします。

チームが Cowork に DMP を初めてインストールするとき、ブランドプロフィールが Cowork セッションをまたいで保持されなくなったとき、または別のチームの Drive ルートフォルダーに切り替えるときに実行します。例:/digital-marketing-pro:cowork-setup、... --brand acme、... --drive-root "ACME DigitalMarketingPro"。

このスキルが必要な理由

Cowork は、ターミナルを使わないマーケター(代理店チーム、社内マーケター、グロースオペレーションなど)にとって、Anthropic が提供する最も使いやすい環境です。チームでの自然なワークフローは、「全員が Cowork を使い、ブランドの状態と成果物を共有 Drive に保存する」ことです。しかし、DMP のファイルシステム層は、ローカルの Claude Code 用に設計されていました(ホストマシンの ~/.claude-marketing/ に書き込みます)。Cowork ではこのパスはセッションごとの Linux サンドボックスにあたり、セッション終了時に消失し、チームからも見えません。

${CLAUDE_PLUGIN_DATA} も役に立ちません。 Anthropic のプラグインドキュメントでは、プラグインごとの永続ストレージパスとして説明されています。Cowork ではセッション単位の VM マウントに解決され、同じように消失します(未解決の問題:claude-code#51398)。OAuth を利用するすべての MCP プラグインが同じ問題に直面しています。

v3.12.0 では、環境に応じたルーティングによってこの問題が解決されました。Cowork が検出され、Drive MCP が設定されている場合、ブランドプロフィールとレポートは一時的なサンドボックスではなく Drive を経由してやり取りされます。このスキルは、実際の作業を始める前に両方の条件が満たされていることを確認する、初回限定のセットアップです。

動作

ステップ 1 — Cowork 環境を確認する
python "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-metadata.py" --section environment

JSON を解析します。分岐は 3 つです。

environment == "cowork-sandbox" — ステップ 2 に進みます。

environment == "claude-code-windows" / "-mac" / "-linux" — ユーザーに次のように伝えます。

「ローカルの Claude Code で実行されており、Cowork ではありません。ここでは Cowork 専用の Drive ルーティングは必要ありません。ブランドの状態は、設計どおりホスト上の ~/.claude-marketing/ に保持されます。チームで共有するための Drive バックアップも必要な場合は、このスキルを実行すれば、バックアップとして状態を Drive にミラーリングできます。続行しますか?」

ユーザーが確認した場合にのみ続行します。

environment == "unknown" — JSON に含まれる検出情報を表示して、どの環境で実行しているかをユーザーに確認してから、Cowork とみなして続行します(Cowork からの実行で環境が不明と判定されるケースが最も多いためです)。

Step 2 — Drive MCP が接続されていることを確認する

利用可能なツールを確認し、Google Drive MCP があるか探します。一般的な識別パターンは次のとおりです。

  • mcp__<id>__create_file、mcp__<id>__read_file_content、mcp__<id>__search_files、mcp__<id>__list_folder_items — Anthropic プラットフォームの Drive 統合(Cowork の「Settings」→「Integrations」→「Google Drive」)
  • mcp__pipedream-google-drive__* — Pipedream アグリゲーター
  • mcp__composio-google-drive__* — Composio
  • mcp__zapier-google-drive__* — Zapier
  • 名前に「drive」と「create」/「upload」/「search」が含まれるツール

Drive MCP が見つかった場合: どの連携が見つかったかをユーザーに伝え(「見つかりました:Anthropic プラットフォームの Google Drive 統合です。これを使用します。」)、ステップ 3 に進みます。

Drive MCP が見つからない場合: 明確なメッセージを表示してウィザードを停止します。

「Cowork モードの DMP でチームのブランド情報を永続化するには、Google Drive 統合が必要です。最も簡単な設定方法(60 秒):

  1. Cowork でプロフィールメニューをクリックし、Settings → Integrations を選択します
  2. リストから Google Drive を見つけて、Connect をクリックします
  3. チームの共有 Drive を所有する Google アカウントでログインします
  4. ここに戻り、/digital-marketing-pro:cowork-setup を再実行します

別の方法:Notion MCP も永続化先として使用できます。DMP は各ブランドを Notion ページとして扱います。こちらを希望する場合は、Cowork の Integrations パネルに Notion を追加し、このスキルを再実行してください。」

Step 3 — 正規 Drive フォルダーを確認または作成する

デフォルトのフォルダー名:DigitalMarketingPro(「My Drive」内、またはユーザーが希望する場所)。--drive-root <name> が指定された場合は、代わりにその名前を使用します。

Drive MCP を使って、次の操作を行います。

  1. 最上位に DigitalMarketingPro(またはユーザーの --drive-root)という名前のフォルダーがあるか検索します
  2. 存在する場合は、それを使用するかユーザーに確認します。URL を表示します。
  3. 存在しない場合は作成します。新しいフォルダーの URL を表示します。

次に、サブフォルダーのひな形を作成します。

DigitalMarketingPro/
├── _brands/                  <- brand profile JSONs persist here per brand
├── _runs/                    <- per-run checkpoints (resume across sessions)
├── _plans/                   <- yearly + quarterly + campaign plans
└── (brand folders created on first content/audit/campaign run)
    └── <brand name>/
        ├── strategy/
        ├── seo/
        ├── campaigns/
        ├── audits/
        └── reports/

ブランドの空のサブフォルダーはまだ作成しないでください。ブランドの初回実行時に自動作成されます。必要なのは _brands/、_runs/、_plans/ だけです。

Step 4 — Drive のルート参照とチームの名前空間を保存する

複数チームの分離:ユーザーに「チームの Drive ルートフォルダー名は何ですか?」と尋ねます(デフォルト:DigitalMarketingPro)。チームごとに異なるフォルダー名を使用することで、名前空間が自動的に分離されます。例:

  • 個人/小規模チーム:DigitalMarketingPro(デフォルト)
  • 「ACME」という名前の代理店:ACME DigitalMarketingPro
  • 1 つの Drive を共有する別々の 2 チーム:各チームがそれぞれの名前を選択

正規スクリプトを使って設定を書き込みます(手書きの JSON ファイルは使用しないでください。ツールチェーンの他の部分と形式を同期させるため、スクリプトを使います)。

python "${CLAUDE_PLUGIN_ROOT}/scripts/drive-sync-state.py" --action write-config --data '{
  "environment": "cowork-sandbox",
  "drive_root_folder_name": "<team folder name chosen>",
  "drive_root_folder_id": "<id from Step 3>",
  "drive_root_folder_url": "<webViewLink from Step 3>",
  "drive_mcp_tool_prefix": "<prefix detected in Step 2, e.g. mcp__abc123__>"
}'

スクリプトは ~/.claude-marketing/_cowork-config.json に書き込み、configured_at タイムスタンプを自動的に追加します。

今後の Cowork セッションでは、DMP の各操作(brand-setup、status、seo-audit、campaign-plan など)が最初にこの設定を読み込みます。設定が存在し、Drive フォルダーも引き続き存在する場合、すべての入出力はそのルートに対して行われます。別のチームが異なるフォルダー名を選んだ場合は、同じパスにあるそのチームの設定が別の場所を参照するため、競合しません。

正しく書き込まれたことを確認するには、次を実行します。

python "${CLAUDE_PLUGIN_ROOT}/scripts/drive-sync-state.py" --action read-config
Step 5 — ユーザーが想定する内容を設定する

簡潔な概要を表示します。

Digital Marketing Pro is now wired for Cowork team usage:

Environment:           Cowork sandbox (Linux)
Drive integration:     <name>
Output root in Drive:  My Drive/<folder name> (link)
Config saved at:       ~/.claude-marketing/_cowork-config.json

What this means in practice:

- /digital-marketing-pro:brand-setup -> profile lands in
  Drive/<folder>/_brands/<brand-slug>/profile.json (persists across sessions)
- /digital-marketing-pro:campaign-plan -> plan lands in
  Drive/<folder>/<brand>/campaigns/<YYYY-MM>/<slug>/PLAN.md
- /digital-marketing-pro:seo-audit -> audit + intermediates land in
  Drive/<folder>/<brand>/audits/<date>/
- /digital-marketing-pro:status -> reads brand state from Drive first,
  falls back to local sandbox if Drive call fails
- /digital-marketing-pro:resume -> picks up an interrupted run by
  pulling its checkpoint files from Drive/<folder>/_runs/

Your team accesses everything via Google Drive directly. No
Cowork-specific paths to remember.

Next step:
  /digital-marketing-pro:brand-setup "Your Brand Name"
Step 6 — 任意:ブランド設定を開始する

--brand <name> が指定された場合は、概要の表示後に /digital-marketing-pro:brand-setup "<name>" を自動的に起動します。これにより、初回実行を「コマンド 1 つで完全に設定済み」にできます。

Cowork 対応スキルでこの設定が使用される仕組み

ルーティングが設定されると、brand-setup は ~/.claude-marketing/brands/{brand-slug}/profile.json にローカルで書き込み、さらに drive-sync-state.py --action add-pending-upload を実行して、保留中の Drive アップロードとして記録します。その後、エージェントは保留中のリストを読み取り、Drive MCP を使ってファイルを <root>/_brands/{brand}/profile.json にアップロードします。次回の Cowork セッションでは、エージェントはこの手順を逆に行います。_cowork-config.json を読み取ってチームの Drive ルートを確認し、<root>/_brands/{brand}/profile.json をローカルサンドボックスにダウンロードして、profile-mark-downloaded としてマークし、ローカルのハッシュを Drive 上のコピーと一致させます。

具体的には、状態を変更する DMP 操作のたびに、エージェントは次を実行します。

python "${CLAUDE_PLUGIN_ROOT}/scripts/drive-sync-state.py" --action profile-needs-upload --brand <brand>

needs_upload: true の場合、エージェントは Drive MCP を使ってファイルをアップロードし、MCP から返された Drive ファイル ID を指定して --action profile-mark-uploaded を実行します。

このスキルが行わないこと

  • ローカルの Claude Code における DMP の動作は変更しません(ホストのファイルシステムをそのまま使用できます)。
  • 既存のローカルモードのブランドを Drive に移行しません。後から移行するには、このスキルの完了後に Cowork で /digital-marketing-pro:brand-setup "<brand>" を再実行してください。brand-setup スキルがローカルのプロファイルを Drive にアップロードします。
  • サービスアカウントの JSON は作成しません。Cowork モードでは MCP 経由のみを使用するため、Google Cloud の設定は不要です。
  • Drive に十分な空き容量があるかどうかは確認しません。ブランドのプロファイルとプランは非常に小さい(通常は 100KB 未満)ため、容量が問題になることはほとんどありませんが、実際の実行中にクォータエラーが発生した場合は報告してください。
  • ローカルのフォールバックを置き換えることはありません。Drive の呼び出しが何らかの理由で失敗した場合でも、DMP はローカルに書き込み、アップロードを再度キューに追加します。

関連項目

  • /digital-marketing-pro:status — セットアップ後に Cowork+Drive が検出されていることを確認します
  • /digital-marketing-pro:brand-setup — 実際のブランド設定(Cowork では Drive がデフォルトになりました)
  • /digital-marketing-pro:doctor — アクションごとの準備状況チェック(Cowork+Drive のルーティングも報告するようになりました)
  • scripts/plugin-metadata.py --section environment — 基盤となるプローブ
  • README の「Cowork team usage」セクション — 使用するサーフェスに関する正規のドキュメント

コメント