feishu-docClaude Skill
Feishu document read/write operations.
| name | feishu-doc |
| description | Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links. |
Feishu Document Tool
Single tool feishu_doc with action parameter for all document operations, including table creation for Docx.
Token Extraction
From URL https://xxx.feishu.cn/docx/ABC123def → doc_token = ABC123def
Actions
Read Document
{ "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)
{ "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.
Append Content
{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }
Appends markdown to end of document.
Create Document
{ "action": "create", "title": "New Document", "owner_open_id": "ou_xxx" }
With folder:
{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX", "owner_open_id": "ou_xxx" }
Important: Always pass owner_open_id with the requesting user's open_id (from inbound metadata sender_id) so the user automatically gets full_access permission on the created document. Without this, only the bot app has access.
List Blocks
{ "action": "list_blocks", "doc_token": "ABC123def" }
Returns full block data including tables, images. Use this to read structured content.
Get Single Block
{ "action": "get_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
Update Block Text
{ "action": "update_block", "doc_token": "ABC123def", "block_id": "doxcnXXX", "content": "New text" }
Delete Block
{ "action": "delete_block", "doc_token": "ABC123def", "block_id": "doxcnXXX" }
Create Table (Docx Table Block)
{ "action": "create_table", "doc_token": "ABC123def", "row_size": 2, "column_size": 2, "column_width": [200, 200] }
Optional: parent_block_id to insert under a specific block.
Write Table Cells
{ "action": "write_table_cells", "doc_token": "ABC123def", "table_block_id": "doxcnTABLE", "values": [ ["A1", "B1"], ["A2", "B2"] ] }
Create Table With Values (One-step)
{ "action": "create_table_with_values", "doc_token": "ABC123def", "row_size": 2, "column_size": 2, "column_width": [200, 200], "values": [ ["A1", "B1"], ["A2", "B2"] ] }
Optional: parent_block_id to insert under a specific block.
Upload Image to Docx (from URL or local file)
{ "action": "upload_image", "doc_token": "ABC123def", "url": "https://example.com/image.png" }
Or local path with position control:
{ "action": "upload_image", "doc_token": "ABC123def", "file_path": "/tmp/image.png", "parent_block_id": "doxcnParent", "index": 5 }
Optional index (0-based) inserts the image at a specific position among sibling blocks. Omit to append at end.
Note: Image display size is determined by the uploaded image's pixel dimensions. For small images (e.g. 480x270 GIFs), scale to 800px+ width before uploading to ensure proper display.
Upload File Attachment to Docx (from URL or local file)
{ "action": "upload_file", "doc_token": "ABC123def", "url": "https://example.com/report.pdf" }
Or local path:
{ "action": "upload_file", "doc_token": "ABC123def", "file_path": "/tmp/report.pdf", "filename": "Q1-report.pdf" }
Rules:
- exactly one of
url/file_path - optional
filenameoverride - optional
parent_block_id
Reading Workflow
- Start with
action: "read"- get plain text + statistics - Check
block_typesin response for Table, Image, Code, etc. - If structured content exists, use
action: "list_blocks"for full data
Configuration
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
Similar Claude Skills & Agent Workflows
outlook-automation
Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments.
one-drive-automation
Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio).
notion-automation
Automate Notion tasks via Rube MCP (Composio): pages, databases, blocks, comments, users.
mailchimp-automation
Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio).
google-drive-automation
Automate Google Drive file operations (upload, download, search, share, organize) via Rube MCP (Composio).
gmail-automation
Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments.