batch-process
Batch-produce many content pieces as one resumable queue, highest priority first. \"write these 15 posts\"
Show help for ContentForge: live version, skills, examples and troubleshooting. \"how do I use ContentForge\"
Claude Code
$ npx -y skills add indranilbanerjee/contentforge --skill cf-help --agent claude-code
Codex
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a codex -y
Cursor
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a cursor -y
Gemini CLI
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a gemini-cli -y
GitHub Copilot
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a github-copilot -y
OpenCode
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a opencode -y
Windsurf
$ npx skills add indranilbanerjee/contentforge --skill cf-help -a windsurf -y
name: cf-help description: "Show help for ContentForge: live version, skills, examples and troubleshooting. \"how do I use ContentForge\"" argument-hint: "[--pipeline | --skills | --commands | --examples | --connectors | --troubleshoot | --brand]" 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).
Show the ContentForge user guide with live plugin state (version, asset counts, connector counts, runtime environment) pulled from disk — not hardcoded — plus pipeline overview, available skills, usage examples, and troubleshooting.
Versions and counts in this plugin used to be baked into this skill body as literal version strings and count strings ("Agents: 13 · Skills: 19 · Connectors: 9 HTTP + 19 npx"). Those drifted out of sync with the actual install every release (reported by users in v3.12.7 testing: "I'm on 3.12.7, but the help output shows an old version").
**Always read live values from `scripts/plugin-metadata.py`. Never quote a version number, skill count, agent count, or connector count from memory or from this skill body.**
Run **first**, every time this skill is invoked (any argument or none):
python "${CLAUDE_PLUGIN_ROOT}/scripts/plugin-metadata.py" --section all-with-environmentThis returns JSON with `version`, `assets` (agent/skill/command/script counts), `connectors` (HTTP + npx counts), `skills` list, `commands` list, `pipeline_phases` list (read from agent file names), and `environment` (detects Cowork sandbox vs local Claude Code, with a warning if filesystem writes won't reach the user's host).
Substitute the values from this JSON into every place the help output references a count, a version, or a slash-command list. Do **not** invent or quote numbers from elsewhere.
Render a clean help overview using the live data. Suggested format:
=== CONTENTFORGE === Version: <version from JSON> Agents: <agents> | Skills: <skills_total> | Commands: <commands> | Scripts: <scripts> Connectors: <available_http> HTTP + <available_npx> npx available (<active_count> currently active in your .mcp.json) Cowork-compatible: <cowork_compatible_count> (HTTP only — npx connectors don't run in Cowork) Environment: <environment from JSON> <if environment.cowork_warning is non-null, show it as a WARNING block> Getting Started: 1. /contentforge:brand-setup -- Configure brand voice, terminology, guardrails 2. /contentforge:cf-integrations -- See which connectors are active 3. /contentforge:create-content -- Run the full content pipeline 4. /contentforge:cf-help --examples -- Worked example workflows
If `environment.cowork_warning` is non-null, surface it prominently after the orientation block:
⚠ COWORK SANDBOX DETECTED
<cowork_warning text from JSON>
What this means in practice:
- File writes to ~/Documents/ContentForge/ and ~/.claude-marketing/
land inside the sandbox, NOT on your Windows / macOS host
- Files persist only for this Cowork session
- The full /contentforge:create-content pipeline can run, but the
dual-copy save and per-phase checkpointing target the sandbox FS
- For full host-filesystem behavior, run ContentForge in local
Claude Code (CLI or VS Code / JetBrains IDE extension) instead| Argument | What to render | |----------|---------------| | (none) | Steps 2 + 3 + Quick command list | | `--pipeline` | Steps 2 + 3 + full phase-by-phase overview (use `pipeline_phases` from JSON) | | `--skills` | Steps 2 + 3 + list every skill from JSON `skills` array with slash command + description | | `--commands` | Steps 2 + 3 + list every command from JSON `commands` array with slash command + description | | `--connectors` | Steps 2 + 3 + redirect: "For active/available connector status, run /contentforge:cf-integrations" | | `--examples` | Steps 2 + 3 + the worked-example workflows (see below) | | `--troubleshoot` | Steps 2 + 3 + troubleshooting matrix (see below) | | `--brand` | Steps 2 + 3 + brand setup methods (see below) |
When rendering the skills/commands list, **iterate over the JSON arrays** — do not paste a hand-maintained list. Each row should show the `slash_command` field as the user-facing label and the `description` field as the explanation.
The pipeline phases come from agent file names (`01-researcher.md` → "Phase 01: Researcher"). Iterate `pipeline_phases` from the JSON and render phase + role + description. Add this preamble:
=== CONTENTFORGE PIPELINE (10 phases) ===
Step 0.5: Title Curation runs BEFORE Phase 1 (SERP recon + 4-5 SEO title options;
user selects before draft starts).
Quality gates: composite score >=7.0 to pass | max 2 loops per phase |
3-layer verification (Fact Checker -> Scientific Validator -> Reviewer).Then list every phase from the JSON. **Do not invent timing estimates** — they vary by topic complexity and model speed. If the agent description in the JSON includes a timing hint, surface it; otherwise omit.
Show the three brand-setup methods (interactive / JSON template / Drive Knowledge Vault), referencing the actual current commands. v3.12.7 added Drive MCP autodetection at the start of brand-setup — call this out as the recommended path for Cowork and Anthropic-platform users.
=== BRAND PROFILE SETUP (3 methods) === Method 1: Interactive (recommended) /contentforge:brand-setup "Brand Name" -> Walks you through voice, terminology, industry, guardrails
🌐 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…