New
Apps 636Makers 636This week 636
Promote your app−30%
ContentForge screenshot 1
0views in
the last 30 days

ContentForge

An open-source editorial production system that researches, verifies, drafts, and delivers...

Built with Claude Code

by indranilbanerjee · from INIndia · added Oct 29, 2026
no ratings0 comments
Open app Code

🌐 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. Your team is three people. You have nine weeks. Your last "AI-written" batch got flagged for hallucinated stats — and the batch before that quietly went stale and nobody noticed.

Run /contentforge:create-content against each topic. The 10-phase pipeline produces a publication-ready .docx with a 43-pattern humanizer, a fact-checker subagent, three-category internal linking, and C2PA provenance for EU AI Act compliance — in 30–60 minutes per piece. Then the part single-shot tools skip: the lifecycle loop. Every published piece is measured (cf-aeo-check), audited for decay (cf-audit), and fed back into the next calendar and the next brief — through durable file contracts, so what the system learns about your brand survives the session that learned it.

Open-source enterprise content production system — 22 skills · 13 specialist agents · 10 quality gates · 43-pattern AI-detection humanizer · a run auditor that re-derives every gate before a run may call itself finished · 30 Python scripts (stdlib; the few optional packages are pinned and never auto-installed). Built for marketing teams producing high volumes of long-form content that needs brand voice consistency, citation integrity, and an internal-link strategy that turns content into a funnel. Installs on Claude Code (CLI + IDE), Anthropic Cowork, OpenAI Codex, Cursor 2.5+, GitHub Copilot CLI, Google Antigravity 2.0, Hermes Agent, OpenClaw, and Grok (xAI Build CLI) + 35+ Agent Skills platforms — with hero skills uploadable to claude.ai (web) as .skill release assets. Created by Indranil Banerjee · LinkedIn · X.

EU AI Act

Built by Indranil "Neel" Banerjee — Neelverse Marketing Suite — Sponsor this project

🆕 Just shipped — v4.6.0 (October 28, 2026): A code audit closes the paths that left a run, the keys that would follow a redirect, the brands that shared a folder and the loops that never stopped, and the guidance now agrees with the vendors' own pages. Release notes · Changelog

# Install in Claude Code 2.1.292 or newer (one command, run in your terminal):
claude plugin install contentforge --marketplace indranilbanerjee/neels-plugins

# Older Claude Code, or inside a session (CLI or VS Code/JetBrains extension):
/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install contentforge@neels-plugins

# Install in Cowork: use the Plugins panel in the UI -- /plugin slash
# commands DON'T work in Cowork (or Claude.ai / Claude Desktop).
# Open Plugins panel -> Add marketplace -> paste indranilbanerjee/neels-plugins
# -> Install ContentForge from the listed plugins.

# Install on Hermes Agent (Nous Research):
hermes plugins install indranilbanerjee/contentforge

# Install on OpenClaw:
openclaw plugins install git:github.com/indranilbanerjee/contentforge

# Install on Grok (xAI Build CLI):
grok plugin install indranilbanerjee/contentforge

If ContentForge saves your team time, give it a star ⭐ — it's the single thing that helps other marketing teams find it.


Try this first

Install, then ask in plain words. Each of these kinds of request reached the right skill in our trigger tests.

You type What happens
"write a blog post on your topic" One fact-checked, brand-compliant article through the full pipeline, delivered as a real .docx with its scorecard
"brief me on this topic" A research-backed content brief: search intent, competitors, outline
"which posts need refreshing" An audit of your library: what is stale, what to refresh, what to retire
"turn this article into LinkedIn posts" Platform-native social posts from a finished piece; it shows the scope and waits for your yes
"translate this into Spanish" A translation that keeps brand voice and citations; it shows the scope and waits for your yes

