mcpField
B
blog-write

blog-write

github.com/infrasity-labsマーケティング・グロース15197 回インストール18 週間前に更新
リポジトリ

blog-write について

blog-writeは、テーマ、ブリーフ、アウトラインからブログ記事全体を作成するスキルです。検索順位とAIによる引用を意識し、対象面の選定から調査、テンプレート選び、執筆までを案内します。

主な機能

  1. 01検索とAI引用の対象面を設定
  2. 0212種類のコンテンツテンプレートから選択
  3. 03調査とアウトライン作成を案内
  4. 04回答を先に示す章構成
  5. 05引用とビジュアルの指針を提示

活用シーン

  1. 01テーマから記事を下書き
  2. 02ブリーフを構造化アウトラインに整理
  3. 03検索とAI引用を意識したブログ作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill blog-write

インストール後、Claude Code で/blog-writeを入力して読み込まれたか確認します。

詳細

ブログライター:新しい記事の生成

トピック、概要、アウトラインからブログ記事を作成します。すべての記事で、二重最適化の6つの柱(Google のランキング+AI による引用)に従います。

主な参照資料(リポジトリルートからの相対パス。参照資料は blog-write/ ではなく、メインの blog スキルの references ディレクトリにあります):

  • skills/blog/references/synthesis-contract.md:統合出力に関する6つの LAW(v1.8.0。記事に調査統合の文章を含める場合に適用)
  • skills/blog/references/content-templates.md:テンプレートの選択ガイドと使用方法
  • skills/blog/references/quality-scoring.md:5つのカテゴリによるスコアリング(コンテンツ 30、SEO 25、E-E-A-T 15、技術 15、AI 引用 15)
  • skills/blog/references/eeat-signals.md:経験、専門性、権威性、信頼性を示す要素
  • skills/blog/references/internal-linking.md:リンク戦略とアンカーテキストのルール
  • skills/blog/references/visual-media.md:画像の調達とグラフのスタイル設定

ワークフロー

フェーズ 0:掲載面のターゲティング(調査の前に実施)

この記事で勝ちを狙う FLOW の5つの掲載面を決めます。この選択によって、構成、長さ、引用の密度、行動喚起が決まります。2026年の5つの掲載面は次のとおりです。

  1. 自社サイト(Google のオーガニック検索ランキング)
  2. AI Overviews を含む SERP
  3. AI アシスタントによる引用(ChatGPT、Perplexity、Claude、Gemini、Copilot、You.com)
  4. ローカルパック(ブログコンテンツの対象外。ローカル向けには claude-seo を使用)
  5. コミュニティと動画(Reddit、YouTube、LinkedIn、Quora、ニッチなフォーラム)

ほとんどの記事は、既定で掲載面1、2、3をターゲットにします。同じクエリがコミュニティ(Reddit のスレッド、YouTube のコメントなど)にも表示される場合は、二重掲載面の考え方を適用します。記事が抽出されやすいように最適化し、コミュニティで話題を広げる計画も立てます(/blog repurpose で説明)。

掲載面ごとの詳細なワークフローについては、skills/blog/references/flow-alignment.md と /blog flow find を参照してください。

フェーズ 1:トピックの理解
  1. トピックを明確にする - ユーザーからトピックだけが提示された場合は、次の点を確認します。
    • 対象読者(誰に向けた記事ですか?)
    • 主なキーワード/検索意図
    • 希望する文字数(既定:2,000~2,500語)
    • プラットフォーム/形式(MDX、Markdown、HTML。プロジェクト内にある場合は自動検出)
  2. 概要がある場合 - それを読み込み、フェーズ 1.5 に進みます
フェーズ 1.5:テンプレートの選択

