Feishu (Lark) Doc Scraper
Extracts Feishu/Lark docs, wiki collections, sheets and Minutes transcripts into faithful local Markdown via the lark-cli API.
Docs & OfficeAdvanced★ 1,323⑂ 212AI score 8/10Last updated: Aug 8, 2026
What it does
- Classifies any Feishu/Lark URL (wiki node, docx, sheets, Minutes) and pulls the body programmatically through
lark-cli, writing it to disk viajq/scripts so the model never paraphrases source text. - Treats a collection/hub as a reference graph: extracts
<mention-doc>,<sheet>,<image>, cross-tenant and Minutes links with a bundled Python extractor and recurses breadth-first until every leaf is fetched. - Handles permission walls honestly — codes 131006/99991679 are server-side boundaries, so it switches to the owner-exported
.docxpath and restores heading levels from font sizes plusw:shdhighlights. - Uses the platform's native Minutes transcription API instead of re-running ASR on downloaded media.
- Ships a strict acceptance contract: residual rich-media tag grep must be empty, no U+FFFD replacement characters, docx output visually verified from a render,
sourcerecorded in frontmatter, and permission/image gaps listed explicitly.
Who it's for
- Teams on Feishu/Lark who need to migrate internal wikis into Obsidian or another local knowledge base
- Anyone archiving a multi-document collection without silently dropping references
- People preserving meeting transcripts with speaker labels and timestamps intact
- Prerequisites:
lark-cli(npm@larksuite/cli) authenticated to the tenant; the docx path also needspython-docxand pandoc
Example uses
- "Archive this whole Feishu wiki collection as Markdown" → resolves the node token to a doc token, recurses the reference graph, then greps for unresolved tags before stopping.
- "Just get the transcript from this 妙记 link" → device-flow login for the extra scope, then the native transcript endpoint.
- "This doc says permission denied" → confirms 131006, asks the owner for a
.docxexport, and converts it with heading/highlight restoration plus a visual diff.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/daymade/claude-code-skills/HEAD/feishu-doc-scraper/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the feishu-doc-scraper folder from the GitHub repo daymade/claude-code-skills into my ~/.claude/skills/feishu-doc-scraper/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/daymade/claude-code-skills.git && mkdir -p ~/.claude/skills && cp -r claude-code-skills/feishu-doc-scraper ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/daymade/claude-code-skills.git - Copy the skill into place:
mkdir -p ~/.claude/skills && cp -r claude-code-skills/feishu-doc-scraper ~/.claude/skills/ - Install the primary CLI:
npm i -g @larksuite/cli(verified against 1.0.32) - Authenticate
lark-cliagainst the target Feishu/Lark tenant; for Minutes transcripts, complete the device-flow login to grant the extra scope. - Add the proxy-bypass variable for Feishu domains:
export LARK_CLI_NO_PROXY=1(put it in your shell profile). - If you expect the docx path, also install
pip install python-docxandpandoc. - Restart Claude Code and ask something like "extract this Feishu doc to Markdown" with the URL to trigger the skill.
View source on GitHub ↗License: MIT