publish-blog
/digital-marketing-pro:publish-blog
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Purpose
Publish a fully optimized blog post to the brand's CMS (WordPress or Webflow) with SEO metadata, categories and tags, featured image, and optional scheduling. Includes pre-publish quality checks for content scoring and brand voice alignment, plus post-publish verification to confirm the live URL is accessible and rendering correctly. Designed to be the final step in a content workflow — taking a draft from ready to live with all optimization gates enforced.
Execution gate (MANDATORY — cannot be skipped)
- Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
- The user must type
yes(or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run. - Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
- Only after the user types
yes, record it:python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"publish-blog","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', thenpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typedyes. - Execute. A write sent through
connector_executor.pyneeds--approval-idand fires only against a matching, unused, unexpired record (see/digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typedyesand on your host's permission prompt. Afterwards runpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(orfailure).
Input Required
The user must provide (or will be prompted for):