jpskill.com
✍️ ライティング コミュニティ

blog-analyze

ブログ記事の品質、SEO対策、信頼性、技術面、AI引用への対応度などを100点満点で評価し、AIによるコンテンツ検出も行いながら、改善点を優先順位付けして提案するSkill。

📜 元の英語説明(参考)

Audit and score blog posts on a 5-category 100-point scoring system covering content quality, SEO optimization, E-E-A-T signals, technical elements, and AI citation readiness. Includes AI content detection (burstiness, phrase flagging, vocabulary diversity). Supports export formats (markdown, JSON, table) and batch analysis with sorting. Generates prioritized recommendations (Critical/High/Medium/Low) with specific fixes. Works with any format (MDX, markdown, HTML, URL). Use when user says "analyze blog", "audit blog", "blog score", "check blog quality", "blog review", "rate this blog", "blog health check".

🇯🇵 日本人クリエイター向け解説

一言でいうと

ブログ記事の品質、SEO対策、信頼性、技術面、AI引用への対応度などを100点満点で評価し、AIによるコンテンツ検出も行いながら、改善点を優先順位付けして提案するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o blog-analyze.zip https://jpskill.com/download/10510.zip && unzip -o blog-analyze.zip && rm blog-analyze.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10510.zip -OutFile "$d\blog-analyze.zip"; Expand-Archive "$d\blog-analyze.zip" -DestinationPath $d -Force; ri "$d\blog-analyze.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して blog-analyze.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → blog-analyze フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Blog Analyzer -- 品質監査とスコアリング

ブログ記事を5つのカテゴリにわたって0〜100のスケールでスコアリングし、優先順位付けされた改善提案を提供します。AIコンテンツ検出分析を含みます。ローカルファイルまたは公開されたURLで動作します。

参考資料:

  • references/quality-scoring.md -- 完全なスコアリングチェックリスト
  • references/eeat-signals.md -- E-E-A-T評価基準

入力処理

  • ローカルファイル: ファイルを直接読み込みます
  • URL: WebFetchでフェッチし、コンテンツを抽出します
  • ディレクトリ: ブログファイルをスキャンし、すべてを監査します(バッチモード)
  • フラグ: --format json|table--batch--sort score

スコアリングプロセス

ステップ1:コンテンツ抽出

ブログ記事を読み込み、以下を抽出します。

  • フロントマター(タイトル、説明、日付、lastUpdated、著者、タグ)
  • 見出し構造(H1、H2、H3と階層)
  • 段落数と段落ごとの単語数
  • 統計(ソースの有無にかかわらず、数値による主張)
  • 画像(数、altテキストの有無、形式)
  • チャート/SVG(数、種類の多様性)
  • リンク(内部、外部、破損)
  • FAQセクションの有無
  • スキーママークアップ(存在するタイプ)
  • メタタグ(タイトル、説明、OGタグ、Twitterカード)
  • バーストネス分析のための文の長さ
  • 多様性スコアリングのための語彙トークン

ステップ2:各カテゴリのスコアリング

完全なチェックリストについては、references/quality-scoring.mdをロードします。以下をそれぞれスコアリングします。

コンテンツの品質(30点)

チェック 点数 合格基準
深さ/包括性 7 トピックを徹底的に網羅し、大きなギャップがない
読みやすさ(Flesch 60-70) 7 Flesch 60-70が理想、55-75が許容範囲。学年7-8; Gunning Fog 7-8
独創性/独自の価値マーカー 5 元のデータ、ケーススタディ、直接の経験
文と段落の構造 4 平均文15-20語、20語を超えるものが≤25%。段落40-80語。H2は200-300語ごと
エンゲージメント要素 4 TL;DRボックス、コールアウト、多様なコンテンツブロック
文法/アンチパターン 3 受動態≤10%、AIトリガーワード≤5/1K、接続詞20-30%、明瞭な文章

SEO最適化(25点)

チェック 点数 合格基準
キーワードを含む見出し階層 5 H1 -> H2 -> H3、スキップなし、2〜3個の見出しにキーワード
タイトルタグ(40〜60文字、キーワード、パワーワード) 4 先頭にキーワード、ポジティブな感情
キーワードの配置/密度 4 自然な統合、詰め込みなし、最初の100語以内
内部リンク(3〜10個の文脈に沿ったリンク) 4 説明的なアンカーテキスト、双方向
URL構造 3 短く、キーワードが豊富、ストップワードなし、小文字
メタディスクリプション(150〜160文字、統計) 3 事実が豊富、1つの統計を含む
外部リンク(ティア1〜3) 2 3〜8個の権威あるソースへの外部リンク

