Agent skill

Larksnap Fetch

by AmbroseX in AmbroseX/larksnap

把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

Apache-2.0Auto-check passedResearch & Science

Install Larksnap Fetch

skills CLI
$ npx skills add AmbroseX/larksnap --skill larksnap-fetch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AmbroseX/larksnap larksnap-fetch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AmbroseX/larksnap.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/larksnap-fetch .claude/skills/larksnap-fetch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
larksnap-fetch
GitHub stars
291
Token cost
~923 tokens
SKILL.md length
207 words
Files
18 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

  • Works in 3 steps: 直接运行上面的命令(用户给的链接 +… → 非 0 退出 → 解析 stderr 最后一行 JSON,按 hint… → 退出码 0 → 把 stdout 里列出的写入文件告诉用户(路径形如…
  • Tasks that involve Messaging and chat bots
  • SKILL.md covers 用法, 网页搜索, 编辑飞书文档(写入 Markdown 内容) and 普通网页与小红书, plus 4 more sections
  • Runs JavaScript scripts from its folder; calls node; reaches xxx.feishu.cn

What it does

Larksnap Fetch is an agent skill from AmbroseX/larksnap. 把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

Its SKILL.md is about 920 tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including scripts and reference files (for example `references/arxiv.md`, `references/edit.md` and `references/errors.md`).

It sits in Research & Science, covering Messaging and chat bots and Academic paper search. It works with arXiv, Bilibili, Feishu (Lark) and YouTube. The repository describes itself as: 飞书 / Lark 文档导出浏览器扩展(MV3)—— 持登录态直导私有化部署与 「官方导出已关闭」的文档,把 Markdown 写回飞书文档;任意网页转 Markdown、整页截图、 AI 总结、解除复制、下载视频,并可桥接 Claude Code / CLI 落到本地目录. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Messaging and chat bots
  • Tasks that involve Academic paper search

Example prompts

  • “/larksnap-fetch”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. 直接运行上面的命令(用户给的链接 + 用户指定的本地目录;用户没指定目录时,默认落到当前工作目录)。daemon 会被自动拉起。
  2. 非 0 退出 → 解析 stderr 最后一行 JSON,按 hint 执行,不要自行猜测
  3. 退出码 0 → 把 stdout 里列出的写入文件告诉用户(路径形如 <文档名>/<文档名>.md)。

What it can do on your machine

Read from SKILL.md and the folder at commit 1441ff6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 10 files in scripts/ (JavaScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • xxx.feishu.cn

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Larksnap Fetch loads about 923 tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 45 tokens; SKILL.md has 207 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~923
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from AmbroseX/larksnap at commit 1441ff6, republished under its Apache-2.0 licence (© AmbroseX). 207 words, ~923 tokens.

Download SKILL.mdSave it as .claude/skills/larksnap-fetch/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.
name
larksnap-fetch
description
把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

larksnap-fetch

在任意项目的 Claude Code 里「扔一个飞书链接 → 落到本地目录」。本技能不直接请求飞书,而是把任务 交给已登录的 larksnap 浏览器扩展(它持有 cookie 与导出引擎)。

CC ──fetch.mjs(一次性)──HTTP /command──▶ daemon ──WebSocket──▶ Chrome 扩展
                                          ▲ 127.0.0.1:19925     └ 后台开标签页跑导出
                                          └ 流式回传进度/产物 ──▶ 解包到 <输出目录>/<文档名>/

本技能自包含:daemon 与协议代码已随技能打包在 scripts/bridge/ 里,fetch.mjs 拉起的是 技能内部那份 daemon,不依赖 larksnap 仓库的目录结构,因此可从任何项目调用。唯一的外部依赖是 那个装在 Chrome 里、已登录飞书的扩展(扩展无法塞进技能,只能在浏览器里加载一次,见 references/setup.md)。

每篇文档落到自己的子文件夹(以文档标题命名),不和其它文件平铺混在一起:

<输出目录>/
└── 无监督数据修复/          ← 文档标题命名的文件夹
    ├── 无监督数据修复.md
    └── images/              ← 图片用相对路径内联引用
        └── xxx.png
  • 扩展是 WS 客户端,主动连出到本地 daemon —— 无 native messaging、无系统级安装。
  • daemon 由本技能按需自动拉起、持久存活(空闲 30 分钟自退),只绑 127.0.0.1。
  • fetch.mjs 一次性:跑完即退,不常驻。

用法

bash
node ~/.claude/skills/larksnap-fetch/scripts/fetch.mjs <飞书链接> <输出目录> [--format md|pdf|html] [--profile <code>]
  • <输出目录> 是父目录;产物会落到 <输出目录>/<文档名>/ 子文件夹里(每篇文档独立成夹,互不混淆)。
  • --format 缺省 md。md/html 会把图片下载并以相对路径内联到该子文件夹的 images/;pdf 视租户能力而定。
  • 进度打到 stderr,结果路径打到 stdout(✓ 已导出到 后是该文档的子文件夹绝对路径)。
  • --profile <code>:当有多个浏览器 profile 同时连到 daemon 时,指定用哪一个(code 见扩展弹窗的 Profile,可点 Copy 复制)。只有一个时无需指定。

退出码:0 成功 | 1 失败 | 2 用法错 | 3 需登录 | 4 需授权域名 | 5 桥接未就绪。

网页搜索

需要搜索资料、找参考链接或从搜索结果继续抓正文时,读取 references/search.md。 搜索与 fetch 共用本技能的 daemon 和 bridge,脚本入口是 scripts/search.mjs。

编辑飞书文档(写入 Markdown 内容)

需要新建、追加、插入、替换、删除或检索飞书文档块时,读取 references/edit.md。 编辑与 fetch 共用本技能的 daemon 和 bridge,脚本入口是 scripts/edit.mjs。

普通网页与小红书

链接不是飞书文档时,fetch.mjs 自动走普通网页管线(整页转 Markdown),命令不变,只支持 md, 图片保留外链。小红书有专属适配器,要求登录 + 带 xsec_token 的完整分享链接,图片会本地化。 抓普通网页失败、或要抓小红书时,读取 references/webpage.md。

arXiv 论文

arXiv 链接或裸 ID 不走 daemon/扩展,用独立脚本一次下载 PDF + HTML + Markdown:

bash
node ~/.claude/skills/larksnap-fetch/scripts/arxiv.mjs <arXiv链接或ID> <输出目录> [--pdf-only|--html-only]

细节(ID 格式兼容、没有 HTML 版属正常不要重试)见 references/arxiv.md。

执行流程(CC 按此操作)

  1. 直接运行上面的命令(用户给的链接 + 用户指定的本地目录;用户没指定目录时,默认落到当前工作目录)。daemon 会被自动拉起。
  2. 非 0 退出 → 解析 stderr 最后一行 JSON,按 hint 执行,不要自行猜测:
    • retryable: true → 按 hint 做完(如点扩展图标唤醒)直接重跑同一条命令,同样的错误连续出现 2 次就停下问用户。
    • retryable: false → hint 里需要用户操作的(登录/授权域名),把 hint 转述给用户,等用户确认完成后重跑。
  3. 退出码 0 → 把 stdout 里列出的写入文件告诉用户(路径形如 <文档名>/<文档名>.md)。 产物在 <输出目录>/<文档名>/ 子文件夹里(md 含 images/ 子目录用相对路径引用),每篇文档独立成夹。
完整工作流示例(未登录 → 自愈 → 成功)
第 1 步  node .../fetch.mjs https://xxx.feishu.cn/docx/AbCd... ./notes
        → 退出码 3,JSON: {"subtype":"need_login","hint":"让用户在 Chrome 中打开该文档域名并登录飞书…"}
第 2 步  对用户说:「需要先在 Chrome 里登录 xxx.feishu.cn 的飞书,登录好了告诉我。」
第 3 步  用户确认后,原样重跑第 1 步命令
        → 退出码 0,stdout 列出写入文件 → 告诉用户产物路径,结束。

错误契约(AI 按此分支,不要解析散文)

任何非 0 退出时,stderr 的最后一行是一行 JSON,前面几行是给人读的散文:

json
{"ok":false,"error":{"type":"authentication","subtype":"need_login","message":"…","hint":"让用户在 Chrome 中打开该文档域名并登录飞书,登录完成后重跑本命令。","retryable":false}}
  • hint = 下一步做什么(命令式,照着执行),不要自行猜测;
  • retryable: true = 直接重跑本命令就可能成功;false = 先按 hint 行动(通常需要用户操作)再重跑。
  • 退出码:0 成功 | 1 失败 | 2 用法错 | 3 需登录 | 4 需授权域名 | 5 桥接未就绪。

完整的 type/subtype 枚举表与各类错误的真实输出样例,见 references/errors.md。

安装与排查

首次装扩展、daemon 连不上、端口冲突、图片缺失、以及扩展侧边栏发起的网页视频下载(需 yt-dlp), 见 references/setup.md。

© AmbroseX, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 17 other files (scripts, references) in skills/larksnap-fetch of AmbroseX/larksnap.

  • SKILL.md
  • references/arxiv.md
  • references/edit.md
  • references/errors.md
  • references/search.md
  • references/setup.md
  • references/webpage.md
  • scripts/arxiv.mjs
  • scripts/bridge/client.mjs
  • scripts/bridge/daemon.mjs
  • scripts/bridge/protocol.mjs
  • scripts/bridge/video.mjs
  • scripts/edit.mjs
  • scripts/fetch.mjs
  • scripts/search.mjs
  • scripts/unzip.mjs
  • scripts/vendor/entry.mjs
  • … and 1 more

Open the folder on GitHubat commit 1441ff6

Compare with similar skills

Larksnap Fetch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Larksnap Fetch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Larksnap Fetch this skillAmbroseX/larksnap291—~923Automated safety check: PassApache-2.0
Literature Discovery PipelineYuan1z0825/nature-skills47k2 repos~1.2kAutomated safety check: PassMIT
Insane Searchfivetaku/gptaku-plugins-codex128—~5.6kAutomated safety check: PassMIT
Chrome Daily Update Checkdragon-hh/ai-boshu-crawler106—~1.3kAutomated safety check: PassNone
Feishu Literature ManagerLeoYeAI/openclaw-master-skills2.2k—~4.2kAutomated safety check: PassMIT
Add Creator To Feishudragon-hh/ai-boshu-crawler106—~2.4kAutomated safety check: PassNone

Similar skills

  • Literature Discovery Pipeline

    Yuan1z0825/nature-skills

    Runs a daily literature pipeline: multi-source search, six-dimension scoring, fine reading, formatted delivery to a chat channel and archival of the notes.

    47k GitHub starsUsed in 2 repos~1.2k tokens
    Research & ScienceAuto-check passed
  • Insane Search

    fivetaku/gptaku-plugins-codex

    Adaptive access for blocked websites — tries every method until one works.

    128 GitHub stars~5.6k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Chrome Daily Update Check

    dragon-hh/ai-boshu-crawler

    Run the AI blogger crawler daily update check for Bilibili, Douyin, Xiaohongshu, and YouTube with Chrome producers only where required, the merged Xiaohongshu profile-video skill, and the yt-dlp…

    106 GitHub stars~1.3k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Feishu Literature Manager

    LeoYeAI/openclaw-master-skills

    Automated literature retrieval and Feishu Bitable management.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Research & ScienceAuto-check passed
  • Add Creator To Feishu

    dragon-hh/ai-boshu-crawler

    Add Bilibili, Douyin, Xiaohongshu, or YouTube creator homepages to this project's Feishu Base 博主 table from only creator homepage URLs.

    106 GitHub stars~2.4k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Qiaomu Opencli Usage

    joeseesun/qiaomu-opencli-skills

    A skill your agent uses when running OpenCLI commands to interact with websites (Bilibili, Twitter, Reddit, Xiaohongshu, etc.), desktop apps (Cursor, Notion), or public APIs (HackerNews, arXiv).

    993 GitHub stars~3k tokensUpdated 6 mo ago
    Research & ScienceAuto-check passed

Questions about Larksnap Fetch

What does Larksnap Fetch do?

把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。. Larksnap Fetch is an agent skill from AmbroseX/larksnap.

When should I use Larksnap Fetch?

Larksnap Fetch fits situations like: tasks that involve Messaging and chat bots; tasks that involve Academic paper search.

How do I install Larksnap Fetch in Claude Code?

Run `npx skills add AmbroseX/larksnap --skill larksnap-fetch -a claude-code`. Or copy the skill folder (skills/larksnap-fetch in AmbroseX/larksnap) into .claude/skills/larksnap-fetch in your project. Claude Code loads it when a task matches its description.

How do I install Larksnap Fetch in Codex?

Run `npx skills add AmbroseX/larksnap --skill larksnap-fetch -a codex`. Or copy the skill folder (skills/larksnap-fetch in AmbroseX/larksnap) into .agents/skills/larksnap-fetch in your project. Codex loads it when a task matches its description.

Can I use Larksnap Fetch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AmbroseX/larksnap --skill larksnap-fetch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/larksnap-fetch, .gemini/skills/larksnap-fetch, .github/skills/larksnap-fetch and .opencode/skills/larksnap-fetch in your project.

What does Larksnap Fetch need to run?

Going by SKILL.md and its folder, Larksnap Fetch needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.

Does Larksnap Fetch access the network?

SKILL.md names 1 domain. In commands or code: xxx.feishu.cn; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Larksnap Fetch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Larksnap Fetch use?

Larksnap Fetch is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Larksnap Fetch use?

About 923 tokens (SKILL.md is roughly 3.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.

What are the alternatives to Larksnap Fetch?

Skills that share tags, products or a category with Larksnap Fetch: Literature Discovery Pipeline (Yuan1z0825/nature-skills, 47k stars), Insane Search (fivetaku/gptaku-plugins-codex, 128 stars), Chrome Daily Update Check (dragon-hh/ai-boshu-crawler, 106 stars) and Feishu Literature Manager (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Larksnap Fetch?

AmbroseX (a GitHub user) maintains it in AmbroseX/larksnap, which has 291 GitHub stars. The repository was last updated on September 9, 2026.

Source: AmbroseX/larksnap on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.