$npx -y skills add indranilbanerjee/contentforge --skill cf-publishPublish finished content to Webflow or WordPress via MCP connectors with preview, verification, and HTML export fallback
| 1 | # Publish Content — ContentForge CMS Publishing |
| 2 | |
| 3 | Push publication-ready content from the ContentForge pipeline directly to your CMS (Webflow or WordPress) via MCP connectors. Preview before publishing, verify post-publish, and fall back to HTML export when no connector is available. |
| 4 | |
| 5 | ## When to Use |
| 6 | |
| 7 | Use `/contentforge:cf-publish` when: |
| 8 | - You have a **finished, reviewed content piece** (Phase 8 complete, score >=7.0) |
| 9 | - You want to **publish directly** to Webflow or WordPress without copy-pasting |
| 10 | - You need to **schedule content** for a future publish date |
| 11 | - You want **post-publish verification** (URL live, meta tags correct, images loaded) |
| 12 | - You want an **HTML export** for manual upload when no CMS connector is configured |
| 13 | |
| 14 | **Do NOT use for:** |
| 15 | - Content still in pipeline (must be Phase 8 complete) |
| 16 | - Content flagged for human review (score <5.0) |
| 17 | - Platforms other than Webflow/WordPress (use `/contentforge:cf-social-adapt` for social media) |
| 18 | |
| 19 | ## What This Command Does |
| 20 | |
| 21 | 1. **Verify Connector** -- Check if Webflow or WordPress MCP connector is active |
| 22 | 2. **Load Content** -- Pull finished content from Google Drive or local output |
| 23 | 3. **Format for Platform** -- Convert markdown/docx to platform-specific HTML/blocks |
| 24 | 4. **Preview** -- Show rendered preview with meta tags, slug, featured image |
| 25 | 5. **AI Disclosure & Provenance** -- EU AI Act Article 50 check (applicable from 2 Aug 2026) |
| 26 | 6. **Publish/Schedule** -- Push to CMS as draft, published, or scheduled |
| 27 | 7. **Post-Publish Verification** -- Confirm URL is live, meta tags are correct, content renders properly |
| 28 | 8. **Fallback** -- If no connector, generate standalone HTML file for manual upload |
| 29 | |
| 30 | ## Required Inputs |
| 31 | |
| 32 | **Minimum Required:** |
| 33 | - **Content Source** -- Google Drive URL, local file path, or requirement ID (e.g., `REQ-001`) |
| 34 | - **Platform** -- `webflow` or `wordpress` |
| 35 | - **Status** -- `draft`, `publish`, or `schedule` |
| 36 | |
| 37 | **Optional:** |
| 38 | - **Schedule Date** -- ISO date/time for scheduled publishing (required if status=schedule) |
| 39 | - **Collection/Category** -- Webflow collection slug or WordPress category |
| 40 | - **Featured Image** -- URL or local path to hero image |
| 41 | - **Author** -- Override default author |
| 42 | - **Tags** -- Comma-separated list of tags |
| 43 | - **Slug Override** -- Custom URL slug (defaults to SEO-optimized slug from Phase 6) |
| 44 | |
| 45 | ## How to Use |
| 46 | |
| 47 | ### Interactive Mode |
| 48 | ``` |
| 49 | /contentforge:cf-publish |
| 50 | ``` |
| 51 | **Prompts you for:** |
| 52 | 1. Content source (Drive URL, file path, or requirement ID) |
| 53 | 2. Platform (Webflow / WordPress) |
| 54 | 3. Publish status (draft / publish / schedule) |
| 55 | 4. Preview confirmation before pushing |
| 56 | |
| 57 | ### Quick Mode |
| 58 | ``` |
| 59 | /contentforge:cf-publish REQ-001 --platform=webflow --status=publish |
| 60 | ``` |
| 61 | |
| 62 | ### Schedule for Later |
| 63 | ``` |
| 64 | /contentforge:cf-publish REQ-001 --platform=wordpress --status=schedule --date="2026-03-01T09:00:00" |
| 65 | ``` |
| 66 | |
| 67 | ### Publish from Google Drive |
| 68 | ``` |
| 69 | /contentforge:cf-publish https://drive.google.com/file/d/ABC123 --platform=webflow --status=draft |
| 70 | ``` |
| 71 | |
| 72 | ## What Happens |
| 73 | |
| 74 | ### Step 1: Connector Verification (5-10 seconds) |
| 75 | |
| 76 | Before attempting any CMS operation, verify the target connector is available. |
| 77 | |
| 78 | **Check MCP connector status:** |
| 79 | ``` |
| 80 | Platform: webflow |
| 81 | Connector: Webflow MCP (https://mcp.webflow.com/sse) |
| 82 | Status: CHECKING... |
| 83 | ``` |
| 84 | |
| 85 | **Case A: Connector Active** |
| 86 | ``` |
| 87 | Webflow MCP: CONNECTED |
| 88 | Site: acme-corp.webflow.io |
| 89 | Collections available: blog-posts, case-studies, resources |
| 90 | Proceeding with direct publish... |
| 91 | ``` |
| 92 | |
| 93 | **Case B: Connector Not Found** |
| 94 | ``` |
| 95 | Webflow MCP: NOT CONNECTED |
| 96 | |
| 97 | No Webflow connector detected in .mcp.json. |
| 98 | Falling back to HTML export mode. |
| 99 | |
| 100 | To enable direct publishing, add the Webflow connector: |
| 101 | /contentforge:cf-connect webflow |
| 102 | |
| 103 | Generating standalone HTML file for manual upload... |
| 104 | ``` |
| 105 | |
| 106 | ### Step 2: Load and Validate Content (10-15 seconds) |
| 107 | |
| 108 | **Load content from source:** |
| 109 | - Read .docx or markdown from Google Drive or local output directory |
| 110 | - Extract metadata: title, meta description, slug, keywords, author, featured image |
| 111 | - Validate quality score >= 7.0 (refuse to publish unreviewed content) |
| 112 | |
| 113 | **Validation checks:** |
| 114 | ``` |
| 115 | Content Validation |
| 116 | --------------------------------------------------- |
| 117 | Title: "AI in Healthcare: 2026 Trends" OK |
| 118 | Quality Score: 9.2/10 OK |
| 119 | Status: Approved (Phase 8 Complete) OK |
| 120 | Word Count: 1,947 OK |
| 121 | Meta Title: 58 chars OK |
| 122 | Meta Description: 152 chars OK |
| 123 | SEO Slug: ai-in-healthcare-2026-trends OK |
| 124 | Featured Image: hero-ai-healthcare.jpg OK |
| 125 | --------------------------------------------------- |
| 126 | All checks passed. Ready to format for Webflow. |
| 127 | ``` |
| 128 | |
| 129 | **Rejection cases:** |
| 130 | - Quality score < 7.0: "Content has not passed quality review. Score: 4.8/10. Run the full pipeline first." |
| 131 | - No Phase 8 completion: "Content pipeline inc |