E-E-A-Tシグナル(15点)

チェック 点数 合格基準
著者の属性(名前付き、略歴付き) 4 実名、資格、セールスプロモーションではない
ソースの引用(ティア1〜3、インライン) 4 8つ以上のユニークな統計、捏造されたものはない
信頼性指標 4 お問い合わせページ、概要ページ、編集ポリシー
経験シグナル 3 「私たちがテストしたとき...」、オリジナルの写真/データ

技術的要素(15点)

チェック 点数 合格基準
スキーママークアップ(3つ以上のタイプ=ボーナス) 4 最小限のBlogPosting + FAQ + Person
画像の最適化 3 AVIF/WebP、説明的なaltテキスト、LCPを除く遅延読み込み
構造化データ要素 2 テーブル、リスト、比較ブロック
ページ速度シグナル 2 LCP < 2.5秒、レンダリングをブロックするJSなし
モバイルフレンドリー 2 レスポンシブ、タップターゲット48px +
OG/ソーシャルメタタグ 2 og:titleog:descriptionog:imagetwitter:card

AI引用の準備(15点)

チェック 点数 合格基準
パッセージレベルの引用可能性(120〜180語) 4 統計+ソースを含む自己完結型のセクション
Q&A形式のセクション 3 H2の60〜70%が質問として、FAQが存在する
エンティティの明確さ 3 曖昧さのないトピックエンティティ、一貫した用語
抽出のためのコンテンツ構造 3 回答優先、thead付きのテーブル、比較形式
AIクローラーのアクセシビリティ 2 SSR/SSG、JSゲートされたコンテンツなし

ステップ3:AIコンテンツの検出

AIによって生成されたコンテンツのリスクについて投稿を分析します。

バーストネススコア(文の長さの分散):

  • 投稿全体の文の長さの標準偏差を計算します
  • 人間の文章:高い分散(短くパンチの効いた文+長く複雑な文)
  • AIの文章:低い分散(一貫して中程度の長さの文)
  • スコア:0〜10スケール(10 =非常に人間らしいバーストネス)

既知のAIフレーズ検出 -- 次の17個のフレーズの出現をフラグ付けします。

  1. "It's important to note"
  2. "In today's digital landscape"
  3. "Delve into"
  4. "Navigating the complexities"
  5. "Let's explore"
  6. "Furthermore"
  7. "In conclusion"
  8. "It is worth mentioning"
  9. "Embark on"
  10. "Cutting-edge"
  11. "Leverage" (動詞として、非金融の文脈)
  12. "Game-changer"
  13. "Revolutionize"
  14. "Streamline"
  15. "Harness the power"
  16. "Dive deep"
  17. "Unlock the potential"

語彙の多様性(タイプトークン比):

  • ユニークな単語/合計単語数を計算します
  • 人間の文章:TTRは通常、長文の場合は0.4〜0.6
  • AIの文章:TTRは多くの場合0.35未満(反復的な語彙)

AIコンテンツリスク評価:

  • 結合されたシグナルに基づいてAIの確率が50%を超える場合はフラグを立てます
  • フラグをトリガーした特定のパッセージを提供します
  • 人間化を推奨します:個人的な逸話、多様な文のリズム、ドメイン専門用語

ステップ4:評価の決定

スコア 評価 アクション
90-100 例外的 そのまま公開、フラッグシップコンテンツ
80-89 強力 軽微な磨き、公開準備完了
70-79 許容範囲 ターゲットを絞った改善が必要
60-69 標準以下 大幅な手直しが必要
< 60 書き換え 根本的な問題、アウトラインから開始

ステップ5:レポートの生成

デフォルトの出力形式(Markdown):


## ブログ品質レポート:[タイトル]

**スコア:[X]/100** -- [評価]

### スコアの内訳
| C

