feishu-doc — Claude Code skill: what it does, how to install
Reads, creates, and edits Feishu documents using Markdown, and handles document comments directly from your AI agent.
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a claude-codeWhat feishu-doc does
This skill executes the feishu_doc tool with an action parameter to handle Feishu cloud documents. It parses the document token straight from a document link. You can read document text, append paragraphs, update specific blocks, or overwrite an entire page with Markdown.
Basic reading returns plain text and block statistics. When tables or images are present, run list_blocks to pull the full structured content. Markdown tables are not supported during document write operations. Keep this limitation in mind when exporting formatted data.
Comment actions include listing thread discussions and creating top-level document comments. Reply creation is not exposed in the SDK. The skill requires API permissions including docx:document, docx:document.block:convert, and drive:drive.
What it helps with
- read text and block statistics from a Feishu document
- create a Feishu document and populate it with Markdown content
- inspect structured blocks like tables and images
- list and post document-level comments
Example prompts for the agent
- Read the Feishu document with token ABC123def and summarize it.
- Create a new Feishu document titled Project Notes with Markdown bullet points.
- Fetch all comments for Feishu document doccn123c.
How to install feishu-doc
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a claude-code2Manually: put the files in place
~/.claude/skills/feishu-doc/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/feishu-doc/
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a codex2Manually: put the files in place
.agents/skills/feishu-doc/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a cursor2Manually: put the files in place
.cursor/skills/feishu-doc/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install m1heng/clawdbot-feishu feishu-doc2Manually: put the files in place
.github/skills/feishu-doc/SKILL.md1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a gemini-cli2Platform CLI
gemini skills install https://github.com/m1heng/clawdbot-feishu --path skills/feishu-docManually: put the files in place
.devin/skills/feishu-doc/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Similar
Questions about feishu-doc
How do I install feishu-doc in Claude Code?
Run npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a claude-code.
What does feishu-doc do?
It provides document manipulation and comment tracking for Feishu docx pages directly inside agent sessions.
Can feishu-doc create replies to existing comments?
No, reply creation is omitted in the SDK surface. The tool only supports reading reply threads and posting top-level document comments.
Source text
SKILL.md · MIT
---
name: feishu-doc
description: |
Feishu document read/write operations + comment management. Activate when user mentions Feishu docs, cloud docs, docx links, or document comments.
---
# Feishu Document Tool
Single tool `feishu_doc` with action parameter for all document operations including comment management.
## Token Extraction
From URL `https://xxx.feishu.cn/docx/ABC123def` → `doc_token` = `ABC123def`
From URL `https://xxx.feishu.cn/docs/doccn123c` → `doc_token` = `doccn123c`
## Actions
### Read Document
```json
{ "action": "read", "doc_token": "ABC123def" }
```
Returns: title, plain text content, block statistics. Check `hint` field - if present, structured content (tables, images) exists that requires `list_blocks`.
### Write Document (Replace All)
```json
{ "action": "write", "doc_token": "ABC123def", "content": "# Title\n\nMarkdown content..." }
```
Replaces entire document with markdown content. Supports: headings, lists, code blocks, quotes, links, images (`` auto-uploaded), bold/italic/strikethrough.
**Limitation:** Markdown tables are NOT supported.
### Create + Write (Atomic, Recommended)
```json
{
"action": "create_and_write",
"title": "New Document",
"content": "# Title\n\nMarkdown content..."
}
```
With folder:
```json
{
"action": "create_and_write",
"title": "New Document",
"content": "# Title\n\nMarkdown content...",
"folder_token": "fldcnXXX"
}
```
Creates the document and writes content in one call. Prefer this over separate `create` + `write`.
### Append Content
```json
{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }
```
Appends markdown to end of document.
### Create Document
```json
{ "action": "create", "title": "New Document" }
```
With folder:
```json
{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX" }
```
Creates an empty document (title only).
### List Blocks
```json
{ "action": "list_blocks", "doc_token": "ABC123def" }
```
Returns full block data including tables, images. Use this to read structured content.
### Get Single Block
```json
{ "action": "get_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
```
### Update Block Text
```json
{ "action": "update_block", "doc_token": "ABC123def", "block_id": "doxcnXXX", "content": "New text" }
```
### Delete Block
```json
{ "action": "delete_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
```
### List Comments
```json
{ "action": "list_comments", "doc_token": "ABC123def", "page_size": 50 }
```
Returns all comments for the document. Use `page_token` for pagination. Comments include `is_whole` field to distinguish between whole-document comments (true) and block-level comments (false).
### Get Single Comment
```json
{ "action": "get_comment", "doc_token": "ABC123def", "comment_id": "comment_xxx" }
```
### Create Comment
```json
{ "action": "create_comment", "doc_token": "ABC123def", "content": "Comment text" }
```
### List Comment Replies
```json
{ "action": "list_comment_replies", "doc_token": "ABC123def", "comment_id": "comment_xxx", "page_size": 50 }
```
`page_size` should be a positive integer. If omitted, tool defaults to `50`.
### Comment Write Scope
Current tool provides documented comment write action `create_comment` (global comment creation).
For replies, use `list_comment_replies` for retrieval; the reply creation endpoint is not exposed in current SDK surface.
## Reading Workflow
1. Start with `action: "read"` - get plain text + statistics
2. Check `block_types` in response for Table, Image, Code, etc.
3. If structured content exists, use `action: "list_blocks"` for full data
## Configuration
```yaml
channels:
feishu:
tools:
doc: true # default: true
```
**Note:** `feishu_wiki` depends on this tool - wiki page content is read/written via `feishu_doc`.
## Permissions
Required: `docx:document`, `docx:document:readonly`, `docx:document.block:convert`, `drive:drive`
For comment operations:
- Read comments: `docx:document.comment:read`
- Write comments: `docx:document.comment` (optional, for create_comment)
© m1heng · MIT · m1heng/clawdbot-feishu