skills/blog/templates/ にある12種類のテンプレートから、適切なコンテンツテンプレートを選択します(テンプレートディレクトリはメインの blog スキルが管理します)。

  1. コンテンツの種類を自動検出します。トピックと検索意図をもとに判断します。

    シグナルテンプレート
    「方法は…」、プロセス、手順how-to-guide
    「おすすめの X」、「トップ N」、リスト形式listicle
    クライアントの成果、導入前後、指標case-study
    「X 対 Y」、比較、代替案comparison
    幅広いトピック、包括的なガイドpillar-page
    「X に価値はあるか」、製品の評価product-review
    意見、予測、業界に関する見解thought-leadership
    専門家の引用、複数の情報源からのまとめroundup
    コードの解説、ツールのデモ、技術的な内容tutorial
    速報、アルゴリズムの更新、イベントnews-analysis
    アンケート結果、実験、独自データdata-research
    Q&A、ナレッジベース、「X とは」faq-knowledge
  2. 該当するテンプレートを読み込みます。skills/blog/templates/<type>.md から読み取ります

  3. アウトラインを調整します。テンプレートのセクション構成、見出しのパターン、文字数のガイダンスを使って、フェーズ 3 のアウトラインを作成します

  4. 該当するテンプレートがない場合 - フェーズ 3 にある汎用のアウトライン構成を使用します。選択したテンプレート(または該当なし)をユーザーに伝えます。

詳しい選択基準と検索意図の対応については、skills/blog/references/content-templates.md を参照してください。

フェーズ 2:リサーチ

blog-researcher エージェントを起動するか、WebSearch でインラインリサーチを行います。

  1. 最新の統計データを8~12件見つけます(2025~2026年のデータを優先)
    • 検索:[topic] study 2025 2026 data statistics
    • Tier 1~3 の情報源を優先します(skills/blog/references/quality-scoring.md を参照)
    • 記録する項目:統計データ、情報源名、URL、日付、調査方法
  2. カバー画像を見つけます(横長、高品質、トピックに関連するもの)。
    • 検索:site:pixabay.com [topic] wide banner(推奨)
    • 代替:site:unsplash.com [topic] wide
    • フォールバック:site:pexels.com [topic] wide banner
    • 目標サイズ:1200x630(OG 対応)または 1920x1080
    • または blog-chart を使ってカスタム SVG カバー画像を生成します(グラデーション上にテキストと主要統計を配置)
    • または blog-image サブスキルを使ってカスタム AI 画像を生成します(nanobanana-mcp が設定されている場合)
    • カバー画像のサイズの詳細は skills/blog/references/visual-media.md を参照してください
  3. オープンソースプラットフォームからインライン画像を3~5枚見つけます。
    • Pixabay(推奨):site:pixabay.com [topic keywords] を検索します
      • ページから画像 URL を抽出します
      • 直接 URL の例:https://cdn.pixabay.com/photo/YYYY/MM/DD/HH/MM/filename.jpg
      • curl -sI "<url>" | head -1 を実行し、HTTP 200 が返ることを確認します
    • Unsplash(代替):site:unsplash.com [topic keywords] を検索します
      • URL を組み立てます:https://images.unsplash.com/photo-<id>?w=1200&h=630&fit=crop&q=80
    • Pexels(フォールバック):site:pexels.com [topic keywords] を検索します
  4. 調査した統計データから、2~4件のデータビジュアライゼーションを計画します。
    • 多様な種類のグラフを選びます(skills/blog/references/visual-media.md を参照)
    • データポイントをグラフ形式に割り当てます
  5. AI 画像生成(任意、nanobanana-mcp が設定されている場合):
    • ストックフォトの検索結果が不十分な場合(良い候補が3件未満)、またはトピックがニッチすぎる場合
    • blog-image サブスキルを使って、カスタムのメイン画像やインラインイラストを生成します
    • ストックフォトを引き続きデフォルトとし、AI 生成は補完目的で使用します。置き換えることはありません
  6. NotebookLM リサーチ(任意、ユーザーに関連するノートブックがある場合):
    • ユーザーが NotebookLM のノートブックに言及した場合、またはトピックが設定済みのノートブックに関連する場合
    • blog-notebooklm で問い合わせ、ユーザーがアップロードした文書に基づくデータを取得します
    • NotebookLM の回答は Tier 1 の情報源(ユーザー自身の一次資料)として扱います
    • 未設定または未認証の場合は、通知せずにフォールバックします
  7. 関連する YouTube 動画を見つけます(記事あたり2~3本):
    • blog-google の youtube コマンド、または WebSearch で site:youtube.com [topic] [year] を検索します
    • skills/blog/references/video-embeds.md の品質基準を適用します(最低スコア50/100)
    • 最適な動画を2~3本選びます。見つからない場合は通知せずにフォールバックします。
