All skills
m1heng avatar

/feishu-doc

@5f4418c
by m1hengm1heng/clawdbot-feishu4.2k stars
438

Feishu document read/write operations + comment management. Activate when user mentions Feishu docs, cloud docs, docx links, or document comments.

Use this Skill: https://skilld.dev/gh/m1heng/clawdbot-feishu/feishu-doc

This session only. Nothing lands on disk.

SKILL.md

≈40 tokens always: the name and description. ≈985 when used: this file. ≈898 more on demand in 1 file.

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

{ "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 (![](url) auto-uploaded), bold/italic/strikethrough.

Limitation: Markdown tables are NOT supported.

Create + Write (Atomic, Recommended)

{
  "action": "create_and_write",
  "title": "New Document",
  "content": "# Title\n\nMarkdown content..."
}

With folder:

{
  "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

{ "action": "append", "doc_token": "ABC123def", "content": "Additional content" }

Appends markdown to end of document.

Create Document

{ "action": "create", "title": "New Document" }

With folder:

{ "action": "create", "title": "New Document", "folder_token": "fldcnXXX" }

Creates an empty document (title only).

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" }

List Comments

{ "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

{ "action": "get_comment", "doc_token": "ABC123def", "comment_id": "comment_xxx" }

Create Comment

{ "action": "create_comment", "doc_token": "ABC123def", "content": "Comment text" }

List Comment Replies

{ "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

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)

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill is generally safe, but it interacts with external document content from Feishu/Lark which could potentially contain instructions that mislead the AI agent (indirect prompt injection).

  • Socket16d

    No alerts

  • Snyk16d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    2 files scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 5f4418c. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Dormantupdated 7 months ago
  • API
  • feishu
  • document
  • markdown
  • comments
  • blocks
  • read-write
  • lark

README badge

README badge for m1heng/clawdbot-feishu

Reads, writes, and appends Feishu document content via token-based API; also manages document and block-level comments. Targets the Feishu cloud docs platform and handles markdown conversion, block operations, and comment threads with pagination support.

Generated from the current SKILL.md.

Can I read and write tables in Feishu documents?
You can read tables using the list_blocks action, which returns full structured data. However, markdown table syntax is not supported when writing — use list_blocks to inspect table structure and update individual blocks instead.
What's the difference between create and create_and_write?
create_and_write is atomic and recommended — it creates the document and writes content in a single call. Use create only if you need an empty document first.
How do I handle images in document content?
Images in markdown format (![](url)) are automatically uploaded to Feishu when you write or append content.
Can I reply to comments?
You can list replies to a comment using list_comment_replies, but the skill does not expose a reply creation endpoint — only global comment creation is supported.
How do I extract the document token from a Feishu URL?
Take the alphanumeric string after /docx/ or /docs/ in the URL — for example, from https://xxx.feishu.cn/docx/ABC123def, the token is ABC123def.

Generated from the current SKILL.md. These answers refresh after source changes.