teachskillofskills-ai/contentforge
Enterprise content pipeline for TechShu delivery teams — 22 skills, 13 agents, a 43-pattern AI humanizer, verified fix ledger, run auditor, and real .docx output.
Produce multiple content pieces as a sequential, checkpointed queue — each piece runs the full 10-phase ContentForge pipeline with all 10 quality gates, sorted by priority and resumable after interruption. Intake from local JSON, Google Sheets, Airtable, or CSV; outputs per-piece .docx files plus a batch summary report. Triggers on "/contentforge:batch-process", "produce these 15 blog posts", "run the whole content queue", "batch content production", "process my content spreadsheet". Requires an existing brand profile per brand (create via /contentforge:brand-setup) and a pre-set title per piece — batch runs are non-interactive. Dispatches the batch-orchestrator agent; produces files, does not publish them.
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 to a ready-to-paste .mcp.json entry, credential setup instructions, and a post-restart verification check. Triggers on "/contentforge:cf-add-integration", "connect our internal CMS", "add a custom integration", "hook up Google Analytics to ContentForge", "there is no connector for this service". Reads .mcp.json.connectors-reference for verified endpoints and checks the registry via scripts/connector-status.py first; for connectors already in the registry, /contentforge:cf-connect is the shorter path. Configuration guidance only — never asks for secrets in chat and does not call the connected service itself.
Post-publication AI-visibility check — re-probes target queries via web search, records whether the published piece is cited in Google AI Overviews, audits on-page extractability (definition block, dates, schema, structures) via web fetch, and appends every check to per-brand history so deltas are tracked over time. Triggers on "/contentforge:cf-aeo-check", "is our article cited in AI Overviews", "did we earn AI citations", "check AEO for this URL", "why is a competitor cited instead of us". Measures Google-observable signals only (no ChatGPT/Perplexity probing unless an AEO-tracking connector is present, and then labeled); closes the loop /contentforge:cf-brief opens and routes absent verdicts to /contentforge:content-refresh with evidence. Reports and records — it does not edit or republish the page.
Render an ASCII analytics dashboard of ContentForge production history — quality score trends, phase-by-phase pipeline timing, brand and content-type comparisons, compliance and citation metrics, outlier detection, and triggered alerts over a 7/30/90-day window. Triggers on "/contentforge:cf-analytics", "are our quality scores improving", "which pipeline phase is slowest", "show content production stats", "compare brands by quality". Reads tracking records written by Phase 8 to the brand's tracking backend (local JSON, Google Sheets, or Airtable) and alert rules from config/analytics-config.json; needs 10+ tracked pieces for meaningful trends. Analysis only — invokes no agents and never reads or stores content text.
Audit an existing content library for freshness decay and coverage gaps — scores every piece 0-100 on age, statistic currency, link health, and citation recency, maps covered topics against target keywords, and produces a prioritized report: top refresh candidates, gap topics, retire candidates, and the exact follow-up commands. Triggers on "/contentforge:cf-audit", "which content needs refreshing", "content health check", "what topics are we missing", "audit our blog library". Reads inventory from a Google Drive folder, WordPress REST API, or CSV; pulls performance data only if Google Analytics/Search Console MCPs are connected. Audit only — refreshing happens via /contentforge:content-refresh and new pieces start at /contentforge:cf-brief.
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, search-intent classification, audience pain points, a section-by-section outline with word counts and citation targets, plus SEO and AEO/GEO strategy (AI Overview status, answer-block map, entity list). Triggers on "/contentforge:cf-brief", "write a content brief", "keyword research for this topic", "what should this article cover", "analyze competitors before we write". Uses the researcher agent with Ahrefs/Similarweb MCPs when connected (labeled heuristic estimates otherwise) and aligns terminology to a brand profile when --brand is given. Produces a plan, not the article — feed it to /contentforge:create-content via --brief.
Plan a 30/60/90-day content production calendar — works backward from publish dates to schedule production windows, balances team assignments, detects deadline conflicts, renders a text Gantt-chart timeline, and optionally creates Google Calendar milestone events when that MCP is connected. Triggers on "/contentforge:cf-calendar", "plan next quarter's content schedule", "build an editorial calendar", "when should production start for these pieces", "schedule content deadlines for the team". Imports topics from manual input, Google Sheets, or the latest /contentforge:cf-audit recommendations; pairs with /contentforge:cf-brief and /contentforge:batch-process for execution. Deterministic scheduling only — it plans dates, produces no content, and does not auto-reschedule delays.
Set up a specific MCP connector from the ContentForge registry with step-by-step instructions tailored to its transport — verified endpoint URL for HTTP connectors, env vars plus a ready-to-paste .mcp.json entry for npx connectors, credential acquisition guidance, and post-setup verification. Triggers on "/contentforge:cf-connect", "connect WordPress", "set up the Notion connector", "how do I add Google Sheets", "a skill says a connector is missing". Status always comes from scripts/connector-status.py (never memory) and endpoints from .mcp.json.connectors-reference; fuzzy-matches names like wp or gsheets. Setup guidance only — for services not in the registry it hands off to /contentforge:cf-add-integration, and /contentforge:cf-integrations shows the full status dashboard.
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.
Detect where ContentForge is running (Cowork sandbox, local Claude Code on Windows/Mac/Linux, uncertain sandbox, or unknown) and report a capability matrix for that surface — which connector transports work, where files actually land, and whether /contentforge:resume survives sessions. Triggers on "/contentforge:cf-environment", "will this work in Cowork", "where did my files save", "why is my Documents folder empty after a run", "check capabilities before a long pipeline". Runs scripts/plugin-metadata.py --section environment and scans the session for Drive MCPs; pairs with /contentforge:cf-cowork-setup when Cowork+Drive wiring is missing. Diagnostic only — it reports the environment's limits and changes nothing.
Show the ContentForge user guide with live plugin state — version, agent/skill/command counts, connector availability, and runtime environment read from scripts/plugin-metadata.py, never hardcoded — plus pipeline overview, per-skill listings, worked examples, brand-setup methods, and a troubleshooting matrix. Triggers on "/contentforge:cf-help", "how do I use ContentForge", "list the ContentForge skills", "explain the content pipeline", "ContentForge isn't working". Flags route to sections (--pipeline, --skills, --examples, --troubleshoot, --brand), and a Cowork sandbox warning is surfaced automatically when detected. Documentation only — it renders guidance from live metadata and runs no production pipeline.
Render a live integration status dashboard for ContentForge — configured vs available MCP connectors grouped by category, coverage totals, and the top 3 quick-win connectors to add next, all taken from scripts/connector-status.py output. Triggers on "/contentforge:cf-integrations", "what integrations are connected", "show connector status", "why can't a skill reach my CMS", "which connectors should I set up next". Reads .mcp.json and environment variables only — no network calls, no agent; it reports status but does not configure anything. Pairs with /contentforge:cf-connect for guided setup and /contentforge:cf-add-integration for services outside the registry.
Execute CMS publishing: push a finished, reviewed piece (Phase 8 complete, quality score >=7.0) to Webflow or WordPress via MCP connectors as draft, scheduled, or live — always showing a full publish preview and waiting for your explicit yes/no/edit confirmation before anything is pushed. Runs the EU AI Act Article 50 disclosure check, verifies the live URL, meta tags, and images post-publish, and falls back to a standalone HTML export when no CMS connector is configured. Triggers on "/contentforge:cf-publish", "publish this article to WordPress", "push this to Webflow", "schedule this post for next week", "export the article as HTML". Refuses unreviewed content; pairs with /contentforge:cf-social-adapt for post-publish promotion.
Repurpose a finished article into ready-to-publish, platform-native social posts for LinkedIn, Twitter/X, Instagram, Facebook, Threads, TikTok, Bluesky, and YouTube Shorts — each with hook, hashtags, CTA, character count, image spec, and posting time, typically 24-40 posts per article. Triggers on "/contentforge:cf-social-adapt", "turn this article into LinkedIn posts", "make social posts from this blog", "repurpose this for social media", "promote the published article". Dispatches the contentforge:social-adapter agent, takes all platform limits from config/social-platform-specs.json, reads the brand profile for voice, and requires pipeline-approved content (score >=7.0). Pairs with /contentforge:cf-publish for the live article URL.
Import a brand voice profile from an existing style guide — a .docx/.pdf document, a URL, or manual input — extracting tone, formality, personality, approved/banned terminology, compliance guardrails, and author profiles into a structured brand-profile JSON at ~/.claude-marketing/{brand-slug}/Brand-Guidelines/, then configure the tracking backend (Google Sheets + Drive, Airtable, or local). Triggers on "/contentforge:cf-style-guide", "import our style guide", "set up a brand from this document", "update the brand profile with new guidelines", "extract our banned terms and disclaimers". Deterministic parsing, no agent. The saved profile is read by every pipeline phase — drafting, brand compliance, humanizer; pairs with /contentforge:brand-setup and /contentforge:cf-switch-backend.
Switch ContentForge's tracking and delivery backend between Google Sheets + Drive, Airtable, and local filesystem — guiding credential setup, verifying access, optionally migrating existing tracking records and output files (migration is additive and never deletes source data), and updating tracking.backend in the brand profile so the next run uses it immediately. Triggers on "/contentforge:cf-switch-backend", "switch tracking to Airtable", "move tracking to Google Sheets", "which backend am I using", "migrate my tracking data". Runs backend-migrator.py, sheets-tracker.py, airtable-tracker.py, or local-tracker.py; --status reports current backend health. Pairs with /contentforge:cf-cowork-setup for the Cowork Drive route and /contentforge:cf-style-guide, whose Step G sets the initial backend.
Create and manage custom content-type templates beyond the 8 built-ins (article, blog, whitepaper, faq, research-paper, video-script, case-study, newsletter) — defining section structure, word-count allocations, readability targets, citation minimums, and quality standards, then validating the template against every pipeline phase. Saves to ~/.claude-marketing/_templates/ so plugin updates never wipe it. Triggers on "/contentforge:cf-template", "create a template for press releases", "add a custom content type", "list available templates", "import a structure from this example doc". Deterministic, no agent; produces the template file consumed by /contentforge:create-content --type=custom:name, and /contentforge:cf-brief can target its section structure.
Translate publication-ready ContentForge content into any of 15 languages at three localization levels (literal, adapted, transcreated) — preserving brand voice, keeping citation URLs and DOIs untouched, and adapting SEO keyword placements for the target market — delivered as a translated .docx plus a quality report via the brand's tracking backend. Triggers on "/contentforge:cf-translate", "translate this article to Spanish", "localize this for the German market", "make a French version of this post", "transcreate this for Japan". Dispatches the contentforge:translator agent, maps voice via config/multilingual-patterns.json, and runs a target-language humanizer pass. Requires pipeline output scoring >=7.0 and a brand profile; pairs with /contentforge:create-content upstream.
Generate 3-10 scored A/B test variations of a single content element — headline, hook, CTA, intro, or conclusion — each rated across 6 quality dimensions and ranked by your optimization goal (clicks, engagement, conversions, or readability), with top-3 recommendations and A/B test setup guidance (sample size, duration, success metric). Triggers on "/contentforge:cf-variants", "give me headline alternatives", "A/B test options for this CTA", "which hook is stronger", "write 5 versions of this intro". Applies Humanizer phrasing patterns and Reviewer scoring logic, and reads the brand profile for voice fit. Scores are predictive, not live-traffic data; it varies single elements only — use /contentforge:create-content for full pieces.
Produce a production-ready video script for YouTube, YouTube Shorts, TikTok, Instagram Reels, or explainers — timestamps, scene dialogue, B-roll shot list, on-screen text, and music notes. Every script passes the Phase 3.5 claim-verification gate (contentforge:fact-checker checks each statistic in narration and on-screen overlays; zero unverified claims survive), a spoken-language humanizer pass so narration reads for the ear, and a 5-dimension review scorecard (hook, claim integrity, payoff density, retention risk, CTA — >=7.0 average to ship). Triggers on "/contentforge:cf-video-script", "write a YouTube script about this", "turn this article into a TikTok", "script a 60-second reel", "make an explainer video script". Dispatches researcher, content-drafter, and structurer agents, reads the brand profile, delivers via the tracking backend. Scripts only — no finished video.
Re-optimize an existing content piece with current statistics, new sources, and fixed citations at light (~20%), medium (~50%), or heavy (~80%) rewrite scope — preserving evergreen sections, SEO keyword placements, the URL slug, and internal links, then re-running the pipeline's quality gates (fact-check, validation, humanizer, reviewer) and saving as a new version with a before/after comparison report; the original file is never overwritten. Triggers on "/contentforge:content-refresh", "update this old article", "rankings dropped, refresh this post", "this content has outdated stats", "refresh it with current data". Reuses the 10-phase pipeline agents and loads the original .docx from the brand's tracking backend; pairs with /contentforge:cf-audit to find candidates and /contentforge:publish to push the update.
Produce a publication-ready, fact-checked, brand-compliant, SEO-optimized content piece through the full 10-phase pipeline: every phase dispatched to a dedicated subagent (researcher, fact-checker, drafter, visual annotator, scientific validator, structurer, SEO/GEO optimizer, humanizer, reviewer, output manager) behind 10 orchestrator-verified quality gates — three-layer fact verification, the 43-pattern humanizer pass, and 5-dimension reviewer scoring (approve >=7.0) — ending in a .docx with scorecard appendices. Triggers on "/contentforge:contentforge", "write an article about", "create a blog post", "produce a whitepaper", "I need a fact-checked, publication-ready piece", "run the content pipeline". This is ContentForge's front door: reads the brand profile, then routes onward to /contentforge:publish, /contentforge:social-adapt, and /contentforge:translate.