Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing.

MITAuto-check passed

Install Cowork Setup

skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill cowork-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install indranilbanerjee/digital-marketing-pro cowork-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cowork-setup .claude/skills/cowork-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cowork-setup
GitHub stars
862
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
1,132 words
Files
1
Skills in repo
162
Repo updated
First seen
Licence
MIT

At a glance

Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing.

  • Works in 6 steps: Verify Cowork environment → Verify a Drive MCP is connected → Verify or create the canonical Drive… → …
  • SKILL.md covers Why this skill exists, Behavior, How the Cowork-aware skills… and What this skill does NOT do, plus 1 more section
  • Calls python

What it does

Cowork Setup is an agent skill from indranilbanerjee/digital-marketing-pro. Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing. "set up DMP for my team in Cowork"

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Model Context Protocol. The repository describes itself as: An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable… The licence is MIT.

Example prompts

  • “set up DMP for my team in Cowork”
  • “/cowork-setup”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Verify Cowork environment
  2. Verify a Drive MCP is connected
  3. Verify or create the canonical Drive folder
  4. Store the Drive root reference + team namespace
  5. Set the user's expectations
  6. Optional: kick off a brand setup

What it can do on your machine

Read from SKILL.md and the folder at commit 9e949f3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cowork Setup loads about 2.6k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 1,132 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from indranilbanerjee/digital-marketing-pro at commit 9e949f3, republished under its MIT licence (© indranilbanerjee). 1,132 words, ~2,642 tokens.

