publish-blog について
Claude向けのマーケティングスキルで、準備済みのブログ記事を WordPress または Webflow に公開し、SEO、ブランドの語調、コンプライアンスを確認します。予約公開と公開後のページ検証に対応し、公開前に明示的な承認を求めます。
主な機能
- 01WordPressまたはWebflowへの公開
- 02コンテンツ品質とブランドの語調の確認
- 03SEOメタデータと構成の最適化
- 04予約公開への対応
- 05公開ページの検証と結果の記録
活用シーン
- 01承認済みのブログ原稿をCMSに公開
- 02指定日に記事を公開するよう予約
- 03公開前にSEOとコンプライアンスを確認
MCP 対応
対応する WordPress または Webflow の MCP サーバー接続が必要です。記事の公開と CMS 応答の検証に使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ indranilbanerjee/ digital-marketing-pro --skill publish-blogインストール後、Claude Code で/publish-blogを入力して読み込まれたか確認します。
詳細
/digital-marketing-pro:publish-blog
スクリプトの場所。 ホストが
${CLAUDE_PLUGIN_ROOT}を設定していない場合、スクリプトはskills/と同じ階層にある、このプラグインのscripts/フォルダー内にあります。Python 3.10 以降で実行してください。pythonが見つからない場合(macOS、多くの Linux システム)は、python3を使用します。
目的
SEO メタデータ、カテゴリー、タグ、アイキャッチ画像、および任意の予約投稿を設定し、最適化を施したブログ記事をブランドの CMS(WordPress または Webflow)に公開します。公開前に、コンテンツのスコアリングとブランドボイスとの整合性を確認する品質チェックを行い、公開後にはライブ URL にアクセスでき、正しく表示されることを確認します。コンテンツワークフローの最終ステップとして設計されており、すべての最適化ゲートを適用しながら、下書きを公開可能な状態から公開済みの状態にします。
実行ゲート(必須 — スキップ不可)
- ライブシステムに触れる前に、完全なプレビュー(宛先/費用/変更内容/コンプライアンス)を実行サマリーとして提示します。
- ユーザーが
yes(または同等の明示的な承認)と入力する必要があります。それ以外の入力(曖昧、暗示的、部分的、または承認なし)はすべて実行を取り消します。 - 曖昧な入力をもとに処理を進めてはいけません。失敗した実行を自動で再試行してはいけません。再実行の前に、必ず人による確認が必要です。
- ユーザーが
yesと入力した後に限り、次のコマンドで記録します。python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"publish-blog","platform":"<platform>","content_summary":"<実行サマリーからの1行>","risk_level":"<tier>"}'、続けてpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}を実行します。いずれかのコマンドでエラーが発生した場合は、停止してエラーを報告してください。別のツールで回避してはいけません。この記録は、このアクションの承認手順が実行されたことを証明しますが、誰がyesと入力したかを証明するものではありません。 - 実行します。
connector_executor.pyを通じて送信する書き込みには--approval-idが必要で、対応する未使用かつ有効期限内の記録がある場合にのみ実行されます(/digital-marketing-pro:execute-actionを参照)。接続済みの MCP サーバーのツールを通じた書き込みは、このコードチェックの対象外です。その場合は、入力されたyesとホストの権限確認プロンプトに依存します。その後、python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(またはfailure)を実行します。
入力が必要な情報
ユーザーは以下を提供する必要があります(または入力を促されます)。
- ブログコンテンツ:ブログ記事の完成稿、または推敲するための草稿。タイトル、本文、インライン画像や埋め込みコンテンツ、引用ブロックやコールアウトボックスを含みます
- 対象の CMS プラットフォーム:使用する公開プラットフォーム。WordPress または Webflow を選択し、対応する MCP サーバーを接続しておく必要があります
- 公開日時:即時公開、またはタイムゾーン付きの予約日時。予約にはプラットフォーム標準の予約公開機能を使用します
- カテゴリーとタグ:整理と見つけやすさのためのコンテンツカテゴリーと分類タグ。あるいは、コンテンツ分析と既存の分類体系に基づく自動提案を許可します
- アイキャッチ画像:画像のファイルパス、URL、または生成用の説明。メイン画像およびソーシャル共有用のサムネイル(Open Graph と Twitter Card)として使用します
- SEO メタデータ:主要キーワード、副次キーワード、メタタイトル(50~60 文字)、メタディスクリプション(150~160 文字)。または、コンテンツ分析とキーワード戦略に基づく自動生成を依頼します
- 著者の表示:CMS で設定されている既定のブランド著者と異なる場合は、著者名とプロフィールへのリンク
- スラッグの設定:カスタム URL スラッグ、またはキーワード最適化とストップワードの削除を行い、タイトルから自動生成する設定
- 内部リンク:記事内でリンクする特定の内部ページ。あるいは、既存のサイトコンテンツに基づくリンク機会の自動検出を許可します
- ソーシャル共有テキスト:ソーシャルプレビュー用のカスタム Open Graph タイトルと説明文。あるいは、メタタイトルとメタディスクリプションから自動生成します
- コンテンツ形式:投稿形式。標準的な記事、リスト記事、ハウツーガイド、ケーススタディ、ソートリーダーシップから選択します。スキーママークアップの種類と構成上の要件が決まります
- 抜粋または概要:アーカイブページ、RSS フィード、ソーシャルカード用の 1~2 文の抜粋。あるいは、冒頭の段落から自動生成します
- 関連記事:任意。記事の末尾に関連コンテンツとしてリンクする特定の記事、またはカテゴリーとトピックの重複に基づく自動検出
- CTA ブロック:任意。記事の末尾に追加するカスタムの行動喚起ブロック(ニュースレターの登録、製品トライアル、コンテンツのアップグレード、コンサルティングの予約など)
プロセス
- ブランドコンテキストを読み込む:
~/.claude-marketing/brands/_active-brand.jsonを読み取り、アクティブなスラッグを確認してから、~/.claude-marketing/brands/{slug}/profile.jsonを読み込みます。ブランドの声、対象市場向けのコンプライアンスルール(skills/context-engine/compliance-rules.md)、業界コンテキストを適用します。また、~/.claude-marketing/brands/{slug}/guidelines/_manifest.jsonにガイドラインがあるか確認し、存在する場合は制約事項を読み込みます。~/.claude-marketing/sops/にエージェンシーの SOP があるかも確認します。ブランドが存在しない場合は、「先にブランドを設定しますか(/digital-marketing-pro:brand-setup)?」と尋ねます。あるいは、デフォルト設定で続行します。 - CMS 接続を確認する:接続されている CMS MCP サーバー(wordpress または webflow)を確認し、ユーザーが指定したプラットフォームと一致することを確認します。接続されていない場合は、まず MCP サーバーを設定するようユーザーに案内し、該当するセットアップリンクを提示します。
- コンテンツの品質を評価する:ブログの下書きに対して
content-scorer.pyを実行し、読みやすさ(Flesch-Kincaid グレード)、構成(見出しの階層、段落の長さ、リストの使用状況)、内容の深さ(トピックの複雑さに対する単語数)、エンゲージメントの可能性を評価します。公開前に修正が必要な問題があれば指摘します。 - ブランドボイスとの整合性を評価する:
brand-voice-scorer.pyを実行し、コンテンツがブランドのトーン、語彙、メッセージングのガイドラインに合致していることを確認します。スコアがprofile.jsonに定義されたブランドの最低基準を下回る場合は、具体的な修正案を提示します。 - SEO 向けに最適化する:主要キーワードがタイトル、H1、冒頭の 100 語、URL スラッグ、メタディスクリプションに含まれていることを確認します。メタディスクリプションが 150〜160 文字、メタタイトルが 50〜60 文字であることを確認します。内部リンクの機会、画像の代替テキスト、見出しでのキーワード使用を確認します。コンテンツの種類(記事、ハウツー、FAQ)に対するスキーママークアップの互換性を検証します。
- プラットフォーム API 向けにフォーマットする:対象 CMS の要件に従ってコンテンツのペイロードを構成します。フィールドのマッピング、HTML のフォーマット、画像の処理、カテゴリー/タグのタクソノミー ID、アイキャッチ画像のアップロード、Open Graph メタフィールド、WordPress のカスタムフィールドや Webflow CMS のコレクション構造など、プラットフォーム固有の注意事項については
skills/context-engine/platform-publishing-specs.mdを参照します。 - コンプライアンスを確認する:ブランドの対象市場における規制要件をコンテンツが満たしていることを確認します。これには、開示文、アフィリエイトリンクの免責事項、医療または金融に関する免責事項、参照している第三者のコンテンツや画像に対する著作権表示が含まれます。
- 承認レコードを作成する:
approval-manager.py --action create-approvalを実行し、--dataJSON 内にリスクレベルを含めてレコードを作成します —{"type":"publish-blog","platform":"<platform>","content_summary":"...","risk_level":"medium"}。--risk-levelフラグはありません。正確なコマンドについては、上記の実行ゲートを参照してください。タイトル、URL スラッグ、公開日時、SEO スコア、ブランドボイススコア、コンテンツ品質スコア、カテゴリー、タグ、アイキャッチ画像のプレビュー、コンプライアンス状況を含む公開前サマリーを作成します。 - 公開前サマリーを提示する:完全なサマリーを表示し、ユーザーによる確認と承認を求めます。コンテンツスコアリング、SEO 分析、コンプライアンスチェックで検出された警告を強調します。検索結果とソーシャル共有カードで投稿がどのように表示されるか、並べてプレビューを表示します。明示的な確認を得るまで、先に進みません。
- CMS MCP 経由で公開する:承認後、フォーマット済みのペイロードを接続済みの MCP サーバー経由で CMS に送信します。将来の公開日時が指定されている場合は、予約投稿を処理します。API レスポンスで成功が示されていることを確認します。
- 公開 URL を確認する:公開後、CMS API から公開 URL を取得し、200 ステータスが返されることを確認します。タイトル、メタディスクリプション、アイキャッチ画像、正規 URL、Open Graph タグが正しく表示されることを確認します。robots.txt または noindex タグによってページがブロックされていないことも確認します。
- スキーママークアップを検証する:公開ページに正しい構造化データ(Article、HowTo、FAQ、BreadcrumbList)が含まれていることを確認し、検索結果でのリッチスニペット表示の要件を満たすことを検証します。
- 検索エンジンに送信する:ブランドの Google Search Console が接続されている場合は、新しい URL をインデックス登録に送信し、発見を早めます。送信日時を記録します。
- 実行を記録してインサイトを保存する:
execution-tracker.pyを実行し、公開イベントの日時、プラットフォーム、URL、スコア、カテゴリーを記録します。公開したコンテンツに関するインサイト(トピック、キーワード、パフォーマンス予測)を保存し、今後のコンテンツ戦略の参考やギャップ分析に活用します。
出力
以下を含む、構造化された公開確認レポートです。
- 公開 URL:ブログ記事を閲覧できる公開中または予約投稿の URL。正規 URL が正しいことの確認を含みます
- SEO スコア:コンテンツの SEO スコアと内訳 — キーワードの配置、メタタイトルとメタディスクリプションの品質、内部リンク数、画像の代替テキストの網羅率、見出し構造、URL スラッグの最適化
- ブランドボイススコア:トーン、語彙、メッセージの一貫性に関するメモと、最適化中に行った調整を含む、ブランドボイスへの適合スコア
- コンテンツ品質スコア:読みやすさの評価(Flesch-Kincaid)、構成の評価(見出しの階層、段落のバランス)、語数、エンゲージメントの可能性の評価
- 公開前チェックリストの結果:各品質ゲートの合格/不合格ステータス — コンテンツスコア、ブランドボイス、SEO の最適化、コンプライアンス審査、プラットフォームの書式検証
- 公開の詳細:プラットフォーム、公開ステータス(公開中または予約投稿の日付付き)、著者、カテゴリー、タグ、アイキャッチ画像の確認、正規 URL、Open Graph プレビュー
- ソーシャル共有プレビュー:Facebook、Twitter/X、LinkedIn で共有した際の記事の表示内容 — Open Graph 画像、タイトル、説明のレンダリングを含みます
- コンプライアンスステータス:ブランドが展開する市場の規制に従い、必須の免責事項、開示事項、出典表記がすべて含まれていることの確認
- スキーママークアップの検証:適用された構造化データの種類、検証ステータス、コンテンツ形式に応じたリッチスニペットの適格性
- 検索エンジンへの送信:接続されている場合、Google Search Console 経由でのインデックス登録リクエストのステータスと送信日時
- パフォーマンスのベースライン:公開後のパフォーマンス監視の基準となる初期指標のスナップショット — ページの読み込み時間、Core Web Vitals のスコア、クロールステータス
- 関連投稿へのリンク:内部トラフィックの流れを促すため、記事末尾にリンクされた関連コンテンツのタイトルと URL の一覧
- CTA ブロックの確認:投稿末尾にレンダリングされたコールトゥアクションブロックの種類、文言、遷移先 URL
- 実行ログの記録:監査証跡とパフォーマンス追跡のため、すべてのメタデータを含む公開操作のタイムスタンプ付き記録
使用エージェント
- content-creator — コンテンツ品質のスコアリング、SEO の最適化、ブランドボイスへの適合、キーワードの配置、メタディスクリプションの作成、内部リンクの推奨、スキーママークアップの指針、ソーシャル共有用テキストの生成
- execution-coordinator — 承認ワークフロー、CMS API の実行、公開後の検証、公開 URL の検証、実行ログの記録、コンテンツ戦略のためのインサイト収集