(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Blog Analyzer -- Quality Audit & Scoring

Scores blog posts on a 0-100 scale across 5 categories and provides prioritized improvement recommendations. Includes AI content detection analysis. Works with local files or published URLs.

Reference documents:

  • references/quality-scoring.md -- full scoring checklist
  • references/eeat-signals.md -- E-E-A-T evaluation criteria

Input Handling

  • Local file: Read the file directly
  • URL: Fetch with WebFetch, extract content
  • Directory: Scan for blog files, audit all (batch mode)
  • Flags: --format json|table, --batch, --sort score

Scoring Process

Step 1: Content Extraction

Read the blog post and extract:

  • Frontmatter (title, description, date, lastUpdated, author, tags)
  • Heading structure (H1, H2, H3 with hierarchy)
  • Paragraph count and word counts per paragraph
  • Statistics (any number claims with or without sources)
  • Images (count, alt text presence, format)
  • Charts/SVGs (count, type diversity)
  • Links (internal, external, broken)
  • FAQ section presence
  • Schema markup (types present)
  • Meta tags (title, description, OG tags, twitter cards)
  • Sentence lengths for burstiness analysis
  • Vocabulary tokens for diversity scoring

Step 2: Score Each Category

Load references/quality-scoring.md for the full checklist. Score each:

Content Quality (30 points)

Check Points Pass Criteria
Depth/comprehensiveness 7 Covers topic thoroughly, no major gaps
Readability (Flesch 60-70) 7 Flesch 60-70 ideal, 55-75 acceptable; Grade 7-8; Gunning Fog 7-8
Originality/unique value markers 5 Original data, case studies, first-hand experience
Sentence & paragraph structure 4 Avg sentence 15-20 words, ≤25% over 20; paragraphs 40-80 words; H2 every 200-300 words
Engagement elements 4 TL;DR box, callouts, varied content blocks
Grammar/anti-pattern 3 Passive voice ≤10%, AI trigger words ≤5/1K, transition words 20-30%, clean prose

SEO Optimization (25 points)

Check Points Pass Criteria
Heading hierarchy with keywords 5 H1 -> H2 -> H3, no skips, keyword in 2-3 headings
Title tag (40-60 chars, keyword, power word) 4 Front-loaded keyword, positive sentiment
Keyword placement/density 4 Natural integration, no stuffing, in first 100 words
Internal linking (3-10 contextual) 4 Descriptive anchor text, bidirectional
URL structure 3 Short, keyword-rich, no stop words, lowercase
Meta description (150-160 chars, stat) 3 Fact-dense, includes one statistic
External linking (tier 1-3) 2 3-8 outbound links to authoritative sources

E-E-A-T Signals (15 points)

Check Points Pass Criteria
Author attribution (named, with bio) 4 Real name, credentials, not sales pitch
Source citations (tier 1-3, inline) 4 8+ unique stats, zero fabricated
Trust indicators 4 Contact page, about page, editorial policy
Experience signals 3 "When we tested...", original photos/data

Technical Elements (15 points)

Check Points Pass Criteria
Schema markup (3+ types = bonus) 4 BlogPosting + FAQ + Person minimum
Image optimization 3 AVIF/WebP, descriptive alt text, lazy except LCP
Structured data elements 2 Tables, lists, comparison blocks
Page speed signals 2 LCP < 2.5s, no render-blocking JS
Mobile-friendliness 2 Responsive, tap targets 48px+
OG/social meta tags 2 og:title, og:description, og:image, twitter:card

AI Citation Readiness (15 points)

Check Points Pass Criteria
Passage-level citability (120-180 words) 4 Self-contained sections with stat + source
Q&A formatted sections 3 60-70% of H2s as questions, FAQ present
Entity clarity 3 Unambiguous topic entity, consistent terminology
Content structure for extraction 3 Answer-first, tables with thead, comparison formats
AI crawler accessibility 2 SSR/SSG, no JS-gated content

Step 3: AI Content Detection

Analyze the post for AI-generated content risk:

Burstiness Score (sentence length variance):

  • Calculate standard deviation of sentence lengths across the post
  • Human writing: high variance (short punchy + long complex sentences)
  • AI writing: low variance (consistently medium-length sentences)
  • Score: 0-10 scale (10 = very human-like burstiness)

Known AI Phrase Detection -- flag occurrences of these 17 phrases:

  1. "It's important to note"
  2. "In today's digital landscape"
  3. "Delve into"
  4. "Navigating the complexities"
  5. "Let's explore"
  6. "Furthermore"
  7. "In conclusion"
  8. "It is worth mentioning"
  9. "Embark on"
  10. "Cutting-edge"
  11. "Leverage" (as a verb, non-financial context)
  12. "Game-changer"
  13. "Revolutionize"
  14. "Streamline"
  15. "Harness the power"
  16. "Dive deep"
  17. "Unlock the potential"

Vocabulary Diversity (Type-Token Ratio):

  • Calculate unique words / total words
  • Human writing: TTR typically 0.4-0.6 for long-form
  • AI writing: TTR often below 0.35 (repetitive vocabulary)

AI Content Risk Assessment:

  • Flag if AI probability > 50% based on combined signals
  • Provide specific passages that triggered the flag
  • Recommend humanization: personal anecdotes, varied sentence rhythm, domain jargon

Step 4: Determine Rating

Score Rating Action
90-100 Exceptional Publish as-is, flagship content
80-89 Strong Minor polish, ready for publication
70-79 Acceptable Targeted improvements needed
60-69 Below Standard Significant rework required
< 60 Rewrite Fundamental issues, start from outline

Step 5: Generate Report

Default output format (Markdown):

## Blog Quality Report: [Title]

**Score: [X]/100** -- [Rating]

### Score Breakdown
| Category | Score | Max | Notes |
|----------|-------|-----|-------|
| Content Quality | X | 30 | [1-line summary] |
| SEO Optimization | X | 25 | [1-line summary] |
| E-E-A-T Signals | X | 15 | [1-line summary] |
| Technical Elements | X | 15 | [1-line summary] |
| AI Citation Readiness | X | 15 | [1-line summary] |
| **Total** | **X** | **100** | |

### AI Content Risk
- **Burstiness score**: [X]/10 ([human-like / moderate / flat])
- **AI phrases detected**: [N] ([list phrases found])
- **Vocabulary diversity (TTR)**: [X] ([high / acceptable / low])
- **AI probability**: [X]% -- [No concern / Review recommended / High risk]
- **Flagged passages**: [quote specific flat or formulaic sections, if any]

### Issues Found

#### Critical (Must Fix)
- [ ] [Issue with specific location and fix]

#### High Priority
- [ ] [Issue with specific location and fix]

#### Medium Priority
- [ ] [Issue with specific location and fix]

#### Low Priority
- [ ] [Issue with specific location and fix]

### Quick Stats
- Word count: [N]
- Paragraphs: [N] (X over 150 words)
- H2 sections: [N] (X as questions, X with answer-first formatting)
- Statistics: [N] sourced / [N] unsourced
- Images: [N] (X with alt text, formats: ...)
- Charts: [N] (types: ...)
- Internal links: [N]
- External links: [N] (tier breakdown: ...)
- Schema types: [list]
- OG/social tags: [present/missing]

### Recommended Actions
1. [Most impactful fix -- Critical items first]
2. [Second most impactful]
3. [Third]

Run `/blog rewrite <file>` to apply these optimizations automatically.

Export Formats

Default: Markdown Report

Standard detailed report as shown above.

JSON Export (--format json)

Machine-readable output for integration with CI/CD or dashboards:

{
  "file": "post.md",
  "title": "...",
  "score": 78,
  "rating": "Acceptable",
  "categories": {
    "content_quality": { "score": 22, "max": 30 },
    "seo_optimization": { "score": 18, "max": 25 },
    "eeat_signals": { "score": 12, "max": 15 },
    "technical_elements": { "score": 13, "max": 15 },
    "ai_citation_readiness": { "score": 13, "max": 15 }
  },
  "ai_detection": {
    "burstiness": 6.2,
    "ai_phrases_found": ["Furthermore", "Let's explore"],
    "ttr": 0.44,
    "ai_probability": 32
  },
  "issues": {
    "critical": [],
    "high": [],
    "medium": [],
    "low": []
  }
}

Table Export (--format table)

Compact summary for quick review:

File            | Score | Rating     | Content | SEO | EEAT | Tech | AI-Ready | AI Risk
post.md         |    78 | Acceptable |   22/30 | 18/25 | 12/15 | 13/15 |    13/15 |    32%

Batch Mode

When given a directory or --batch flag, scan for blog files and produce a summary table. Use --sort score to order by score (ascending by default).

## Blog Audit Summary: [N] Posts Analyzed

| File | Score | Rating | Content | SEO | EEAT | Tech | AI-Ready | AI Risk | Top Issue |
|------|-------|--------|---------|-----|------|------|----------|---------|-----------|
| post-1.md | 85 | Strong | 26/30 | 20/25 | 13/15 | 14/15 | 12/15 | 18% | Missing OG tags |
| post-2.md | 42 | Rewrite | 10/30 | 8/25 | 5/15 | 9/15 | 10/15 | 71% | 12 fabricated stats |
| post-3.md | 71 | Acceptable | 20/30 | 16/25 | 10/15 | 12/15 | 13/15 | 25% | No answer-first |

### Priority Queue (Lowest Scoring First)
1. post-2.md (42) -- Full rewrite needed, high AI content risk
2. post-3.md (71) -- Answer-first formatting + stats needed
3. post-1.md (85) -- Add OG tags, minor polish

Run `/blog rewrite <file>` on each, starting from lowest score.