フェーズ 3:アウトラインの作成

執筆前に、構成されたアウトラインを作成します。フェーズ1.5でテンプレートを読み込んだ場合は、 テンプレートのセクション構成に合わせて、このひな形を調整します。

# [Title as Question - Include Primary Keyword]

## Introduction (100-150 words)
- Hook with surprising statistic
- Problem/opportunity statement
- What the reader will learn

> **Key Takeaways**
> - [Core finding with statistic and source]
> - [Second key insight or recommendation]
> - [Third actionable takeaway]
> (3-5 bullets, 40-60 words combined)

## H2: [Question Format] (300-400 words)
- Answer-first paragraph (40-60 words with stat + source)
- Supporting evidence
- [Image placement]
- Practical advice
- [CITATION CAPSULE placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Question Format] (300-400 words)
- Answer-first paragraph
- [Chart: type + data description]
- Analysis and implications
- [CITATION CAPSULE placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Statement for Variety] (300-400 words)
- Answer-first paragraph
- Real-world example or case study
- [Image placement]
- [CITATION CAPSULE placeholder]

## H2: [Question Format] (300-400 words)
- Answer-first paragraph
- [Chart: type + data description]
- Step-by-step guidance
- [CITATION CAPSULE placeholder]
- [INTERNAL-LINK: anchor text → target description]

## H2: [Question Format] (200-300 words)
- Answer-first paragraph
- Forward-looking analysis

## [CTA Section or Inline Placement]
- See `skills/blog/references/cta-placement.md` for placement rules by content type
- Place CTA after value delivery, not at arbitrary positions
- Single focused CTA per post (266% more conversions)
- [CTA: contextual call-to-action matching article topic]

## FAQ Section (3-5 questions, 40-60 words each answer)
- [INTERNAL-LINK: anchor text → detailed content]

## Conclusion (100-150 words)
- Key takeaways (bulleted)
- Call to action
- [INTERNAL-LINK: anchor text → next logical content]

執筆を始める前に、アウトラインをユーザーに提示して承認を得ます。

ビジュアル要素の配置:300~500語ごとに [IMAGE]、[CHART]、[VIDEO]、または [CALLOUT] マーカーを挿入します。 種類を交互に使い、同じ種類を連続させないでください。skills/blog/references/content-rules.md の「Visual Rhythm」セクションと、 CTA の配置については skills/blog/references/cta-placement.md を参照してください。

フェーズ 4:グラフの生成(組み込み)

リサーチ担当がグラフに適したデータ(比較可能な指標3件以上、トレンドデータ、変更前後の比較)を特定した場合:

  1. 多様性のルールに従ってグラフの種類を選択します(記事内で同じ種類を繰り返さないでください)
  2. グラフの種類、タイトル、データ値、出典、プラットフォーム形式を指定して blog-chart サブスキルを呼び出します
  3. 返された SVG を <figure> で囲み、記事に直接埋め込みます
  4. 2,000語の記事につき、グラフを2~4点配置します
  5. グラフは均等に配置し、一か所に集中させないでください

グラフの種類の選択とスタイル設定のルールについては skills/blog/references/visual-media.md を参照してください。

フェーズ 5:コンテンツの執筆

以下のルールに従って記事全体を執筆します。

