batch-process
Produce multiple content pieces as a sequential, checkpointed queue — each piece runs the full 10-phase ContentForge pipeline with all 10 quality gates, sorted…
One-shot setup that wires ContentForge for team usage in Anthropic Cowork — verifies the Cowork sandbox environment, checks a Google Drive MCP is connected, creates the canonical Drive folder layout (_brands/, _runs/), and persists the team's routing config so .docx outputs,
$ npx -y skills add indranilbanerjee/contentforge --skill cf-cowork-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cf-cowork-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
One-shot setup that wires ContentForge for team usage in Anthropic Cowork — verifies the Cowork sandbox environment, checks a Google Drive MCP is connected, creates the canonical Drive folder layout (_brands/, _runs/), and persists the team's routing config so .docx outputs,
name: cf-cowork-setup description: "One-shot setup that wires ContentForge for team usage in Anthropic Cowork — verifies the Cowork sandbox environment, checks a Google Drive MCP is connected, creates the canonical Drive folder layout (_brands/, _runs/), and persists the team's routing config so .docx outputs, brand profiles, and checkpoints land in shared Drive instead of the ephemeral sandbox. Triggers on \"/contentforge:cf-cowork-setup\", \"set up ContentForge in Cowork\", \"our files aren't landing in Drive\", \"wire outputs to our shared Drive\", \"first-time Cowork install\". Runs scripts/plugin-metadata.py for environment detection, writes config via scripts/drive-sync-state.py, and can chain into /contentforge:brand-setup with --brand. Setup only — it does not migrate existing local brands and changes nothing in local Claude Code." argument-hint: "[--brand <name>] [--drive-root <folder-name>]" effort: low
The one-time setup that makes ContentForge usable in Cowork by a team. Wires up the Cowork → Drive routing so generated `.docx` files, brand profiles, and run records actually persist somewhere the team can reach.
Cowork is the most user-friendly Anthropic surface for non-CLI users — marketers, content teams, agency staff. The natural team workflow is "everyone uses Cowork; outputs live in our shared Google Drive". But ContentForge's filesystem layer was originally designed for local Claude Code (writes to `~/Documents/ContentForge/` on the host). In Cowork that path is the Linux sandbox — gone at session end, invisible to the team.
v3.12.9 fixed this with environment-aware routing: when Cowork is detected AND a Drive MCP is configured, the output-manager agent uploads to Drive instead. This skill is the one-shot setup that ensures both conditions are true before you start producing real content.
python scripts/plugin-metadata.py --section environment
Parse the JSON. Four branches:
**`environment == "cowork-sandbox"`** — Proceed to Step 2.
**`environment == "linux-sandbox-uncertain"`** — Detection found only weak signals (e.g., a container marker plus a Docker-style username), not a confirmed Cowork session marker. Tell the user: "Sandbox detection was uncertain — proceeding with Cowork setup to be safe. If this isn't actually Cowork, the Drive-MCP check in the next step will make that clear (no Drive MCP will be found) and you can skip the rest." Then proceed to Step 2 exactly as the `cowork-sandbox` branch does.
**`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 — your files will land in `~/Documents/ContentForge/<brand>/` on your host as designed. If you ALSO want Drive backups for team sharing, run `/contentforge:brand-setup` and pick the Google Sheets + Drive backend."
Don't run the rest of this skill.
**`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 most likely).
Scan your available tools for any Google Drive MCP. Common signatures:
**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 ContentForge needs a Google Drive integration before it can save files anywhere your team can reach. 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 `/contentforge:cf-cowork-setup` > > Alternative for teams that prefer Pipedream / Composio / Zapier: add the relevant connector via `/contentforge:cf-add-integration` and re-run."
Default folder name: `ContentForge` (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 `ContentForge` (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:
ContentForge/
├── _brands/ <-- brand-profile JSONs persist here per brand
├── _runs/ <-- per-run checkpoints (resume across sessions)
└── (brand folders created on first content run)
└── <brand name>/
└── <content type>/
└── <YYYY-MM>/
└── <slug>.docxDon't create empty brand subfolders yet — those are auto-created by the output-manager agent during the first content run for that brand. Just `_brands/` and `_runs/` need to exist.
**Multi-team isolation**: ask the user "what's your team's Drive root folder name?" (default: `ContentForge`). Different teams use different folder names → automatic namespace isolation. Examples:
Then write the con
🌐 Read this in: English · हिन्दी · 中文 · 日本語 · 한국어 · Español · Português · العربية · اردو · தமிழ் · বাংলা · Русский You need to ship 30 articles this quarter that sound human, cite real sources, link into your funnel, and survive an editor who checks.
Produce multiple content pieces as a sequential, checkpointed queue — each piece runs the full 10-phase ContentForge pipeline with all 10 quality gates, sorted…
Connect any external API or service to ContentForge as a custom MCP connector — walks non-technical users from finding a verified MCP package or HTTP endpoint…
Post-publication AI-visibility check — re-probes target queries via web search, records whether the published piece is cited in Google AI Overviews, audits…
Render an ASCII analytics dashboard of ContentForge production history — quality score trends, phase-by-phase pipeline timing, brand and content-type…
Audit an existing content library for freshness decay and coverage gaps — scores every piece 0-100 on age, statistic currency, link health, and citation…
Generate a research-backed content brief from a keyword or topic — keyword data with volume and difficulty, top-5 competitor and E-E-A-T analysis,…