关于 blog-analyze
面向作者和编辑的博客审计技能,可评估本地文件或已发布 URL,并按五个质量类别评分、提供优先级建议。还会分析 AI 写作信号,并可选生成编辑量表和分节认知负荷报告。
主要功能
- 01按五个质量类别为文章评分
- 02分析 SEO 与 E-E-A-T 信号
- 03评估 AI 写作风险指标
- 04审计本地文件、URL 或目录
- 05导出 Markdown、JSON 或表格报告
- 06添加量表与认知负荷分析
适用场景
- 01发布前检查博客草稿
- 02比较并排序目录中的文章
- 03将审计结果导出到仪表板
- 04定位认知负荷较高的章节
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill blog-analyze安装后在 Claude Code 中输入/blog-analyze确认已加载。
详细介绍
博客分析器:质量审核与评分
按 5 个类别为博客文章打分,满分为 100 分,并提供按优先级排序的改进建议。包含 AI 内容检测分析。支持本地文件或已发布的 URL。
参考文档(路径相对于仓库根目录):
skills/blog/references/quality-scoring.md:完整评分清单skills/blog/references/eeat-signals.md:E-E-A-T 评估标准skills/blog/references/ai-slop-detection.md:双层反射方法(v1.8.0)skills/blog/references/editorial-heuristics.md:序数 0-4 评分标准、P0-P3 严重程度(v1.8.0,与--rubric搭配使用)skills/blog/references/cognitive-load.md:各章节概念密度(v1.8.0,与--cognitive-load搭配使用)
输入处理
- 本地文件:直接读取文件
- URL:使用 WebFetch 获取并提取内容
- 目录:扫描博客文件,并审核全部文件(批处理模式)
- 标志:
--format json|table、--batch、--sort score、--rubric、--cognitive-load
可选模式(v1.8.0)
--rubric:除 100 分制评分外,还输出序数 0-4 编辑启发式评分标准,并附上 P0-P3 严重程度标签。参见skills/blog/references/editorial-heuristics.md。保留 100 分制 JSON 架构;评分标准作为同级的rubric字段添加。--cognitive-load:对文章运行scripts/cognitive_load.py,并将各章节的负荷热力图作为同级的cognitive_load字段嵌入。参见skills/blog/references/cognitive-load.md。
这两种模式都是增量功能。默认行为(不带标志)保持不变。
评分流程
步骤 1:内容提取
阅读博客文章并提取:
- Frontmatter(标题、描述、日期、lastUpdated、作者、标签)
- 标题结构(H1、H2、H3 及层级)
- 段落数量和每段字数
- 统计数据(所有带或不带来源的数字声明)
- 图片(数量、是否包含 alt 文本、格式)
- 图表/SVG(数量、类型多样性)
- 链接(内部、外部、失效)
- 是否包含 FAQ 部分
- Schema 标记(包含的类型)
- Meta 标签(标题、描述、OG 标签、twitter cards)
- 用于突发性分析的句长
- 用于多样性评分的词汇词元
步骤 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 个词;每 200-300 个词使用一个 H2 |
| 互动元素 | 4 | 摘要框、提示框、多样化内容块。可接受的标题包括:“TL;DR”、“Key Takeaways”、“The Bottom Line”、“What You'll Learn”、“At a Glance”、“In Brief” |
| 语法/反模式 | 3 | 被动语态 ≤10%,AI 触发词 ≤5 个/1K 词,过渡词占 20-30%,行文流畅 |
可读性区间(按受众类型应用,或使用默认值):
| 受众 | Flesch 年级 | Flesch 易读度 | 评分影响 |
|---|---|---|---|
| 消费者 | 6-8 | 60-80 | 在范围内即可获得满分 |
| 专业人士 | 8-10 | 50-60 | 在范围内即可获得满分 |
| 技术人员 | 10-12 | 30-50 | 在范围内即可获得满分 |
| 默认(无受众类型) | 7-8 | 60-70 | 维持当前评分方式 |
内容清晰度是影响 AI 引用概率的第 2 大因素(分数差异 +32.83%)。美国成年人的平均阅读水平为 7-8 年级。
SEO 优化(25 分)
| 检查项 | 分值 | 通过标准 |
|---|---|---|
| 包含关键词的标题层级 | 5 | H1 -> H2 -> H3,不跳级,2-3 个标题中包含关键词 |
| 标题标签(40-60 个字符,包含关键词和有力词语) | 4 | 关键词前置,情感积极 |
| 关键词位置/密度 | 4 | 自然融入,不堆砌,出现在前 100 个词内 |
| 内部链接(3-10 个,符合上下文) | 4 | 锚文本描述清晰,双向链接 |
| URL 结构 | 3 | 简短,包含关键词,不含停用词,全部小写 |
| 元描述(150-160 个字符,含统计数据) | 3 | 信息密集,包含一项统计数据 |
| 外部链接(1-3 级) | 2 | 包含 3-8 个指向权威来源的出站链接 |
E-E-A-T 信号(15 分)
| 检查项 | 分值 | 通过标准 |
|---|---|---|
| 作者署名(具名,附简介) | 4 | 真实姓名、资历,不是推销话术 |
| 来源引用(1-3 级,文内引用) | 4 | 8 项以上独特统计数据,没有捏造内容 |
| 信任指标 | 4 | 联系页面、关于页面、编辑政策 |
| 经验信号 | 3 | “我们测试时……”,原创照片/数据 |
根据 E-E-A-T 评估来源引用时,检查每项公开统计数据是否包含 FLOW 证据三要素:正文中标明年份,文内引用包含发布方和标题,来源区块中的 URL 附有检索日期。引用了 1-3 级来源但缺少检索日期的文章,在此子类别中的得分应低于包含完整三要素的文章。标准请参阅 skills/blog/references/flow-alignment.md。
技术要素(15 分)
| 检查项 | 分值 | 通过标准 |
|---|---|---|
| Schema 标记(3 种以上类型可加分) | 4 | 至少包含 BlogPosting + FAQ + Person |
| 图片优化 | 3 | 使用 AVIF/WebP,alt 文本描述清晰,除 LCP 图片外均延迟加载 |
| 结构化数据元素 | 2 | 表格、列表、对比区块 |
| 页面速度信号 | 2 | LCP < 2.5s,不含阻塞渲染的 JS |
| 移动设备友好性 | 2 | 响应式设计,点击目标至少为 48px |
| OG/社交媒体元标签 | 2 | og:title、og:description、og:image、twitter:card |
AI 引用就绪度(15 分)
| 检查项 | 分值 | 通过标准 |
|---|---|---|
| 段落级可引用性(120-180 个词) | 4 | 各部分内容独立完整,并包含统计数据和来源 |
| 问答格式的部分 | 3 | 60-70% 的 H2 标题为问题形式,包含 FAQ |
| 实体清晰度 | 3 | 主题实体明确,术语一致 |
| 便于提取的内容结构 | 3 | 答案优先,表格带有 thead,采用对比格式 |
| AI 爬虫可访问性 | 2 | SSR/SSG,不含由 JS 控制访问的内容 |
步骤 3:AI 内容检测
分析文章,评估 AI 生成内容的风险:
突发性得分(句长变化程度):
- 计算整篇文章句长的标准差
- 人类写作:变化程度高(短促有力的句子与复杂长句并存)
- AI 写作:变化程度低(句长始终处于中等水平)
- 得分:0-10 分(10 = 突发性非常接近人类写作)
已知 AI 常用短语检测:标记以下 17 个短语的出现情况:
- “需要注意的是”
- “在当今的数字环境中”
- “深入探讨”
- “应对复杂性”
- “让我们来探索”
- “此外”
- “总之”
- “值得一提的是”
- “开启……之旅”
- “尖端”
- “利用”(作为动词,非金融语境)
- “游戏规则改变者”
- “彻底改变”
- “简化”
- “发挥……的力量”
- “深入探究”
- “释放潜力”
- 破折号 (-) — 统计所有出现次数,并标记为 AI 写作模式
词汇多样性(类符-形符比):
- 计算独特词汇数 / 总词数
- 人类写作:长篇内容的 TTR 通常为 0.4-0.6
- AI 写作:TTR 通常低于 0.35(词汇重复)
AI 内容风险评估:
- 如果综合信号表明 AI 概率 > 50%,则进行标记
- 提供触发标记的具体段落
- 建议增加人类写作特征:个人轶事、多变的句子节奏、领域术语
步骤 4:确定评分
| 分数 | 评级 | 操作 |
|---|---|---|
| 90-100 | 卓越 | 原样发布,作为旗舰内容 |
| 80-89 | 强 | 稍作润色,即可发布 |
| 70-79 | 可接受 | 需要针对性改进 |
| 60-69 | 未达标准 | 需要大幅返工 |
| < 60 | 重写 | 存在根本性问题,从大纲开始重写 |
步骤 4.5:可选序数评分标准(--rubric)
传入 --rubric 时,还会根据 skills/blog/references/editorial-heuristics.md 中定义的 10 项编辑启发式标准为文章评分。每项标准得分为 0-4,并标注严重程度(P0 / P1 / P2 / P3 / 无)。
评分标准不会取代 100 分制评分,而是与之并行运行,并指出哪些问题会阻止发布,哪些只需润色。
评分标准的输出格式为以下任一形式:
- Markdown 表格(默认),附加在主报告下方,标题为
### 编辑启发式评分标准。 - 使用
--format json时,输出为 JSONrubric字段。
评分标准 JSON 架构:
{
"rubric": {
"heuristics": [
{ "id": 1, "name": "Visibility of intent", "score": 3, "severity": "P2", "note": "Summary box generic" },
...
],
"p0_count": 0,
"p1_count": 1,
"p2_count": 2,
"p3_count": 3
}
}
步骤 4.6:可选认知负荷热图(--cognitive-load)
传入 --cognitive-load 时,运行 scripts/cognitive_load.py <file> --format json,并将结果嵌入 JSON 输出的 cognitive_load 字段,或追加为 Markdown 输出中的 ### 认知负荷热图 部分。有关阈值和解读,请参阅 skills/blog/references/cognitive-load.md。
步骤 5:生成报告
默认输出格式(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.
导出格式
默认:Markdown 报告
如上所示的标准详细报告。
JSON 导出(--format json)
可供 CI/CD 或仪表板集成的机器可读输出:
{
"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": []
}
}
表格导出(--format table)
便于快速审阅的精简摘要:
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 标志时,扫描博客文件并生成汇总表。使用 --sort score 按分数排序(默认升序)。
## 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.