← 全部项目

18trees-website-analysis

一个跨工具的 AI skill:逐条抓取网站公开可观察的非功能实现,按八个维度分析并归档成可复用的模板。

文章目录[4]

项目是什么

18trees-website-analysis 是一个跨工具的 AI skill 代码库:把一个网站「是怎么搭起来的」拆解清楚,再归档成别人能直接复用的模板。

它要解决的问题很具体——你看到一个做得很好的小站,想知道它部署在哪、花了多少钱、用什么搭的、隐私政策是怎么写的;通用做法是问 AI,而 AI 会给出一段听起来合理、却没人核实过的推测。这个 skill 把这件事变成流程:逐条抓取公开可观察的证据,按八个维度分析,把源文件按字节存下来。

「非功能」是刻意的边界:功能、内容与业务逻辑明确排除在外,它只回答「怎么搭的」,不回答「是做什么的」。它面向 Claude Code、Codex,以及任何能抓取网页、读写文件的 AI 工具。

具体结构

18trees-website-analysis Architecture A architecture diagram generated by Archify. Rule source Packaging & delivery Archive output SKILL.md · principles · workflow · Rule source SKILL.md principles · workflow References · 3 rule files · Rule source References 3 rule files build-dist.sh · one file from rules · Packaging & delivery build-dist.sh one file from rules Plugin Manifests · Claude Code · Codex · Packaging & delivery Plugin Manifests Claude Code · Codex Single-File Guide · no external refs · Architecture component Single-File Guide no external refs AI Tool · fetch · write files · Architecture component AI Tool fetch · write files Archive Index · README.md · Archive output Archive Index README.md Analysis Report · fixed section order · Archive output Analysis Report fixed section order Source Snapshot · kept byte-for-byte · Archive output Source Snapshot kept byte-for-byte rules refs generates installs paste writes indexes

仓库分三层,规则只写一遍,另外两层都从它派生。

规则层。 规则只维护在 skills/website-analysis/ 一处。SKILL.md 写核心原则、分阶段流程、八个维度与边界情况;references/ 下三份文件各管一段——recon-checklist.md 是探测路径、响应头指纹与平台识别表,report-template.md 是报告骨架与深度校准,case-notes.md 是两份完整实例与对比表;agents/openai.yaml 是 Codex 的界面元数据。

封装与分发层。 scripts/build-dist.sh 把 SKILL.md 与三份 reference 拼成 dist/website-analysis.md 单文件版:零外部引用,可以整份作为指令交给不支持 skill 机制、但能执行命令的 AI 工具。同一套规则另有一组插件清单(.claude-plugin/ 与 .codex-plugin/),把它装进 Claude Code 与 Codex。

存档产出层。 无论从哪条路径装进来,运行的结果都是同一个存档目录:README.md 作索引,分析报告.md 写八个维度,source/ 逐字节保存抓到的源文件。

优秀设计

规则只有一个来源,生成物不手工维护。 skills/ 是唯一真相,dist/ 由脚本生成;改完规则重跑一次脚本,两次生成之间不应有任何差异。单文件版和拆分版因此不会各说各话。

报告章节顺序固定,存档之间可以并排对比。 report-template.md 把顺序写死——概述、部署、结构、技术栈、SEO、域名、法律、传播、成本、对比、可复用要点,再加源文件索引附录,新增章节只能追加到末尾。不同站点的存档因此可 diff、可并列。

证据先于结论。 每条结论都要能追溯到抓到的文件或响应头,属于推断的部分必须标注为「推测」;配合平台识别表——默认域名格式、特征响应头、错误页形态——即使源码闭源也能判断托管平台。

先把「用不了」写在前面。 README 明确写网页版聊天机器人跑不了这个 skill:没有工具能力的模型只能凭印象编报告,恰好违背它存在的理由。判断标准是「需不需要执行命令或访问文件系统」——同组织的写作 skill 属于纯文本变换,可以粘贴使用,这个不行。

贡献者补充证据,不能靠印象加规则。 CONTRIBUTING.md 要求新增平台指纹必须附上实际观察到的默认域名、响应头和错误页形态,只说「某某平台特征明显」的 PR 不会被合并,并且只做增量优化。

解决了什么问题

  • 判断一个小站怎么搭的,不再靠一个个试:探测路径、响应头指纹与平台识别表把它变成按清单走一遍。
  • 结论不再依赖模型印象——每条都能追溯到抓取到的文件或响应头,属于推断的部分被明确标注。
  • 交付的不只是结论,还有 source/ 下逐字节保存的源文件,改造时动手的正是这些文件本身。
  • 存档写给零上下文的陌生人:章节顺序固定,不允许「如上所述」这类依赖上下文的指代,其他 Agent 可以直接接手。
  • 大文件直接下载、HTML 法律页转成 markdown、二进制资源只记录不下载,归档不会因为工具写入截断而失真。
0