Best for
- You want to connect a specific service (e.g., /contentforge:cf-connect wordpress)
- A skill told you a connector is missing and suggested using this command
- You're setting up a new ContentForge installation and configuring integrations
indranilbanerjee/contentforge/skills/cf-connect/SKILL.md
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-st
Decision brief
Set up a specific MCP integration for ContentForge with step-by-step instructions tailored to the connector's transport type. Handles HTTP connectors (OAuth-based), npx connectors (API keys, environment variables, .mcp.json entry), unknown connector names (fuzzy matching), and p…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/indranilbanerjee/contentforge --skill "skills/cf-connect"Inspect the Agent Skill "cf-connect" from https://github.com/indranilbanerjee/contentforge/blob/5f40253ff3a64d67610ce0ad996dfd80bafbff06/skills/cf-connect/SKILL.md at commit 5f40253ff3a64d67610ce0ad996dfd80bafbff06. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Run the setup guide lookup:
This returns connected or notconnected, plus (for npx connectors) which env vars are set vs missing. Render exactly what the script reports.
Instructions differ based on transport type. Both types require the user to add an entry to .mcp.json (or connect at the platform level) — nothing is pre-wired.
When a connector name is not in the registry and no fuzzy match exists:
For npx connectors, after the user follows the setup steps:
Permission review
The documentation asks the agent to run terminal commands or scripts.
python scripts/connector-status.py --action setup-guide --name <connector>The documentation asks the agent to run terminal commands or scripts.
python scripts/connector-status.py --action check --name <connector>The documentation includes network, browsing, or remote request actions.
export WORDPRESS_SITE_URL="https://your-site.com"Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 23 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Set up a specific MCP integration for ContentForge with step-by-step instructions tailored to the connector's transport type. Handles HTTP connectors (OAuth-based), npx connectors (API keys, environment variables, .mcp.json entry), unknown connector names (fuzzy matching), and post-setup verification.
ContentForge ships with an empty .mcp.json ("mcpServers": {}). This is deliberate (v3.9.0 Cowork-safety decision): no connector auto-connects when the plugin is installed. Every connector is opt-in — the user adds it to .mcp.json (or connects it at the platform level in Cowork/Desktop Settings → Integrations).
Never claim a connector is pre-wired or already connected. All status claims must come from running python scripts/connector-status.py — never from this file or from memory.
Use /contentforge:cf-connect <name> when:
/contentforge:cf-connect wordpress).mcp.json entry for an npx connectorRequired:
notion, wordpress, google-sheets, canva)wp matches wordpress, gsheets matches google-sheets, ga matches google-analyticsOptional:
cowork or claude-code (auto-detected if not specified)Run the setup guide lookup:
python scripts/connector-status.py --action setup-guide --name <connector>
This returns:
.mcp.json entryIf the connector name is not found, check common aliases before showing an error:
| Input | Matches To |
|---|---|
wp, wordpress | wordpress |
gsheets, sheets, google-sheets | google-sheets |
gdrive, drive, google-drive | google-drive |
ga, ga4, google-analytics | google-analytics |
gsc, search-console | google-search-console |
gcal, calendar | google-calendar |
x, twitter | twitter-x |
li, linkedin | linkedin-publishing |
ig, insta | instagram |
hs, hubspot | hubspot-cms |
sarvam | sarvam-ai |
If no match is found after alias lookup, run python scripts/connector-status.py --action list-available and present the actual list.
python scripts/connector-status.py --action check --name <connector>
This returns connected or not_connected, plus (for npx connectors) which env vars are set vs missing. Render exactly what the script reports.
If already configured: confirm to the user, list the skills it enables (from the script JSON), and stop — no action needed.
If not configured, proceed to Step 3.
Instructions differ based on transport type. Both types require the user to add an entry to .mcp.json (or connect at the platform level) — nothing is pre-wired.
HTTP connectors are the easiest: one .mcp.json entry, no API keys for OAuth-based ones, and they work in both Cowork and Claude Code.
Setup pattern to walk the user through:
.mcp.json.connectors-reference (the plugin's catalog of verified HTTP endpoints). Do not guess endpoint URLs from memory — unverified URLs waste the user's time..mcp.json in the plugin root:
"notion": {
"type": "http",
"url": "<verified endpoint from the reference file>"
}
In Cowork/Claude Desktop, the platform-level integration (Settings → Integrations) may be simpler — mention it when available.npx connectors require environment variables and a .mcp.json entry. They work in Claude Code only (Cowork cannot run local Node.js servers).
Setup pattern:
python scripts/connector-status.py --action setup-guide --name <connector>.npm view <package-name> version
If the package doesn't exist or looks abandoned (no updates in 12+ months, negligible downloads), tell the user and search npm for a maintained alternative rather than proceeding..env loaded before Claude Code starts; on Windows: System Properties → Environment Variables, then restart the terminal):
export WORDPRESS_SITE_URL="https://your-site.com"
export WORDPRESS_AUTH_TOKEN="your-application-password"
.mcp.json entry (use the exact block from the setup-guide output):
"wordpress": {
"command": "npx",
"args": ["-y", "<verified-package-name>"],
"env": {
"WORDPRESS_SITE_URL": "${WORDPRESS_SITE_URL}",
"WORDPRESS_AUTH_TOKEN": "${WORDPRESS_AUTH_TOKEN}"
}
}
Never hardcode credentials in .mcp.json or plugin files — always reference environment variables.
When a connector name is not in the registry and no fuzzy match exists:
--action list-available output."type": "http", "url": ...) if the service publishes an MCP endpoint, or an npx entry if a maintained npm MCP package exists (verify with npm view first)./contentforge:cf-integrations until added to the registry./contentforge:cf-add-integration.For npx connectors, after the user follows the setup steps:
python scripts/connector-status.py --action check --name <connector> and render the result (env vars set/missing, .mcp.json entry found)..mcp.json is read at startup only./contentforge:cf-publish --platform=wordpress --status=draft for WordPress.For HTTP connectors, verification happens implicitly: the OAuth prompt appears on first real use.
The complete setup guide includes:
| Section | Description |
|---|---|
| Connector Info | Name, category, description, transport type (from script) |
| Current Status | Configured or not, with details (from script) |
| Setup Steps | Numbered walkthrough tailored to transport type |
| Skills Unlocked | Which ContentForge skills this connector enables (from script) |
| Credential Requirements | For npx: env vars needed with set/missing status |
| .mcp.json Entry | Ready-to-paste JSON block |
| Environment Notes | Cowork vs Claude Code compatibility, Node.js requirements |
| Verification Steps | How to confirm the connector works after setup |
google-sheets, not Google Sheets or googlesheetspython scripts/connector-status.py --action list-available to see all valid names.mcp.json — changes are read at startup onlynpm view <pkg> version)npx --versionexport VAR=value.env files must be loaded before the Claude Code session starts.mcp.json and the session was restarted after adding itnode --version and npx --version/contentforge:cf-integrations to see which configured connectors are Cowork-compatible1. /contentforge:cf-connect wordpress
-> Follow steps: verify package on npm, get application password, set env vars, add to .mcp.json
2. Restart Claude Code
3. /contentforge:cf-integrations
-> Verify WordPress shows as configured (from script output)
4. /contentforge:create-content "Your Topic" --type=blog --brand=YourBrand
5. /contentforge:cf-publish --platform=wordpress --status=draft
1. /contentforge:cf-connect google-sheets
-> Follow steps: create service account, download credentials JSON, set env var, add to .mcp.json
2. Restart Claude Code
3. /contentforge:batch-process <sheet URL>
-> Reads requirements from the sheet, processes them one at a time (checkpointed queue)
1. /contentforge:cf-connect ahrefs
-> HTTP connector: add the verified endpoint to .mcp.json, restart, authorize on first use
2. /contentforge:cf-brief "AI in Healthcare 2026" --brand=AcmeMed
-> Brief now includes real keyword data from Ahrefs
The following connectors are optional and enable enhanced validation passes during specific pipeline phases. They are auto-detected if available (via MCP discovery) and never required — the built-in validators run everywhere without them.
| Connector | Service Type | Use Case |
|---|---|---|
| AI-detection (optional) | any MCP-served detector (e.g. a Hugging Face Space) | Phase 6.5 external validation pass — advisory only; the built-in tell-scan runs everywhere without it |
None. This skill is entirely script-driven using scripts/connector-status.py.
Script: python scripts/connector-status.py --action setup-guide --name <connector>
Network Required: No for status checks (reads local config and env vars); yes only for npm view package verification
Frequently asked questions
Set up a specific MCP integration for ContentForge with step-by-step instructions tailored to the connector's transport type. Handles HTTP connectors (OAuth-based), npx connectors (API keys, environment variables, .mcp.json entry), unknown connector names (fuzzy matching), and p…
The source record exposes this install command: npx skills add https://github.com/indranilbanerjee/contentforge --skill "skills/cf-connect". Inspect the command and pinned source before running it.
The pinned source record declares support for: claude code.
Static rules flagged exec-script, network in the source; the page lists the matching lines and excerpts.
Alternatives
respira-press/agent-skills-wordpress
Use when the user says 'my site looks bad on mobile', 'check mobile layout', 'responsive audit', or 'site broken on phones'. Diagnoses breakpoint problems, text sizing, column stacking failures, hidden elements, and navigation menu behavior, device by device.
respira-press/agent-skills-wordpress
Use when the user says 'why is my checkout broken', 'audit my woocommerce store', 'cart problems woocommerce', or 'losing sales woocommerce'. Diagnoses checkout and cart failures, AJAX mismatches, caching conflicts, payment gateway setup, and SSL enforcement.
elementalsouls/Claude-BugHunter
Hunting skill for auth bypass vulnerabilities. Built from 12 public bug bounty reports across SAML XSW / parser-differential (GitHub Enterprise CVE-2025-25291/25292), SAML signature stripping (Uber, Rocket.Chat, samlify CVE-2025-47949), SAML domain enforcement bypass via control characters (HackerOne 2024), partner-portal cross-IdP assertion reuse (Slack), WordPress XMLRPC bypassing SSO (Uber), JWT alg-confusion HS256/RS256 (Jitsi), JWT signature-validation skip (Linktree, Newspack), and token-a
respira-press/agent-skills-wordpress
Use when the user says 'clean up my wordpress', 'what is bloating my wordpress', 'find orphaned shortcodes', or 'scan for unused plugins'. Audits orphaned shortcodes from deleted plugins, unused plugins, database bloat, unused media, and leftover data from inactive builders.