Spicrawl docs2skill
llms-txt.mjs 通过站点地图(或首页链接)发现网站页面,使用 Spicrawl API 将页面批量抓取为干净的 Markdown,并写入 llms.txt 和 llms-full.txt。使用 --skill <name> 参数时,它还会写入一个代理技能文件夹(SKILL.md + references/*.md)和 AGENTS.md。
设置
- 需要 Node >= 18 以及在
SPICRAWL_API_KEY环境变量中配置的 Spicrawl API 密钥(免费密钥可在 https://app.spicrawl.com 获取,每月 1,000 积分)。如果该变量未设置,请要求用户导出它。不要要求他们将密钥粘贴到聊天中。 - 在此目录(包含
llms-txt.mjs的文件夹)中运行一次npm install。
运行
在此目录中运行:
node llms-txt.mjs https://docs.example.com # 在 ./out 中生成 llms.txt + llms-full.txt
node llms-txt.mjs https://docs.example.com --skill example-docs # 同时生成 out/example-docs/SKILL.md、references/、out/AGENTS.md
node llms-txt.mjs https://example.com --include /docs --max 100 # 仅抓取 /docs 下的页面,最多 100 页
node llms-txt.mjs https://app.example.com --js # 渲染 JavaScript(每页成本更高)
--max限制抓取的页面数量(默认 50)。工具会在开始前打印预估的信用点成本。--skill接受一个短横线连接的小写名称(小写字母、数字、连字符)。无效的名称会被拒绝,不会发起任何 API 调用。- 通过将生成技能文件夹复制到代理的技能目录中来安装该技能,例如
cp -r out/example-docs ~/.claude/skills/(Claude Code)或仓库的.agents/skills/。
读取输出
- 最终摘要行会报告已写入的页面数量,以及因失败、被阻止(网站响应 HTTP 4xx/5xx)或内容为空而跳过的页面数量。跳过的页面不消耗信用点。
- 使用较少的页面重新运行到同一个
--out目录会留下旧的引用文件;为获得干净的结果,请先删除该文件夹。
成本
普通抓取每页约消耗 1 个信用点;--js 每页消耗更多。在免费套餐上从小的 --max 开始,待输出符合预期后再扩大。
防护栏
- 切勿打印、记录或提交 API 密钥。
- 尊重网站的条款和 robots 规则;仅为用户有权以这种方式使用的文档生成技能。
- 不要循环运行:除非文档发生变化,每个网站运行一次即可。