What ContentForge will never do

  • Install a package on its own. A missing one prints the exact pinned install command; CONTENTFORGE_INSTALL_DEPS=1 consents for a single run.
  • Publish, translate or post without your typed yes. Each of those skills shows what it will do first; any other reply cancels.
  • Mark a run complete without its audit on the record. finalize --status completed refuses a missing, failed or stale audit; the --skip-audit escape stamps audit_skipped: true into the run.
  • Ask for an API key in the chat, or connect a service you did not set up. Keys come from environment variables; no MCP server ships enabled and no hooks run.
  • Remove or hide AI watermarks. AI involvement is disclosed, with C2PA provenance (a sidecar manifest for .docx).

What it costs

  • The plugin is free (MIT-licensed).
  • Model usage (tokens). On a subscription (Claude Pro, Max, Team or Enterprise in Claude Code or Cowork; a ChatGPT plan in Codex; a Cursor or Copilot plan; the same goes for other hosts' plans) the tokens count against your plan's usage limits instead of being billed per token; check your plan for any optional extra-usage billing. Only pay-as-you-go API-key users pay per token. Context (the skill listing, the pipeline's prompts) uses context window and usage allowance for everyone, and money only for API users.
  • Services you connect with your own keys (Google Drive and Sheets, Airtable, an image tool) are billed by those providers, whatever plan you are on. ContentForge charges for none of it.

How it works

The 10-phase ContentForge pipeline: title curation, research, fact-check, draft, visual assets, scientific validation, structure and proofread, SEO/GEO, humanizer, reviewer, and output manager — with budgeted gate-fail loop edges

Ten phases, each ending in a quality gate that the orchestrator checks with scripts, never from an agent's self-report. A failed gate loops back to the offending phase, with a budget: at most 2 loops per edge and 5 per run. Every phase, in order, is under What ContentForge does.


Quick start

1. Install the plugin

In Claude Code 2.1.292 or newer, one command in your terminal:

claude plugin install contentforge --marketplace indranilbanerjee/neels-plugins

On an older version, or inside a session (CLI or VS Code/JetBrains extension):

/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install contentforge@neels-plugins

In Anthropic Cowork:

  1. Open the Plugins panel in the Cowork UI (sidebar / settings)
  2. Click Add marketplace, paste indranilbanerjee/neels-plugins
  3. After the marketplace syncs, find ContentForge in the listed plugins and click Install
  4. Then run /contentforge:cf-cowork-setup once to wire Google Drive as your team's output destination

⚠ /plugin slash commands work only in Claude Code (CLI + IDE extension). They do NOT work in Cowork, Claude.ai web, or Claude Desktop — use UI navigation in those environments. The /contentforge:* skills (like /contentforge:create-content) work in all environments where plugins are loaded; only the /plugin management family is Claude-Code-only.

2. Turn on auto-update (one-time, recommended)

Third-party marketplaces — including this one — have auto-update OFF by default in Claude Code. When a newer version is on the marketplace and you're still running an older one, nothing tells you. There's no banner, no badge, no notification. So the first thing to do after install is enable updates:

Open /plugin, go to the Marketplaces tab, find neels-plugins, and toggle Enable auto-update. Done — Claude Code will refresh and pull new ContentForge releases at startup from now on, prompting you to run /reload-plugins to pick up changes mid-session (no full restart, conversation context preserved).

If you'd rather update manually each time instead, see the Updating section below.

3. Set up your first brand

/contentforge:brand-setup

The agent walks you through brand voice, terminology, guardrails, citation rules, internal-linking site structure, and (if you want commercial impact) the brand_pages block — your product/service URLs, conversion CTAs, and authority pages. When you give it a website, it runs a robots-respecting crawler and harvests a verified page inventory in one confirmation step. It saves a brand-profile.json to ~/.claude-marketing/<brand-slug>/.

4. Generate content

/contentforge:create-content

The skill prompts you for content type, brand, topic, target word count, and audience. It then runs 10 phases via specialized subagents (research → fact-check → draft → visuals → validate → proofread → SEO → humanize → review → output), enforces a quality gate after each phase, audits the finished run against its own artifacts, and writes a real .docx you can hand to your editor or design team.

5. Find your output

ContentForge writes the finished .docx to two places:

User-visible copy — this is the one to open:

~/Documents/ContentForge/<brand-slug>/<content-type>/<YYYY-MM>/<slug>.docx

This lives in your normal Documents folder, visible in Windows Explorer / macOS Finder / Linux file managers by default. Override the root with the CONTENTFORGE_PUBLISH_DIR env var (e.g. point at a Dropbox or team-share path). Run /contentforge:output-folder any time to print the absolute path and open the folder in the OS file manager.

Internal tracking copy — the system-of-record for analytics/audit skills:

~/.claude-marketing/<brand-slug>/tracking/outputs/<YYYY>/<MM-MonthName>/
└── <slug>_v1.0.docx

The intermediate phase artefacts (research brief, fact-check report, draft, SEO scorecard, review report, etc.) plus rendered chart PNGs land alongside the tracking copy in the run directory. The .docx includes the body, references, and four appendices — A SEO Scorecard, B Quality Scorecard, C Production Details, D Internal Link Map.

Historical note (fixed in v3.12.3): earlier versions only wrote to the hidden ~/.claude-marketing/ dotfolder, which Windows Explorer hides by default. Multiple users reported "the file isn't saving on local drive" — it was saving, just somewhere they couldn't see. The dual-copy design is the resolution; /contentforge:output-folder is the quick-reveal command.

6. If the run gets interrupted, resume it

The 10-phase pipeline runs 20–60 minutes end to end. If the session terminates partway through (context-window exhaustion, network blip, Ctrl-C, machine sleep), every completed phase is saved to disk via scripts/checkpoint-manager.py. Resume the run with:

/contentforge:resume                 # auto-picks the most recent in-progress run for the active brand
/contentforge:resume <run-id>        # pick a specific run from `checkpoint-manager.py list`

The resumer reloads the saved Phase 1..N outputs and continues from Phase N+1 — no re-running phases that already completed. It also reports orphaned artifacts (a phase whose artifact exists but was never checkpointed — precisely the window a crash creates), so finished work is verified rather than re-run blind or trusted blind.

7. Close the loop

After you've published a few pieces, three commands turn production into a lifecycle:

/contentforge:cf-aeo-check      # did AI engines cite the piece? appends to per-brand history
/contentforge:audit-content     # score the library for decay; findings recorded durably
/contentforge:cf-calendar --from-audit=latest   # next period's plan, fed from the recorded audit

Each one writes or reads a durable per-brand file — the loop works across sessions, across weeks, and (with Cowork + Drive) across your whole team. Details in The content lifecycle loop.


Who this is for

If you're a... Run this What you get
Content team shipping long-form at volume /contentforge:brand-setup once, then /contentforge:create-content per topic Fact-checked, brand-compliant pieces as real .docx files, each with its scorecards and internal-link map
Content lead with a published library /contentforge:audit-content, /contentforge:cf-aeo-check, then /contentforge:cf-calendar --from-audit=latest The library scored for decay, AI-engine citations tracked over time, and the next period's plan built from the recorded audit
Agency or consultancy with several clients /contentforge:brand-setup per client, /contentforge:cf-cowork-setup for a shared Drive Each brand keeps its own voice, terminology and link inventory; on Cowork with Drive, the output and the lifecycle stores are team-shareable
Social or international marketer /contentforge:cf-social-adapt, /contentforge:cf-translate A finished piece turned into platform-native posts, or translated with voice and citations kept; each shows its scope and waits for your yes

Why ContentForge

Most AI writing tools produce one draft, in one tone, with no quality gates, and forget the piece the moment it ships. The output reads like AI, factual claims are unverified, internal links don't exist, brand voice drifts, the file format is markdown when the editor wants Word — and six months later nobody knows which pieces went stale. ContentForge fixes this end to end:

Capability Why it matters
10-phase pipeline with a quality gate after every phase Bad output is caught and re-run before it propagates downstream
43-pattern AI-detection humanizer + self-critique meta-pass Fewer AI-drafting habits, measured by an offline scan of 43 patterns (text-metrics.py --ai-tell-scan, advisory) plus burstiness metrics
Fact-checker subagent verifies URLs and cross-references claims Citations work and aren't hallucinated — every statistic traces to a verified ledger entry
Three-category internal linking (topical / commercial / authority) Content becomes a funnel, not a stranded page
Real .docx output with embedded SEO + Quality + Production + Internal-Link appendices Editor / design team gets a working Word file, not markdown
A run auditor that re-derives every gate from the artifacts "The pipeline says it finished" and "the artifacts prove it finished" can never drift apart silently — finalize --status completed refuses without a fresh CLEAN verdict
The lifecycle loop (v4.0) — audit → refresh → measure → plan, joined by file contracts Published content stops being fire-and-forget: decay is detected, refreshes are prioritized from data, and what the pipeline learns about your brand compounds
C2PA content provenance signing for EU AI Act Article 50 compliance Long-form AI-assisted content distributed in EU markets needs provenance from 2 Aug 2026

Supported surfaces (v4.6.0)

Platform Install command Manifest path Status
Claude Code CLI + IDE extension /plugin install contentforge@neels-plugins .claude-plugin/plugin.json Full support (canonical for solo devs)
Anthropic Cowork Plugins panel in UI → Add marketplace → indranilbanerjee/neels-plugins → Install ContentForge same .claude-plugin/ files Recommended for teams — /contentforge:cf-cowork-setup wires Google Drive for team-shareable output (and, in 4.0, for the lifecycle stores that make the loop compound across sessions)
OpenAI Codex CLI + IDE + App codex plugin marketplace add indranilbanerjee/neels-plugins then codex plugin add contentforge@neels-plugins .codex-plugin/plugin.json (published OpenAI schema) Full skills + MCP support
Cursor 2.5+ In any Cursor Agent chat: /add-plugin contentforge@https://github.com/indranilbanerjee/contentforge .cursor-plugin/plugin.json (verified Cursor 2.5+ JSON Schema) Full skills + agents + commands support
GitHub Copilot CLI copilot plugin marketplace add indranilbanerjee/neels-plugins then copilot plugin install contentforge@neels-plugins .github/plugin/plugin.json (Copilot also recognizes .claude-plugin/plugin.json as fallback) Full skills + MCP support
Google Antigravity 2.0 CLI + IDE agy plugin install https://github.com/indranilbanerjee/contentforge gemini-extension.json (at repo root, per Google's reference pattern) Full skills + hooks support
Hermes Agent (Nous Research) — Desktop + CLI on macOS / Windows / Linux hermes plugins install indranilbanerjee/contentforge plugin.yaml + __init__.py at repo root (Hermes native spec) Native plugin — adapter walks skills/ at register time and exposes all 22 skills via ctx.register_skill(). Targets Hermes Desktop v0.15.2+ (public preview June 2 2026).
OpenClaw (formerly Clawdbot / Moltbot) openclaw plugins install git:github.com/indranilbanerjee/contentforge openclaw.plugin.json at repo root (also auto-detects .claude-plugin/plugin.json as Claude-compatible bundle) Native plugin via openclaw.plugin.json; skills field points at ./skills.
Grok (xAI Build CLI) grok plugin install indranilbanerjee/contentforge — or add the marketplace: grok plugin marketplace add indranilbanerjee/neels-plugins then grok plugin install contentforge (append --trust to skip the install confirmation) .grok-plugin/plugin.json + .grok-plugin/marketplace.json (Grok Build also reads the .claude-plugin/ manifests for compatibility; the native pair is the first-class lane) Full skills support; the pipeline runs via the portable execution lane
claude.ai (web) Download a hero skill from the latest release (e.g. cf-brief.skill) → claude.ai → Settings → Capabilities (enable Code execution and file creation) → Customize → Skills → Upload skill built from config/skill-assets.json by scripts/build-skill-assets.py Hero skills only — cf-brief,

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#content · #editorial · #writing