batch-process
Batch-produce many content pieces as one resumable queue, highest priority first. \"write these 15 posts\"
Detect the runtime environment (Cowork or local) and what works there: connectors, file locations, limits. \"am I running in Cowork\"
Claude Code
$ npx -y skills add indranilbanerjee/contentforge --skill cf-environment --agent claude-code
Codex
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a codex -y
Cursor
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a cursor -y
Gemini CLI
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a gemini-cli -y
GitHub Copilot
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a github-copilot -y
OpenCode
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a opencode -y
Windsurf
$ npx skills add indranilbanerjee/contentforge --skill cf-environment -a windsurf -y
name: cf-environment description: "Detect the runtime environment (Cowork or local) and what works there: connectors, file locations, limits. \"am I running in Cowork\"" argument-hint: "[--verbose]" effort: low
> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is not found (macOS, many Linux systems).
Detect where ContentForge is running and report which of its capabilities work in that environment. ContentForge has different real-world behavior on each surface because filesystem access, MCP transports, and subprocess invocation all differ.
python "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-metadata.py" --section environmentThis returns JSON with `environment` (one of `cowork-sandbox`, `claude-code-windows`, `claude-code-mac`, `claude-code-linux`, `linux-sandbox-uncertain`, `unknown` — six possible values), filesystem indicators, a `cowork_warning` field that's non-null when a sandbox (confirmed or suspected) is detected, and a `signals` object (`strong` / `weak` lists) showing exactly which detection heuristics fired — useful for `--verbose` or when a user disputes the classification.
Render one of the matrices below based on the JSON `environment`. The six values map to three matrices: `cowork-sandbox` AND `linux-sandbox-uncertain` both use the Cowork matrix (uncertain gets a one-line caveat first, see below); `claude-code-windows` / `-mac` / `-linux` share the local matrix; `unknown` gets its own fallback.
Cowork is **the recommended environment for teams** as of v3.12.9 — it has the friendliest UX, lowest setup friction, and works for non-CLI users. But it requires one extra setup step (connecting Google Drive) because the sandbox filesystem doesn't persist. After Drive is wired, everything works.
**Also check: is a Drive MCP available in this session?** Scan your available tools for `mcp__*drive*` or the Anthropic-platform Drive integration. The capability matrix below splits on that.
=== ContentForge in Cowork === | Capability | Cowork + Drive | Cowork alone | |---------------------------------------------|-------------------|----------------| | /plugin commands | YES | YES | | HTTP MCP connectors (Slack, HubSpot, ...) | YES | YES | | npx / stdio MCP connectors | NO | NO | | | | | | Final .docx delivery | -> Drive folder | -> sandbox (gone after session) | | Brand profile persistence | -> Drive | sandbox only | | Per-phase checkpoint files | -> Drive | sandbox only | | /contentforge:resume across sessions | YES (via Drive) | NO | | Team sharing of outputs | YES (Drive) | NO | | Files visible to user without download | YES (Drive) | NO | | Full 10-phase pipeline | YES | LOGICAL ONLY -- outputs sandbox-only |
**If Cowork + Drive:** This is the recommended team setup. Run `/contentforge:cf-cowork-setup` once to wire the Drive folder layout, then use ContentForge normally. Every `.docx`, brand profile, and run record lands in `My Drive/ContentForge/...` where your team can access it from anywhere.
**If Cowork without Drive:** Connect Drive first. Easiest path: Cowork → **Settings** → **Integrations** → **Google Drive** → Connect (60 seconds). Then run `/contentforge:cf-cowork-setup`. Until that's done, generated files will only exist for the current session and won't be retrievable after you close the chat.
Local Claude Code (CLI or IDE extension) is the alternative if you don't want to use Drive — files land directly in `~/Documents/ContentForge/<brand>/...` on your machine. But for team usage, Cowork+Drive is simpler.
Only weak signals fired (e.g., a container marker plus a Docker-style username or a local socks5h proxy) — not a confirmed Cowork session marker. This could be a real cloud sandbox the detector doesn't yet recognize by name, or a local Linux container / WSL setup with no sandbox risk at all. Treat it as a possible sandbox rather than guessing wrong in either direction.
Show this line first, before anything else:
> Detection was uncertain (weak sandbox signals only — see the probe's cowork_warning): treating this environment as a possible cloud sandbox. Verify where your files land before relying on them.
Then render the exact same matrix as `cowork-sandbox` above (including the Drive-MCP scan and the "If Cowork + Drive" / "If Cowork without Drive" branches) — capabilities-wise, an unconfirmed sandbox must still be treated as if writes might not reach the host.
=== ContentForge in local Claude Code (<platform>) === | Capability | Works locally? | |---------------------------------------------|------------------------------| | /plugin commands | YES | | All HTTP MCP connectors | YES
🌐 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.
Batch-produce many content pieces as one resumable queue, highest priority first. \"write these 15 posts\"
Add a custom MCP connector for any external API or service. \"hook up our internal CMS\"
Re-check a published piece's AEO: cited in AI Overviews and AI answers, tracked over time. \"did AI cite our article\"
Show content analytics: quality-score trends, slowest pipeline phase and alerts over 7-90 days. \"how is production going\"
Audit a content library for stale posts and topic gaps; ranks what to refresh or retire. \"which posts need refreshing\"
Write a research-backed content brief from a keyword or topic: intent, competitors, outline. \"brief me on this topic\"
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…