5a. フロントマター
---
title: "[Question-format title with primary keyword]"
description: "[Fact-dense, 150-160 chars, includes 1 statistic]"
coverImage: "[URL from Pixabay/Unsplash/Pexels or generated SVG path]"
coverImageAlt: "[Descriptive sentence about the cover image]"
ogImage: "[Same as coverImage, or custom OG image URL]"
date: "YYYY-MM-DD"
lastUpdated: "YYYY-MM-DD"
author: "[Author name]"
tags: ["keyword1", "keyword2", "keyword3"]
---

プラットフォームで異なるフィールド名(例:image、hero、thumbnail)を使っている場合は、プロジェクト既存のフロントマターの規約に合わせて調整してください。

5b. 要約ボックス(重要なポイント)

導入の直後(最初のH2本文セクションの前)に、次の要約ボックスを追加します。

> **Key Takeaways**
> - [Core finding with statistic] ([Source], year)
> - [Second key insight or recommendation]
> - [Third actionable takeaway]

要件:

  • 箇条書き3~5項目、合計40~60語
  • 自己完結していること(記事を読まなくても理解できること)
  • 出典名を添えて、具体的な統計を1つ含めること
  • 重要な調査結果、推奨事項、または回答を示すこと
  • デフォルトのラベルは「Key Takeaways」です。ペルソナが有効な場合は、そのペルソナのsummary_labelを使用してください
  • 下位互換性:書き直しの際は、既存のTL;DRボックスも受け入れてください
5c. 回答を先に示す形式(重要)

各H2セクションは、次の内容を含む40~60語の段落で必ず始めてください。

  • 出典を明記した具体的な統計を少なくとも1つ
  • 見出しに含まれる暗黙の問いへの直接的な回答

形式:

## How Does X Impact Y in 2026?

[Stat from source] ([Source Name](url), year). [Direct answer to the heading
question in 1-2 more sentences, explaining the implication and what this means
for the reader.]

FLOWのエビデンスに関する3要素(執筆要件であり、監査だけの要件ではありません):

公開する統計にはすべて、執筆時点で次の3要素を含めてください。

  1. 本文中に年を明記すること。 統計の前に、文中で「2026年には」や「2026年第1四半期時点では」と書いてください。括弧内に年を記載するだけでは不十分です。例:

    • 適切:「2026年、Ahrefsは、AI Overviewが表示された場合、1位のCTRが58%低下したことを明らかにしました。」
    • 不十分:「1位のCTRは58%低下しました(Ahrefs、2026年)。」
  2. 発行元とタイトルを記載したインライン引用。 ブランド名だけでなく、発行元と文書タイトル(またはレポート名)の両方を明記してください。例:

    • 適切:「Ahrefs、『AI Overviews CTR update』、2025年12月」
    • 不十分:「Ahrefsの報告によると……」
  3. 記事末尾の出典ブロックにURLと取得日を記載すること。 出典の来歴を明確にすれば、今後の読者やAIクローラーが、出典に記載された内容と主張が今も一致するか検証できます。形式:

    • 「[Publisher], [Title], retrieved YYYY-MM-DD, [full URL]」

FLOWの品質基準(削除または差し替え): 公開する主張には、検証済みの出典を使うか、定性的な表現にとどめてください。統計を検証できない場合は削除してください。より新しい出典で否定されている場合は、検証済みの代替情報に差し替えてください。出典を示せない数値を残すために、曖昧な表現へと弱めないでください。

エビデンスに基づく最適化プロンプト(CTR監査、AI検出テスト、スキーマ、PAAの言い換え、ChatGPTでの可視性)については、/blog flow optimizeを参照してください。

5d. 情報利得マーカー

記事全体に、情報利得マーカーを少なくとも2~3個配置してください。これは、コンテンツに他では得られない独自の価値が含まれていることを、検索エンジンやAIシステムに示すものです。

各マーカーには、コメントまたは可視マーカーを付けてください。

  • [ORIGINAL DATA] - 独自調査、実験、A/Bテスト結果、著者が直接収集したケーススタディの指標
  • [PERSONAL EXPERIENCE] - 直接関与した際の第一手の観察や学び、「Xを試したところYが起きた」という形式の体験談
  • [UNIQUE INSIGHT] - 他者がまだ行っていない分析、データに裏付けられた通説に反する見解、既存の研究を結び付ける新たな考察

