mcpField
D
docs-auditor

docs-auditor

github.com/infrasity-labs测试与质量150131 次安装17 周前更新
代码仓库

关于 docs-auditor

面向开发者文档团队的审计技能,根据文档 URL 检查七类共 33 项内容,并生成带评分的可视化 HTML 报告。检查范围包括 AI 可发现性、导航、内容质量、SEO、链接和维护信号。

主要功能

  1. 01执行七类共 33 项检查
  2. 02评估文档结构与内容完整度
  3. 03检查 SEO、内部链接和版本维护
  4. 04生成独立的评分 HTML 报告

适用场景

  1. 01评估开发者文档的整体质量
  2. 02发现导航、内容或可抓取性缺口
  3. 03为文档改进确定优先事项

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/docs-auditor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
fetch-strategy.md
scoring.md
widget-template.md
tests/
test-cases.json

详细介绍

文档审计技能

通过 7 个类别中的 33 项检查,审计开发者文档网站。给定文档 URL 后,获取所有必需页面、评估每项检查,并生成可视化评分报告。


步骤 0a — 通过定向搜索解锁派生 URL(关键,首先执行)

获取任何派生 URL 之前,先运行一次包含所需确切文件路径的 web_search。这是必需的,因为 web_fetch 仅允许获取用户提供的 URL,或先前搜索/获取结果中出现的 URL——即使已知根域名,该工具也无法自行获取派生路径。

给定类似 https://docs.example.com/ 的文档 URL,构造并运行以下搜索:

docs.example.com/llms.txt docs.example.com/robots.txt docs.example.com/sitemap.xml example.com/llms.txt example.com/robots.txt example.com/sitemap.xml

在同一查询中同时包含子域名和根域名变体——这些文件可能托管在其中任一域名上。这次搜索会在结果中显示确切文件 URL,使其可以立即获取。如果某个文件完全没有出现在结果中,这本身就是该文件不存在的有力证据——将相关检查标记为失败,无需尝试获取。

将此搜索作为内部准备步骤静默执行。不要向用户描述此步骤。


步骤 0b — 扩展 URL(关键)

