feishu-doc-scraper
An agent skill by daymade, from daymade/claude-code-skills. Tags: automation, documents, markdown, slack, spreadsheets.
What it does
Extract Feishu (Lark) Docs, Wiki pages/collections, spreadsheets, and Minutes (妙记) transcripts into faithful local Markdown via the lark-cli API (no LLM rewriting of the body; browser-DOM fallback when lark-cli can't reach the content). Use whenever the source is a Feishu/Lark URL and fidelity matters — 导出飞书文档/合集/妙记转写, 把飞书 wiki/知识库转 markdown, archiving a Feishu collection, exporting a 妙记 transcript, or saving a Feishu page — even if the user only says clipping, archiving, converting, or "save this". Also covers the owner-exported .docx → faithful Markdown path. Document reading includes comments, feedback and all replies in the selected solved scope; Minutes comments are outside this capability.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add daymade/claude-code-skills --skill feishu-doc-scraper
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/feishu-doc-scraper ~/.claude/skills/feishu-doc-scraper
Safety box score
Grade D, elevated risk: 49 of 100 risk points, rated 2026-10-21. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This is a specialized Feishu/Lark scraper and archive helper: it fetches authenticated document bodies, comments, images, minutes, and previews, then converts them into local Markdown and sidecar files. The main blast radius is access to the user's Feishu content and browser/session cookies, plus native local conversion tools; most writes are intended to stay inside the chosen archive tree. Several core fallback/verification files were not inspectable in this pass, so part of the behavior remains opaque.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 2 (moderate) | The shipped scripts invoke local binaries and subprocesses (`pandoc`, `ffprobe`) on extracted content, so using the skill runs native code on downloaded documents/media. |
| Network access | 2 (moderate) | It actively fetches Feishu pages, internal image streams, comment data, and preview bytes over HTTPS via `lark-cli`, `requests`, and `urllib.request`. |
| Filesystem reach | 1 (low) | It writes local outputs, sidecars, and caches such as `media/...`, `discussion/comments.md`, `.part`, `.ranges.json`, and `.verified.json`, but the reviewed code generally confines them to the chosen archive/work directory. |
| Secrets & credentials | 3 (high) | The fallback downloader reads the user's Chrome cookies (`browser_cookie3.chrome()`) and reuses them in authenticated requests, so it touches browser-session secrets. |
| Privilege & persistence | 1 (low) | It asks for dependency installs (`pip install browser_cookie3 requests`, `python-docx`) and CLI auth setup, but there is no sudo, service registration, or shell/OS setting change in the reviewed code. |
| Instruction hijack surface | 0 (none) | No hidden prompt-injection text or instructions to ignore the agent's rules were present; the imperative text is workflow guidance, not model-control content. |
| Irreversible actions | 1 (low) | The skill can recursively crawl collections and export comments/media, but it does not push, post, delete, pay, or deploy externally. |
| Transparency | 2 (moderate) | Several core files were not inspectable in this pass (`scripts/feishu_dom_capture.js`, `scripts/fetch_comments.py`, `scripts/check_reader_delivery.py`, `references/lark-cli-api-extraction.md`), leaving the most complex fallback paths partly opaque. |
Before installing
- Read `scripts/download_feishu_images.py` first; it pulls cookies from your Chrome profile.
- Inspect the unread helper files (`scripts/feishu_dom_capture.js`, `scripts/fetch_comments.py`, `scripts/check_reader_delivery.py`) before relying on browser/comment/delivery flows.
- Run it once in a disposable Feishu account/profile, because it fetches authenticated private content and may invoke local converters like Pandoc and ffprobe.
Rated 2026-10-21 by an automated review of 21 files from the skill's repository.
Source
- Repository
- daymade/claude-code-skills (all skills from this repository)
- Path
- feishu-doc-scraper/SKILL.md
- Branch
- main
- Updated
- 2026-09-20
Related skills
- knap — Render Markdown from templates and structured data using Knap CLI.
- obsidian-bases — Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files.
- Make Bot UI — Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key.
- setup-benny — Configure Benny and prepare its triage and repro automations.
- stitch::extract-static-html — Extract self-contained static HTML from a built web application or React components by inlining CSS and images.
- stitch::manage-design-system — Manage design systems in Stitch using MCP tools. Includes retrieval of assets, creating/updating design systems in Stitch, and applying them to screens.