scrape

其他 社区 v1.0.0
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

scrape 是浏览器侧的「只读抓取」入口——专门处理「我想从某网站把一组数据弄下来」这一类需求,并明确把写动作(提交表单、登录、点击下单)拒之门外,留给将来上的 /automate(browser-skills Phase 2 P0)。

设计思路

作者把抓取拆成 Match → Prototype 两层:能被现有 browser-skill 命中就直接跑命中的那个;命不中再用 $B 原语手写原型。这避免了「同一类抓取被反复重写」。

工作流

Step 1 Determine intent — 用户给一行意图("top stories on Hacker News"),没给就只问一次;② Step 2 Refuse mutating intents — 出现 submit / post / send / log in / click X / fill the form / delete / create / order / book 之类动词,回复「/scrape is read-only…」并停止;③ Step 3 Match — 跑 $B skill list 列出现有 browser-skill,再用 $B skill show <name> 读它们的 triggers: / description: / host:,三件事都对得上才视为命中(host 域、triggers 描述同一份数据、不要它没声明的 args)。命中跑 $B skill run <name> [--arg key=value ...];④ Step 4 Prototype — 没命中走 $B goto / snapshot --text / html / links 这套原语手写抓取,迭代选择器,输出 stable JSON shape({"items":[...],"count":N});⑤ Step 5 Skillify nudge — 写完原型主动建议沉淀为 browser-skill。

红线

本技能做写操作;不会自动登录;不会过 captcha;不会绕 robots——这些都是 /automate 的事,作者明确写了「Until then, use $B click / $B fill / $B type directly」。

适合的场景

  • 一次性把某网站的列表 / 表格 / 链接收集成 JSON
  • 已经有 browser-skill 仓库的团队,想把抓取流量先尝试命中既有 skill
  • 把抓取脚本稳定化、沉淀为可复用 skill

不适合

  • 需要登录态 / 写操作:见 automate,目前未发布就直接用 $B 原语
  • 抓的网站要求 API 接入:直接走 $B js "await fetch(...)" 或同等 API 客户端更可靠

配套

webapp-testing(同样基于 $B 但偏 QA)、web-artifacts-builder(拿到数据后做可分享的可视化)、skillify(把抓取原型沉淀成 browser-skill)、setup-browser-cookies(命中前置:导真实浏览器登录态)。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
通用
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
92 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@garrytan · v1.0.0 · 未声明 license
流狐 Token 估算
较高消耗
流狐接入估算
需简单配置
是否需要外部 API Key
未发现要求
检测到的系统要求
macOS · Linux · Windows
底层运行要求
Bun
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
  • Shell 执行
检测到的网络行为
允许外网请求
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 scrape.preview
作者没有在当前 SKILL.md 中定义固定输出样例。

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。