配置方法:

  • 本文に自然に織り込む
  • インラインコメントとして、該当する段落の前に `` を使用する
  • または、形式が対応している場合は、次のような可視のコールアウトを使用する:
    > **Our finding:** [original observation backed by specific data]
    
  • 記事ごとに最低2個、包括的な記事では3個を目標とする

これらのマーカーは、コンテンツ品質の採点カテゴリにある「独自性/独自の価値を示すマーカー」の評価基準に直接対応しています(skills/blog/references/quality-scoring.mdを参照)。

5e. 引用カプセル

主要なH2セクションごとに引用カプセルを作成してください。これは、AIシステムがそのまま抽出して引用できるように設計された、40~60語の自己完結した文章です。

カプセルごとの要件:

  • 40~60語で、自己完結していること(単独でも意味が通じること)
  • 具体的な主張を1つ、データポイントを1つ、出典を含むこと
  • 断定的で引用しやすい文体で書くこと
  • 独立したブロックではなく、H2セクションの本文内に配置すること

例:

According to a 2026 Gartner study, 58% of enterprise buyers now consult AI
assistants before contacting a vendor ([Gartner](https://www.gartner.com), 2026).
This shift means B2B content must answer specific questions concisely enough
for AI systems to extract and cite in their responses.

カプセルは、skills/blog/references/quality-scoring.mdの「AI引用対応力」採点カテゴリ(15点)に対応しています。

5f. 内部リンクゾーン

記事全体を通して、プレースホルダー表記で内部リンクの候補を示します。ユーザー(または後続の工程)で実際の URL に置き換えます。

配置箇所:

  • 導入部 - 関連するピラーコンテンツまたはトピックハブへのリンク
  • 各 H2 セクション - 補足記事、詳細解説、関連ツールへのリンク
  • FAQ セクション - 回答を、内容をさらに詳しく説明する記事にリンク
  • 結論 - 読者が次に読むべき、論理的につながるコンテンツへのリンク

形式:

[INTERNAL-LINK: anchor text → target description]

例:

For a deeper dive into keyword clustering, see our
[INTERNAL-LINK: complete guide to keyword clustering → pillar page on keyword research methodology].

2,000 語の記事あたり、内部リンクゾーンを 5~10 個設定します。説明的なアンカーテキストを使用し、「こちらをクリック」や「続きを読む」は使用しないでください。アンカーテキストのルールとリンク戦略については、skills/blog/references/internal-linking.md を参照してください。

5g. 段落のルール
  • 各段落は 40~80 語(150 語を超えないこと)
  • 各文は最大 15~20 語
  • 各段落の冒頭に最も重要な情報を記載
  • Flesch Reading Ease の目標値:60~70
5h. 見出しのルール
  • H1 は 1 つ(タイトルのみ)
  • メインセクションには H2 を使用(60~70% を疑問形にする)
  • H3 はサブセクションのみに使用し、レベルを飛ばさない
  • 主キーワードを 2~3 個の見出しに自然に含める
5i. 画像の埋め込み

標準的な Markdown:

![Descriptive alt text - topic keywords naturally](https://cdn.pixabay.com/photo/...)

Next.js Image を使った MDX(検出された場合):

![Descriptive alt text - topic keywords naturally](https://cdn.pixabay.com/photo/...)
  • 画像は H2 見出しの後、本文の前に配置
  • 記事全体に均等に配置(特定の箇所に集中させない)
  • alt テキストは内容を詳しく説明する完全な文にする
5j. チャートの埋め込み

標準的な Markdown/HTML:

<figure>
  <svg viewBox="0 0 560 380" ...>...</svg>
  <figcaption>Source: [Source Name], [Year]</figcaption>
</figure>

MDX 形式:

<figure className="chart-container" style={{margin: '2.5rem 0', textAlign: 'center', padding: '1.5rem', borderRadius: '12px'}}>
  <svg viewBox="0 0 560 380" ...>...</svg>
</figure>
5k. 動画の埋め込み

skills/blog/references/video-embeds.md にある srcdoc 遅延読み込みパターンを使用して、YouTube 動画を埋め込みます。aria-label と、AI クローラー向けの noscript フォールバックを含めます。関連する H2 の後に配置し、動画同士は 500 語以上離します。

5l. 引用形式

常にインラインで出典を明記:

Organic CTR declined 61% with AI Overviews ([Seer Interactive](https://www.seerinteractive.com/), 2025).
5m. FAQ セクション

FAQ 項目を 3~5 個追加し、回答は 40~60 語にします。各回答に統計情報を含めてください。

FAQSchema コンポーネントを使用する MDX の場合:

<FAQSchema faqs={[
  { question: "Question?", answer: "40-60 word answer with statistic and source." },
]} />

標準的な Markdown の場合:

## Frequently Asked Questions

### Question text here?

Answer with statistic and source attribution (40-60 words).
5n. 内部リンク
  • 2,000 語の記事あたり内部リンクを 5~10 個設定
  • 関連する既存コンテンツに自然な形でリンク
  • 説明的なアンカーテキストを使用(「こちらをクリック」は使用しない)
フェーズ 6:品質チェック

提出前に、以下を確認してください。

構成と内容
  1. すべての H2 の冒頭に、出典付きの統計情報がある
  2. 150 語を超える段落がない
  3. すべての統計情報に、名前が明記されたティア 1~3 の出典がある
  4. 種類の異なるチャートが 2~4 個ある
  5. 説明的な alt テキスト付きのインライン画像が 3~5 枚ある
  6. フロントマターにカバー画像(coverImage + ogImage)がある
  7. FAQ セクションに 3~5 個の項目がある
  8. 見出しの階層が適切である(H1 -> H2 -> H3)
  9. メタディスクリプションが統計情報を含む 150~160 文字である
新要素の確認
  1. 導入部の後に TL;DR ボックスがある(40~60 語で、統計情報と出典を含む)
  2. 情報価値を示すマーカー([ORIGINAL DATA]、[PERSONAL EXPERIENCE]、[UNIQUE INSIGHT])が 2~3 個以上ある
  3. 主要な H2 セクションに引用カプセルがある(40~60 語で、単独で成立し、引用可能)
  4. 導入部、H2 セクション、FAQ、結論に内部リンクゾーンが示されている
  5. 禁止リスト(agents/blog-writer.md を参照)にある、AI 生成と判別されやすい表現が含まれていない
文の変化と自然さのチェック
  1. 文の長さのばらつき - 短い文(8語)と長い文(25語)が混在していることを確認します。文の長さが一様だと、AI が書いたように見えます。
  2. AI がよく使う表現の禁止リストを確認 - 以下の表現を見つけて削除します。
    • 「今日のデジタル環境において」、「注目すべきなのは」、「掘り下げる」
    • 「ゲームチェンジャー」、「環境を切り抜ける」、「革命を起こす」、「シームレスに」
    • 「最先端」、「~の力を活用する」、「活用する」(動詞として)
    • 「深く掘り下げる」、「極めて重要な」、「高める」、「育む」、「環境」(多用される場合)
    • 「多面的な」、「堅牢な」、「タペストリー」、「着手する」
    • 全リストは agents/blog-writer.md にあります。
  3. 短縮形 - 短縮形(「it's」、「we've」、「don't」、「isn't」)が自然に使われていることを確認します。形式的な AI の文章では短縮形が避けられますが、自然な文章では使われます。
  4. 修辞疑問文 - 断定的な文が続くのを避けるため、200~300語ごとに少なくとも1つの修辞疑問文があることを確認します。
  5. YouTube 動画 - 遅延読み込み、aria-label、noscript のフォールバックを含む埋め込みを2~3個使用します(skills/blog/references/video-embeds.md を参照)。
フェーズ 6.5:納品契約の適用

フェーズ 7 の前に、skills/blog/references/blog-delivery-contract.md に従って5つのゲートからなる納品契約を実行します。ユーザーが最初のレビュー担当者になることはありません。レビューを行うのは各ゲートです。

手順:

  1. 機能の確認とヒーロー画像:python scripts/blog_preflight.py --draft <folder> --gate 1 を実行して、利用可能なパスを列挙します。nanobanana-mcp が読み込まれている場合は、MCP ツールを使ってヒーロー画像を生成します。そうでない場合は、python scripts/generate_hero.py --topic "<title>" --tags "<tags>" --out <folder> を実行します(Gemini、Unsplash、Pexels、Pixabay、Openverse の順に使用します)。

  2. 形式の完全性:標準の .md を .html と .pdf に変換します。python scripts/blog_render.py --md <slug>.md --out-dir <folder> を実行します。3つすべての成果物と hero.<ext> が下書きフォルダーに保存されている必要があります。

  3. コンテンツレビュー(ブロッキング):Task ツールを使って、レンダリング済みの .html を blog-reviewer エージェントにレビューさせます。エージェントは <folder>/review.md にスコアカードを出力し、末尾に BLOCKING: true|false (reason) を記載します。基準:総合スコアが 90/100 以上であり、かつ editorial-heuristics.md に基づく P0 の問題がゼロであること。

  4. ビジュアルとアセットのゲート:python scripts/blog_preflight.py --draft <folder> --strict を実行します。これにより、ゲート 3(3種類のビューポート幅で patchright を使ったビジュアル検証)、ゲート 4(review.md の BLOCKING 行を読み取り)、ゲート 5(アセットとリンクの整合性確認)が実行されます。終了コード 0 は納品可能、終了コード 1 はブロックを意味します。

  5. 反復:ブロックされた場合は、<folder>/preflight-report.json から失敗の診断情報を取得し、その診断情報を入力として blog-writer エージェントを再度実行して、手順 1 からやり直します。反復は最大3回です。3回目も失敗した場合は停止し、下書きではなく失敗の診断情報を提示します。

オーケストレーターがループ回数を管理します。このサブスキル自体はループしません。

フェーズ 7:納品

フェーズ 6.5 ですべてのゲートに合格した後に限り、完成した記事を提示します。ユーザーが文章を読む前に内容を確認できるよう、<folder>/preview/*.png のスクリーンショットを概要に含めます。

概要のテンプレート:

## Blog Post Complete: [Title]

### Template Used
- [Template name] (or "generic outline - no template matched")

### Statistics
- [N] sourced statistics from tier 1-3 sources
- [N] unique sources cited

### Visual Elements
- Cover image: [source - Pixabay/Unsplash/Pexels or generated SVG]
- [N] inline images (Pixabay/Unsplash/Pexels)
- [N] SVG charts (types: bar, lollipop, donut, line)
- [N] YouTube video embeds (titles: ...)

### Dual-Optimization Elements
- TL;DR box: present (N words)
- Information gain markers: [N] ([types used])
- Citation capsules: [N] across H2 sections
- Internal linking zones: [N] marked

### Structure
- [N] H2 sections with answer-first formatting
- [N] FAQ items with schema
- Word count: ~[N] words
- Estimated reading time: [N] min

### Naturalness
- Sentence length variance: [pass/fail]
- AI phrase scan: [pass/fail]
- Contractions used: [yes/no]
- Rhetorical questions: [N] (target: 1 per 200-300 words)

### Next Steps
- Review and customize for your brand voice
- Resolve [INTERNAL-LINK] placeholders with actual URLs
- Add internal links to your existing content
- Run `/blog analyze <file>` to verify quality score
- Generate VideoObject schema: `/blog schema <file>` (includes video markup)
- Generate audio narration: `/blog audio generate <file>` (optional)

コメント