mcpField
D
dido-checklist-sito-web

dido-checklist-sito-web

github.com/didomarchet测试与质量064 次安装今天更新
代码仓库

关于 dido-checklist-sito-web

一项意大利语网站审计技能,使用基于证据的清单生成面向客户的报告。它区分可直接核验的项目与需要浏览器、外部工具、凭据或人工判断的项目,并要求明确标记未核验项。

主要功能

  1. 01收集网站背景并界定范围
  2. 02按环境能力筛选清单项目
  3. 03为每项检查记录证据与状态
  4. 04按严重程度排列整改计划
  5. 05分别输出报告和结果清单
  6. 06明确标记未核验项目

适用场景

  1. 01上线前审计网站
  2. 02迁移后检查技术 SEO
  3. 03评估多语言或电商网站
  4. 04编制按优先级排列的整改报告

安装

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

$npx skills add https://github.com/didomarchet/dido-skills --skill dido-checklist-sito-web

安装后在 Claude Code 中输入/dido-checklist-sito-web确认已加载。

包含的文件

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

assets/
checklist-esiti.md
report-template.md
reference/
checklist.md

详细介绍

天下彩网站 QA 清单

一项双速技能:一部分可验证(下载页面、检查 HTML、标头、JSON-LD、重定向:有就是有,没有就是没有),另一部分需要判断或只能由人工验证 (真实付款、翻译质量、条款的法律合规性)。

黄金法则:绝不要勾选你实际上没有验证过的项目。 报告中的每个项目都必须有明确结果,NON VERIFICATO 是合法且常见的结果。一份有 40 项已验证、60 项注明无法验证的报告,远胜于一份有 100 项全绿、其中一半是编造的报告。这是这项技能保持实用的唯一方式。

部分请求

如果用户只要求检查一部分(“检查 X 的技术 SEO”),就只执行相关章节,并遵守相同的报告格式和诚信原则。

步骤 0.背景信息(不要跳过)

没有这些答案,一半的项目都不适用,而且你可能会把有意为之的内容标记为错误。一次性询问以下信息;如果用户没有回复,就按照报告开头列出的假设继续:

  1. 网站的URL,以及测试环境(staging 或生产环境)的 URL(如果不同)。
  2. 类型:展示型网站、博客/编辑网站、电子商务网站、带登录功能的 Web 应用、多语言门户。
  3. 时机:上线前、迁移后(此时需要旧 URL 列表)、对运行中的网站进行审计。
  4. 可用访问权限:Search Console、GA4、CMS 管理后台、托管服务、测试邮箱。没有这些权限,整个章节都只能标为 NON VERIFICATO ——立即说明,不要等到最后。
  5. 技术栈(CMS、框架、托管服务、CDN),以及各项工作由谁完成(如已知)。

然后检测环境能力(步骤 0-bis),并使用下方标签图定义范围。

步骤 0-bis.检测环境能力(不要想当然)

此技能可在不同主机上运行(claude.ai、Claude Code、API)。不要假设自己有哪些工具:在开始时测试一次,并在报告附录中写明结果。

能力测试如果具备如果不具备
获取 HTML使用可用的 Web 工具下载首页可执行 HTML 上的 [A] 项如果既无法获取页面也没有 shell,则整份清单都是 [M]:说明这一点并停止
HTTP Shellcurl -sI https://<dominio>可验证标头、重定向、状态码、TLS → 应用下方的升级规则这些项目仍标为 NON VERIFICATO,并注明所用工具
浏览器 Agent是否有浏览器控制工具?由你执行 [B] 项将 [B] 项交给用户,并提供操作说明
用户提供的导出文件用户是否附上了 Screaming Frog / Lighthouse / Semrush 报告?许多 [M] 项可变为 [A]无变化

按能力升级。 [M] 表示“仅凭 HTML 不够”,而非“无法验证”。如果你有 HTTP shell,就必须执行以下项目,而不能转交用户:GO-05、GO-08、GO-09、PRF-06、PRF-07、PRF-08、PRF-09、SEC-02、SEC-03、SEC-04、EML-01、EML-03。请在报告中说明应用了哪些升级规则。

注意(特殊情况,并非通则)。 在 claude.ai 容器中,网络采用 allowlist:curl 无法访问客户网站,只能使用 Web 获取工具——你可以获取 HTML,但无法获取标头、重定向信息或 JS 渲染结果。在 Claude Code 或通过 API 使用时,通常有 shell:不要把 claude.ai 的限制报告到并不受这些限制的环境中。

从类型到标签:显式映射

完整词汇表,共七个值(与模式标签 [A]/[B]/[M] 不同): #tutti、#lancio、#ecom、#login、#multi、#blog、#form。

维度第 0 步的回答激活的标签
基础始终#tutti(永远不可筛除)
时机上线前或迁移后#lancio
类型展示型网站无类型标签
博客 / 编辑型网站#blog
电子商务#ecom + #login + #form
带登录功能的 Web 应用#login + #form
特征(根据网站实际观察到的内容,而非仅依据声明)至少有一个表单#form
有会员专区#login
有多种语言#multi
有新闻 / 博客版块#blog