Download SKILL.mdSave it as .claude/skills/cowork-setup/SKILL.md (or your agent's skills folder).
name
cowork-setup
description
Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing. "set up DMP for my team in Cowork"
argument-hint
[--brand <name>] [--drive-root <folder-name>]
effort
low

/digital-marketing-pro:cowork-setup

Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/.

The one-time setup that makes Digital Marketing Pro persistent in Cowork by a team. Wires up the Cowork → Drive routing so brand profiles, campaign plans, audit reports, and run records survive past the end of the current Cowork session.

Run it the first time a team installs DMP in Cowork, when brand profiles stop persisting across Cowork sessions, or when switching to a different team's Drive root folder. Examples: /digital-marketing-pro:cowork-setup, ... --brand acme, ... --drive-root "ACME DigitalMarketingPro".

Why this skill exists

Cowork is the friendliest Anthropic surface for marketers — agency teams, in-house marketers, growth ops — who don't live in a terminal. The natural team workflow is "everyone uses Cowork; brand state and outputs live in our shared Drive". But DMP's filesystem layer was designed for local Claude Code (writes to ~/.claude-marketing/ on the host machine). In Cowork that path is the per-session Linux sandbox — vanishes at session end, invisible to the team.

${CLAUDE_PLUGIN_DATA} does not help here either. Anthropic's plugin docs describe it as the persistent per-plugin storage path. In Cowork it resolves to a session-scoped VM mount that disappears the same way (open: claude-code#51398). Every OAuth-backed MCP plugin hits the same wall.

v3.12.0 fixed this with environment-aware routing: when Cowork is detected AND a Drive MCP is configured, brand profiles and reports round-trip through Drive instead of the ephemeral sandbox. This skill is the one-shot setup that ensures both conditions are true before you start producing real work.

Behavior

Step 1 — Verify Cowork environment
bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-metadata.py" --section environment

Parse the JSON. Three branches:

environment == "cowork-sandbox" — Proceed to Step 2.

environment == "claude-code-windows" / "-mac" / "-linux" — Tell the user:

"You're running in local Claude Code, not Cowork. The Cowork-specific Drive routing isn't needed here — brand state at ~/.claude-marketing/ persists on your host as designed. If you ALSO want Drive backups for team sharing, you can run this skill anyway and it'll mirror state to Drive as a backup. Want to proceed?"

Only proceed if the user confirms.

environment == "unknown" — Show the indicators from the JSON and ask the user where they're running, then proceed assuming Cowork (since unknown-from-Cowork is the most likely case).

Step 2 — Verify a Drive MCP is connected

Scan your available tools for any Google Drive MCP. Common signatures:

  • mcp__<id>__create_file, mcp__<id>__read_file_content, mcp__<id>__search_files, mcp__<id>__list_folder_items — Anthropic-platform Drive integration (Settings → Integrations → Google Drive in Cowork)
  • mcp__pipedream-google-drive__* — Pipedream aggregator
  • mcp__composio-google-drive__* — Composio
  • mcp__zapier-google-drive__* — Zapier
  • Any tool whose name combines "drive" with "create" / "upload" / "search"

If a Drive MCP is found: confirm to the user which one ("Found: Anthropic platform Google Drive integration. I'll use this.") and proceed to Step 3.

If NO Drive MCP is found: stop the wizard with a clear message:

"Cowork-mode DMP needs a Google Drive integration before it can persist brand state for your team. Easiest setup (60 seconds):

  1. In Cowork, click your profile menu → Settings → Integrations
  2. Find Google Drive in the list → click Connect
  3. Sign in with the Google account that owns your team's shared Drive
  4. Come back here and re-run /digital-marketing-pro:cowork-setup

Alternative: a Notion MCP also works as a persistence target — DMP will treat each brand as a Notion page. If you'd prefer that route, add Notion to your Cowork Integrations panel and re-run this skill."

Step 3 — Verify or create the canonical Drive folder

Default folder name: DigitalMarketingPro (under "My Drive" or wherever the user prefers). If --drive-root <name> was passed, use that instead.

Use the Drive MCP to:

  1. Search for a top-level folder named DigitalMarketingPro (or the user's --drive-root)
  2. If it exists, confirm the user wants to use it. Show its URL.
  3. If it doesn't exist, create it. Show the URL of the new folder.

Then create the subfolder skeleton:

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/

Don't create empty brand subfolders yet — those auto-create during the first run for that brand. Just _brands/, _runs/, and _plans/ need to exist.

Show full SKILL.md (483 more words)Show less
Step 4 — Store the Drive root reference + team namespace

Multi-team isolation: ask the user "what's your team's Drive root folder name?" (default: DigitalMarketingPro). Different teams use different folder names → automatic namespace isolation. Examples:

  • Solo / small team: DigitalMarketingPro (default)
  • Agency named "ACME": ACME DigitalMarketingPro
  • Two distinct teams sharing one Drive: each picks their own name

Then write the config via the canonical script (NOT a hand-written JSON file — use the script so the format stays in sync with the rest of the toolchain):

bash
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__>"
}'

The script writes to ~/.claude-marketing/_cowork-config.json and adds a configured_at timestamp automatically.

Future Cowork sessions: every DMP operation (brand-setup, status, seo-audit, campaign-plan, etc.) reads this config first. If it exists AND the Drive folder still exists, all I/O routes to that root. If a different team picked a different folder name, their config lives at the same path but points elsewhere — no collision.

To verify it was written correctly:

bash
python "${CLAUDE_PLUGIN_ROOT}/scripts/drive-sync-state.py" --action read-config
Step 5 — Set the user's expectations

Show a clean summary:

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 — Optional: kick off a brand setup

If --brand <name> was passed, automatically launch /digital-marketing-pro:brand-setup "<name>" after the summary. This makes the very first run "one command, fully set up."

How the Cowork-aware skills use this config

When the routing is configured, brand-setup writes locally to ~/.claude-marketing/brands/{brand-slug}/profile.json AND records a pending Drive upload via drive-sync-state.py --action add-pending-upload. The agent then reads the pending list and uses its Drive MCP to push the file to <root>/_brands/{brand}/profile.json. On a future Cowork session, the agent reverses this: it reads _cowork-config.json, sees the team's Drive root, downloads <root>/_brands/{brand}/profile.json to the local sandbox, and marks it profile-mark-downloaded so the local hash matches the Drive copy.

Concretely: after every state-mutating DMP operation, the agent runs:

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

If needs_upload: true, the agent uses its Drive MCP to upload the file and then runs --action profile-mark-uploaded with the Drive file ID returned by the MCP.

What this skill does NOT do

  • It does not change DMP's behavior in local Claude Code (where host filesystem is fine).
  • It does not migrate existing local-mode brands to Drive. To do that after the fact: re-run /digital-marketing-pro:brand-setup "<brand>" in Cowork after this skill finishes — the brand-setup skill will upload the local profile to Drive.
  • It does not create a service-account JSON. Cowork-mode uses the MCP path exclusively (no Google Cloud setup needed).
  • It does not check whether your Drive has enough space. Brand profiles + plans are tiny (<100KB typical), so this is rarely a concern, but flag it if you hit a quota error during a real run.
  • It does not replace the local fallback — if a Drive call fails for any reason, DMP still writes locally and re-queues the upload.

See also

  • /digital-marketing-pro:status — confirm Cowork+Drive is detected after setup
  • /digital-marketing-pro:brand-setup — actual brand setup (now Drive-default in Cowork)
  • /digital-marketing-pro:doctor — per-action readiness check (now reports Cowork+Drive routing too)
  • scripts/plugin-metadata.py --section environment — the underlying probe
  • README "Cowork team usage" section — canonical doc for which surface to use

© indranilbanerjee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/cowork-setup of indranilbanerjee/digital-marketing-pro.

Open the folder on GitHubat commit 9e949f3

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in indranilbanerjee/digital-marketing-pro, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Cowork Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cowork Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cowork Setup this skillindranilbanerjee/digital-marketing-pro8621 repos~2.6kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.5k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.5k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from indranilbanerjee/digital-marketing-pro

All 162 skills in this repo
  • Import Template

    indranilbanerjee/digital-marketing-pro

    Import a deliverable template as a reusable placeholder template per brand.

    862 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Ab Test Plan

    indranilbanerjee/digital-marketing-pro

    Plan an A/B test by script: sample size per variant, days to run, stopping rules.

    862 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Aeo Audit

    indranilbanerjee/digital-marketing-pro

    Run a one-time AEO audit of six AI answer engines, scored per surface.

    862 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Agent Readiness Audit

    indranilbanerjee/digital-marketing-pro

    Audit agent readiness by script: AI-crawler rules, product schema, no-JS HTML, feeds.

    862 GitHub starsUsed in 1 repo~3.7k tokens
    Auto-check passed
  • Backlink Gap

    indranilbanerjee/digital-marketing-pro

    Find backlink gap domains linking to competitors, not you, scored by script.

    862 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed
  • C2pa Metadata

    indranilbanerjee/digital-marketing-pro

    Embed C2PA provenance in AI-generated images, video or PDF by script.

    862 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed

Questions about Cowork Setup

What does Cowork Setup do?

Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing. Cowork Setup is an agent skill from indranilbanerjee/digital-marketing-pro. Set up DMP for team use in Cowork: sandbox check, Drive folders, saved routing.

How do I install Cowork Setup in Claude Code?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill cowork-setup -a claude-code`. Or copy the skill folder (skills/cowork-setup in indranilbanerjee/digital-marketing-pro) into .claude/skills/cowork-setup in your project. Claude Code loads it when a task matches its description.

How do I install Cowork Setup in Codex?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill cowork-setup -a codex`. Or copy the skill folder (skills/cowork-setup in indranilbanerjee/digital-marketing-pro) into .agents/skills/cowork-setup in your project. Codex loads it when a task matches its description.

Can I use Cowork Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add indranilbanerjee/digital-marketing-pro --skill cowork-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cowork-setup, .gemini/skills/cowork-setup, .github/skills/cowork-setup and .opencode/skills/cowork-setup in your project.

What does Cowork Setup need to run?

Going by SKILL.md and its folder, Cowork Setup needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Cowork Setup access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Cowork Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cowork Setup use?

Cowork Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cowork Setup use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cowork Setup?

Skills that share tags, products or a category with Cowork Setup: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cowork Setup?

indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 862 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 9, 2026.

Source: indranilbanerjee/digital-marketing-pro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.