agentsclimarketplace

Cf help

Skill indranilbanerjee/contentforge/skills/cf-help

Open-source enterprise content production plugin — 21 skills, 13 agents, 11 quality gates, 29-pattern AI humanizer, fact-checker, real .docx output with C2PA signing (EU AI Act Article 50 ready). Installs on Claude Code, Cowork, Codex, Cursor, Copilot CLI, Antigravity. By Indranil Banerjee (indranil.in).

Install
npx -y skills add indranilbanerjee/contentforge --skill cf-help

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Show the ContentForge user guide, available skills, pipeline overview, examples, and troubleshooting

SKILL.md

9.0 KB, as published. Nobody here has run it

/contentforge:cf-help

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.

CRITICAL: never hardcode version, asset counts, or connector counts

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.

Behavior

Step 1 — Fetch live plugin metadata

Run first, every time this skill is invoked (any argument or none):

python scripts/plugin-metadata.py --section all-with-environment

This 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.

Step 2 — Default rendering (no args)

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

Step 3 — Cowork warning (when applicable)

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

Step 4 — Argument routing

ArgumentWhat to render
(none)Steps 2 + 3 + Quick command list
--pipelineSteps 2 + 3 + full phase-by-phase overview (use pipeline_phases from JSON)
--skillsSteps 2 + 3 + list every skill from JSON skills array with slash command + description
--commandsSteps 2 + 3 + list every command from JSON commands array with slash command + description
--connectorsSteps 2 + 3 + redirect: "For active/available connector status, run /contentforge:cf-integrations"
--examplesSteps 2 + 3 + the worked-example workflows (see below)
--troubleshootSteps 2 + 3 + troubleshooting matrix (see below)
--brandSteps 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.

Pipeline phase rendering (--pipeline)

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.

Brand setup rendering (--brand)

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
  -> v3.12.7+ first probes .mcp.json for Drive MCPs (Anthropic platform
     integration, Pipedream / Composio / Zapier / Make Drive aggregator)
     and short-circuits the legacy service-account flow if one is found

Method 2: Manual JSON
  -> Copy config/brand-registry-template.json
  -> Fill in your brand details
  -> Save to ~/.claude-marketing/<brand-slug>/Brand-Guidelines/<BrandName>-brand-profile.json

Method 3: Google Drive Knowledge Vault
  -> Create a Drive folder: <Brand Name>/
  -> Subfolders: Brand-Guidelines/, Guardrails/, Reference-Content/
  -> Run /contentforge:brand-setup -- it will offer to verify or
     scaffold the structure

Troubleshooting (--troubleshoot)

Surface this matrix. Use the live skill/command names from the JSON; the table below references the user-visible behaviors.

IssueWhat to try
"Brand profile not found"Run /contentforge:brand-setup to create the brand profile first
Files don't appear in ~/Documents/ContentForge/Check Cowork sandbox warning above. In local Claude Code: /contentforge:output-folder shows the resolved path; verify CONTENTFORGE_PUBLISH_DIR env var if you've customized it
Headers in .docx aren't semantic Heading 1/2/3Verified fixed in v3.12.4 -- if you see this, you're on an older version; run /plugin update contentforge@neels-plugins
Pipeline interrupted, lost workUse /contentforge:resume to pick up from the last completed phase (v3.12.3+)
Google Drive connector ignored at brand-setupFixed in v3.12.7. Run python scripts/detect-drive-mcp.py to verify the autodetect can see your MCP
Quality score below 5.0Content flagged for human review -- check topic complexity, source availability, and brand profile completeness
Pipeline taking too longNormal: 20-30 min for articles. batch-process queues many pieces unattended (sequential, checkpointed) — it survives interruption, it does not run them concurrently

Documentation references

GuideWhat it covers
docs/USER-GUIDE.mdComprehensive end-to-end guide
CHANGELOG.mdFull version history (the canonical record of what's in your install)
CONNECTORS.mdConnector categories and setup paths
.mcp.json.connectors-referenceThe opt-in connector catalog -- copy entries into .mcp.json to enable them (shipped .mcp.json is empty by design)
docs/MODEL-CURATOR.mdModel registry, aliases, and refresh workflow
config/brand-registry-template.jsonBrand profile JSON template

Output formatting rules

  • Render in clean, scannable tables and code blocks
  • Always quote version and counts from the JSON, never from this file
  • Match each user invocation argument to its section above; the help body contains only instructions, not pre-rendered output
  • If scripts/plugin-metadata.py fails to run (e.g. Python not available), fall back to: "Live metadata script could not run. Plugin version is in .claude-plugin/plugin.json; skill list is in skills/; command list is in commands/." Do not invent numbers in the fallback either.

What this skill explicitly avoids

  • Quoting version numbers from this file body
  • Quoting count strings ("13 agents", "19 skills") from this file body
  • Listing slash commands manually -- always derived from the JSON
  • Personalized advice for any specific user (this skill is for everyone)
  • Stale references to deprecated skill names (always use the names from JSON)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.