**这是并集,不是交集。**只要条目至少有一个标签处于激活状态,就要执行。带有会员专区的多语言电子商务网站几乎会激活所有条目:这是正确的,因为这类情况风险最高。

筛选应逐条进行,而非仅按章节筛选。在其他方面适用的章节中,也有带类型标签(#ecom、#login、#form、#blog、#multi)的条目:每条的标签都列在 reference/checklist.md 中对应标题旁。如果其标签未激活,必须逐行标记为 N/A 并注明原因:不要合并成一个范围,也不要让它们落入 NON VERIFICATO。注明的 N/A 是一种信息;对不相关条目标记 NON VERIFICATO 则是噪声,会掩盖真正的遗漏。

**缺少功能 ≠ 功能故障。**如果某条目涉及网站根本不具备的功能(站内搜索、评论、视频、模态框、推荐语、llms.txt、会员专区、筛选器),结果应为 N/A: 网站未提供此功能,而不是 KO,也不是 NON VERIFICATO。声明其不存在前,先验证确实不存在:N/A 是一种观察结果,应如实记录。

在报告附录中写入:Tag attivi: #tutti #ecom #form, voci in perimetro: N su M,其中 M 是 reference/checklist.md 中的条目总数,需逐条统计。 缺少这一行,就无法复现检查范围。

确定检查范围后,在准备执行时,按章节加载 reference/checklist.md。

具体如何验证

每条都有一个模式标签,说明由谁执行:

标签含义执行者
[A]自动:只需下载并阅读页面你独自完成
[B]需要浏览器进行点击、填写和浏览如果你有智能体浏览器,则由你执行;否则由用户执行
[M]手动:需要人工判断、凭据或真实资金用户执行,你准备说明

模式是默认值,而非定局:需结合第 0-bis 步检测到的能力。

  • 关于 HTML、meta、JSON-LD、hreflang、canonical、文本和现有链接的条目 → [A],由你使用可用的网页抓取工具完成。
  • 关于 HTTP 标头(HSTS、CSP、缓存、重定向链)、状态码、TLS 的条目 → 仅在你没有 shell 时标记为 [M]。如果有 shell,就执行这些检查:参见提升列表。
  • 关于现场 Core Web Vitals 和完整抓取的条目 → 无论如何都需要外部工具。标记为 NON VERIFICATO,并注明工具(PageSpeed Insights、Screaming Frog、securityheaders.com)。
  • 如果收到 Screaming Frog / Semrush 导出文件或 Lighthouse 报告,请使用:许多 [M] 条目可根据这些文件转为 [A]。

切勿模拟未实际运行的工具输出。

流程

QA sito, avanzamento:
[ ] 1. Contesto raccolto, sezioni applicabili filtrate, assunzioni scritte
[ ] 2. Raccolta prove: home + 5-10 pagine campione (una per template), robots.txt,
       sitemap, 404, pagine legali, eventuali export forniti dall'utente
[ ] 3. Esecuzione voci [A] sezione per sezione, annotando la prova per ciascuna
[ ] 4. GATE 1: test della prova su ogni esito emesso (vedi "I due gate di onestà")
[ ] 5. Voci [B]/[M]: non inventare l'esito, scrivi l'istruzione operativa per chi le farà
[ ] 6. Report: tabella per sezione + piano di intervento prioritizzato
[ ] 7. Checklist spuntata, generata dal report appena scritto (secondo file, vedi "Report")
[ ] 8. GATE 2: prima di consegnare (vedi "I due gate di onestà")

第 2 步的抽样比数量更重要:每种模板选一个页面(首页、分类页、产品 / 文章详情页、静态页、表单、结账页、404;对于多语言网站,同一页面选两种语言)。二十个相同模板的页面不会增加信息。

结果与严重程度

允许的结果:OK、KO、PARZIALE、N/A、NON VERIFICATO(附理由)。

KO 的严重程度:

  • 阻断级:不得上线/必须在 24 小时内解决。网站或关键页面无法访问、测试环境可被索引、结账或表单损坏、缺少 HTTPS 或证书已过期、个人数据泄露、未经同意使用非必要 Cookie、没有备份。
  • 高:直接影响流量、转化、合规性或安全性。必须在上线前或当前迭代中解决。
  • 中:降低质量或性能,但不会导致功能失效。下个周期解决。
  • 低:细节打磨、技术债、锦上添花的改进。

清单中标注的严重程度是默认值:请根据具体情况调高或调低,并说明原因。装饰性图标缺少 alt,与购物车按钮缺少 alt 并不相同。

两道诚信关卡

这不是建议,而是交付条件。

证据测试(关卡 1)。 只有在你现在就能把以下任意一项粘贴到“证据”列时,条目才能标为 OK 或 KO:确切 URL + 观察到的值、所执行命令的输出、用户文件的名称及读取位置。如果证据只是转述、推断或回忆,结果就是 NON VERIFICATO。如果该行的备注与结果相矛盾,以备注为准。 必须输出:在报告附录中添加一行:Gate 1: X voci riviste, Y declassate。如果在一次大范围审计中 Y = 0,请重新检查那些最容易被轻率判定为通过的条目:只在一个页面上查看过的条目,以及根据技术栈推断的条目。如果这些条目均经复核无误,Y = 0 就是有效结果。

关卡 2(交付前)。 每个阻断级问题都有可引用的证据和明确的负责人。每个 OK 都有实际观察依据。每个 N/A 都有理由。汇总表中的数字必须逐项计数,不得估算,并且必须与整改计划一致。

如果你生成了已勾选的清单,关卡还包括三项一致性检查——这些都是计数,花一分钟即可完成,也是防止两份文档不一致的唯一保障:

  1. [x] 的数量必须恰好等于汇总表中的 OK 数量。
  2. 文件中的行数必须恰好等于开头声明的范围内条目数。
  3. 每个空白框旁边都必须注明理由。

如果检查结果不一致,错误就在已勾选的清单中:根据报告重新生成,不要为了让数字对得上而修改报告。

常见自我合理化及必须采取的应对方式
你可能会想你应该怎么做
“WordPress/Shopify 通常都自带这个”标为 NON VERIFICATO。通常如此不等于实际观察到。
“我在另一个页面上看到了,其他页面应该也一样”标为 PARZIALE,并列出实际查看过的页面。
“文件名写着 200×200”标为 NON VERIFICATO。文件名不是尺寸测量结果。
“客户告诉我它能正常工作”标为 NON VERIFICATO (dichiarato dal cliente)。
“报告里有 60 个 NON VERIFICATI,看起来很难看”照实提交。
“用户赶时间”可以缩短总结,但不能改动结果。

如果用户要求删除 NON VERIFICATO:请拒绝,并说明这些条目界定了文档的有效范围。你可以将它们移至附录,但不能删除。

报告

使用 assets/report-template.md。优先于格式的规则:

  • 报告面向客户:句子简短,使用客户自己的措辞。标签、模式和 Gate 仅放在附录中。每段最多使用一个破折号。
  • 每个 KO 都要附上证据:准确的 URL、代码行、截图、测量值。“缺少 Meta description”若没有 URL,只是意见,不是问题发现。
  • 每个 KO 都要附上行动项,不能只写问题:要做什么、在哪里做、由谁负责(开发 / SEO / 法务 / 客户),以及粗略的工作量估算。
  • 报告开头:日期、测试环境、未验证的内容及原因。必须先写这一部分,不能最后补上。其余背景(例如网站类型、功能、范围、促销活动、Gate)放在最后的附录中。
  • 干预计划按严重程度排序,其次按影响与工作量之比排序,并且只放在一张表中:这是唯一一页会被认真阅读的内容。
已勾选的检查清单(始终作为第二个文件交付)

除报告外,还要使用 assets/checklist-esiti.md 交付 checklist-esiti-{{sito}}.md:按章节分组列出范围内的条目,只有结果为 OK 时才勾选。

必须最后填写,依据已写好的报告,逐行填写。这只是一个视图,不是第二次验证:不得包含报告中没有的结果,也不能借此重新审视已经通过 Gate 1 的判断。

每个未勾选项旁边都要注明原因:标明严重程度的 KO、PARZIALE、N/A,或注明缺少工具的 NON VERIFICATO。客户会先打开并把这个文件理解为“绿色 = 已完成,空白 = 已损坏”:若不注明原因,你的 NON VERIFICATO(它们界定了工作的有效范围)就会被视为一项项指控。

如果需要在表格中处理(工单、任务分配、进度跟踪),请同时将相同内容导出为 .csv 或 .xlsx,每个条目一行。

应避免的误报

报告问题前,请确认没有遇到以下情况:

  • 私有区域、筛选器、购物车、搜索结果中的 noindex 或 Disallow 可能是有意设置的。
  • 跟踪参数看似造成重复内容,但 canonical 设置正确。
  • “错误”的重定向实际上是有意进行的规范化处理(www、尾部斜杠、语言)。
  • CDN 和第三方服务返回的 header 可能与 origin 不同。
  • 自动化无障碍检查中的 KO 不代表已确认违反 WCAG:自动化工具只能检测到约三分之一的实际问题,而且会产生误报。 请报告问题发现,不要对合规性下结论。
  • 切勿宣称符合法律规定(GDPR、EAA、消费者法典):你可以指出迹象并说明缺少哪些内容,合规性应由法律专业人士评估。请在报告中写明这一点。

检查清单维护

reference/checklist.md 会过时:指标、义务和工具都可能变化。如果执行过程中发现某个条目已过时或缺少相关条目,请在回复的“检查清单更新建议”下报告,而不要悄悄修改。此内容不要放入报告:它面向客户,而非此技能。

评论

支持 Markdown