用户提供基础文档 URL(例如 https://docs.example.com/)时,必须立即将以下所有派生 URL 视为用户已提供,并直接获取,无需征求许可。这是确保审计顺利进行的核心机制。

给定基础 URL https://docs.example.com/,在第一轮中获取以下所有内容:

{base}/robots.txt
{base}/sitemap.xml
{base}/llms.txt
{base}/llms-full.txt

如果文档托管在子域名上,也尝试获取根域名变体:

https://{root-domain}/robots.txt
https://{root-domain}/llms.txt
https://{root-domain}/llms-full.txt
https://{root-domain}/sitemap.xml

然后获取文档主页,以及以下标准子页面(根据侧边栏/导航中发现的内容调整 slug):

{base}/                          ← landing / intro page
{base}/quickstart  (or /getting-started, /get-started)
{base}/changelog   (or /releases, /release-notes)
{base}/api         (or /api-reference, /reference)
{base}/faq         (or /troubleshooting, /help)
{base}/[one use-case or tutorial page]
{base}/[one deep settings or config page]

至少获取 6–8 个页面。越多越好。不要向用户索要更多 URL——自行推导。


步骤 1 — 执行全部 33 项检查

获取页面后,根据以下标准评估每项检查。使用获取到的 HTML/Markdown 内容作为证据。按照每项检查定义的标准,将其标记为 通过、警告 或 失败。

类别 1 — AI 与大模型可发现性(5 项检查)
#检查通过警告失败
1.1根域名下存在 llms.txt文件已成功获取且包含内容文件存在,但为空或格式不正确404/未找到
1.2存在 llms-full.txt文件已成功获取文件存在,但内容稀少404/未找到
1.3llms.txt 中列出了文档页面在 llms.txt 中找到了文档页面链接列出了一些页面,但不完整llms.txt 不存在或没有文档链接
1.4robots.txt 允许 AI 机器人访问明确允许 GPTBot、ClaudeBot 或类似机器人,或没有针对它们的禁止规则未提及机器人(情况不明确)明确禁止机器人访问
1.5sitemap.xml 中包含文档页面找到了站点地图,且其中包含文档页面 URL站点地图存在,但内容稀少/不完整站点地图缺失或返回 404
类别 2 — 结构与导航(6 项检查)
#检查项通过警告失败
2.1存在包含实际内容的介绍 / 概览页面页面存在,且包含实质性的产品介绍(>200 个单词)页面存在,但内容单薄 / 含糊未找到介绍页面
2.2提供包含可操作步骤的快速入门 / 入门指南分步指南可帮助用户进入可用状态页面存在,但步骤含糊或不完整未找到快速入门指南
2.3存在 API 参考 / 参考资料章节设有专门的 API 参考章节,包含端点或方法有一些参考内容,但未按 API 参考资料组织未找到参考资料章节
2.4存在侧边栏 / 导航菜单HTML 中可见包含分类链接的侧边栏存在侧边栏,但链接未分类未检测到侧边栏
2.5存在面包屑导航抽样页面中可见面包屑路径部分页面有面包屑,但并非全部页面都有未找到面包屑导航
2.6存在搜索功能在 HTML 中检测到搜索输入框搜索链接到外部,但页面上没有搜索功能未找到搜索功能
类别 3 — 内容完整性(6 项检查)
#检查项通过警告失败
3.1存在用例 / 教程 / 示例章节设有专门章节,包含至少 2 个完整教程页面章节存在,但只有 1 个页面或内容单薄未找到用例 / 教程
3.2存在代码示例多个抽样页面中都找到代码块仅 1 个页面包含代码未找到代码示例
3.3提供多种语言的示例(Python、JS、cURL 等)代码示例中展示了 2 种或更多语言仅展示了 1 种语言完全没有代码示例
3.4存在更新日志 / 发行说明更新日志页面存在,且包含实际条目页面存在,但为空或仅为占位内容未找到更新日志
3.5存在常见问题 / 故障排除章节设有专门的常见问题或故障排除页面,包含实际问答提到了常见问题,但内容极少未找到常见问题或故障排除内容
3.6记录了错误消息 / 状态码文档中的某处列出了错误码或状态码仅有简短提及未找到错误相关文档
类别 4 — 内容质量(3 项检查)
#检查项通过警告失败
4.1介绍页面说明产品是什么以及适用对象清晰介绍产品,并说明目标受众介绍了产品,但目标受众含糊内容空泛 / 仅为营销宣传,没有实质信息
4.2快速入门指南能帮助用户进入可用状态提供从零开始到获得可用输出的端到端步骤提供了步骤,但不完整或缺少关键信息快速入门指南过于含糊,无法遵循
4.3抽样页面内容充实(非空壳页面)所有抽样页面都有实际内容(>150 个单词,且结构清晰)完整页面与空壳页面并存大多数抽样页面都是空壳页面
类别 5 — 技术 SEO 与可抓取性(5 项检查)
#检查项通过警告失败
5.1强制使用 HTTPS所有获取的 URL 均使用 HTTPSHTTP 和 HTTPS 混用仅使用 HTTP
5.2文档页面包含 Meta 标题所有抽样页面都找到 <title> 标签部分页面存在大多数页面缺失
5.3文档页面包含 Meta 描述所有抽样页面都找到 meta-description部分页面存在大多数页面缺失
5.4存在正确的规范 URL存在规范标签,且指向正确的域名存在规范标签,但指向错误的域名 / 预览域名未找到规范标签
5.5文档页面没有 noindex 指令所有抽样页面均设置 meta-robots: index, follow不一致——部分页面设置了 noindex大多数页面设置为 noindex
类别 6 — 内部链接与流程(4 项检查)
#检查项通过警告失败
6.1文档页面之间相互链接抽查页面正文中发现内部链接部分页面相互链接,但大多数没有正文中未发现内部链接
6.2提供上一页 / 下一页导航抽查页面底部有上一页 / 下一页导航链接部分页面提供了导航未发现
6.3GitHub / 源代码链接文档中发现 GitHub 或源代码链接文本中提及,但未添加链接未发现 GitHub / 源代码链接
6.4提供社区 / 支持链接(Discord、Slack、论坛、聊天)发现指向社区或支持渠道的直接链接有提及,但没有直接链接未发现社区或支持相关信息
类别 7 — 版本管理与维护(4 项检查)
#检查项通过警告失败
7.1显示版本标识(v1.2、“latest”、徽章)抽查页面上可见版本徽章或标签文本中提及版本,但没有徽章未发现版本标识
7.2页面上显示最后更新 / 新鲜度标识可见“最后更新”日期或类似信息有变更日志,可作为替代信号未发现任何新鲜度标识
7.3安装命令包含版本固定安装命令指定了固定版本(例如 pip install foo==1.2)有安装命令,但未固定版本未发现安装命令
7.4提供弃用通知(适用于多版本产品)可见弃用横幅或通知变更日志中提及弃用未发现弃用通知(仅当产品有多个版本时才算失败)

第 2 步 — 计算分数

计算每个类别的分数,上限为该类别的最高分。类别内每项检查的分值相同。 所有类别的权重相同(每类最高可得 100/7 ≈ 14.3 分)。

每个类别内:

  • 通过 = 满分
  • 警告 = 半分
  • 失败 = 0 分

最终分数 = 所有 7 个类别的分数之和,四舍五入为 100 分制整数。


第 3 步 — 生成报告

生成一个独立的 HTML 报告文件:

  • 将 references/widget-template.md 中的 HTML/CSS/JS 模板用作设计参考。
  • 将完成的报告写入当前工作目录下名为 {domain}-docs-audit.html 的文件(例如 supabase-docs-audit.html)。
  • 报告必须包含:
    1. 分数概览 — 100 分制的大号分数、域名、通过 / 警告 / 失败的汇总数量
    2. 图例 — 绿色圆点 = 通过,琥珀色圆点 = 警告,红色圆点 = 失败
    3. 类别区块 — 每个类别一个区块,包含:
      • 类别名称和分数(例如“3/5”)
      • 徽标: “X 项通过”“X 项警告”“X 项失败”
      • 每项检查的行,包含图标(✓ / ! / ✗)、标签和简短的证据说明
  • 将所有审计数据(分数、数量、类别分数、检查状态、证据说明)直接填入模板,不得留下未填写的占位值。
  • 文件必须完全独立(无外部依赖),无需服务器即可在任何浏览器中正确打开。

第 4 步 — 报告之后

生成报告后,提供一段简短的文字摘要(3–5 句话),涵盖:

  • 表现最好的 1–2 个类别
  • 最大的缺口 / 可快速改进的事项
  • 任何关键问题(例如规范链接失效、文档设置了 noindex、AI 爬虫被屏蔽)

并表示可以深入分析任何类别,或制定按优先级排序的行动计划。

边缘情况说明

  • 子域名文档(例如 docs.stripe.com):始终也要检查根域名(stripe.com)下的 robots.txt、llms.txt 和 sitemap.xml——它们通常托管在根域名下。
  • 需要身份验证的文档:如果页面返回 401/403,将相关检查标记为 warn,并附注 “无法验证——页面需要身份验证。”
  • 由 JS 渲染的文档:如果获取到的 HTML 文本内容很少(< 200 个字符),请注明文档 可能由 JS 渲染,因此部分检查可能无法得出确切结论。
  • 检查 7.4(弃用):只有在证据表明产品存在多个版本时才判定为失败。如果产品显然只有 v1,则标记为 N/A(评分时计为通过)。

评论

支持 Markdown