feishu-fetch-doc
This Claude Code skill retrieves Markdown content from Feishu (Lark) cloud documents, supporting both direct document URLs and tokens as input. Use it when you need to access the text content of Feishu documents, but note that embedded images, files, and whiteboards require separate downloads using the feishu_doc_media tool, and wiki URLs must first be resolved through feishu_wiki_space_node to determine the actual document type.
git clone --depth 1 https://github.com/nexu-io/nexu /tmp/feishu-fetch-doc && cp -r /tmp/feishu-fetch-doc/nexu-skills/skills/feishu-fetch-doc ~/.claude/skills/feishu-fetch-docSKILL.md
# feishu_mcp_fetch_doc
获取飞书云文档的 Markdown 内容(Lark-flavored 格式)。
## 重要:图片、文件、画板的处理
**文档中的图片、文件、画板需要通过 `feishu_doc_media`(action: download)工具单独获取!**
### 识别格式
返回的 Markdown 中,媒体文件以 HTML 标签形式出现:
- **图片**:
```html
<image token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc" width="1833" height="2491" align="center"/>
```
- **文件**:
```html
<view type="1">
<file token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc" name="skills.zip"/>
</view>
```
- **画板**:
```html
<whiteboard token="Z1FjxxxxxxxxxxxxxxxxxxxtnAc"/>
```
### 获取步骤
1. 从 HTML 标签中提取 `token` 属性值
2. 调用 `feishu_doc_media` 下载:
```json
{
"action": "download",
"resource_token": "提取的token",
"resource_type": "media",
"output_path": "/path/to/save/file"
}
```
## 参数
- **`doc_id`**(必填):支持直接传文档 URL 或 token
- 直接传 URL:`https://xxx.feishu.cn/docx/Z1FjxxxxxxxxxxxxxxxxxxxtnAc`(系统自动提取 token)
- 直接传 token:`Z1FjxxxxxxxxxxxxxxxxxxxtnAc`
- 知识库 URL/token 也支持:`https://xxx.feishu.cn/wiki/Z1FjxxxxxxxxxxxxxxxxxxxtnAc` 或 `Z1FjxxxxxxxxxxxxxxxxxxxtnAc`
## Wiki URL 处理策略
知识库链接(`/wiki/TOKEN`)背后可能是云文档、电子表格、多维表格等不同类型的文档。当不确定类型时, **不能直接假设是云文档**,必须先查询实际类型。
### 处理流程
1. **先调用 `feishu_wiki_space_node`(action: get)解析 wiki token**:
```json
{ "action": "get", "token": "wiki_token_here" }
```
2. **从返回的 `node` 中获取 `obj_type`(实际文档类型)和 `obj_token`(实际文档 token)**
3. **根据 `obj_type` 调用对应工具**:
| obj_type | 工具 | 传参 |
|----------|------|------|
| `docx` | `feishu_mcp_fetch_doc` | doc_id = obj_token |
| `sheet` | `feishu_sheet` | spreadsheet_token = obj_token |
| `bitable` | `feishu_bitable_*` 系列 | app_token = obj_token |
| 其他 | 告知用户暂不支持该类型 | — |
### 示例
用户:`帮我看下这个文档 https://xxx.feishu.cn/wiki/ABC123`
1. 调用 `feishu_wiki_space_node`(action: get, token: ABC123)
2. 返回 `obj_type: "docx"`, `obj_token: "doxcnXYZ789"`
3. 调用 `feishu_mcp_fetch_doc`(doc_id: doxcnXYZ789)
## 工具组合
| 需求 | 工具 |
|------|------|
| 获取文档文本 | `feishu_mcp_fetch_doc` |
| 下载图片/文件/画板 | `feishu_doc_media`(action: download) |
| 解析 wiki token 类型 | `feishu_wiki_space_node`(action: get) |
| 读写电子表格 | `feishu_sheet` |
| 操作多维表格 | `feishu_bitable_*` 系列 |Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), thread-bound ACP harness requests in chat (for example spawn/run Codex or Claude Code in a Discord thread; use sessions_spawn with runtime:"acp"), or any work in ~/clawd workspace (never spawn agents here). Claude Code: use --print --permission-mode bypassPermissions (no PTY). Codex/Pi/OpenCode: pty:true required.
Use when the user says "check Datadog", "查 Datadog", "查日志", "check logs", "crash logs", "查 crash", "gateway crash", "查告警", "check alerts", "check metrics", or needs to investigate production issues via Datadog Logs API.
|
Send feedback to the Nexu team. Use when the user says /feedback followed by their message.
|
|
|