---
title: "feishu-doc by m1heng · skilld"
canonical_url: "https://skilld.dev/gh/m1heng/clawdbot-feishu"
meta:
  description: "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… From m1heng/clawdbot-feishu."
  "og:description": "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… From m1heng/clawdbot-feishu."
  "og:title": "feishu-doc by m1heng"
  "twitter:description": "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… From m1heng/clawdbot-feishu."
  "twitter:title": "feishu-doc by m1heng"
---

`

[All skills](https://skilld.dev/skills)

[![m1heng avatar](https://skilld.dev/_img/avatar?url=https%3A%2F%2Fgithub.com%2Fm1heng.png%3Fsize%3D96)](https://skilld.dev/gh/m1heng)

# **/feishu-doc**

[@5f4418c](https://github.com/m1heng/clawdbot-feishu/commit/5f4418ce8f28f89d2d796a538ba104a943f0bbf2 "Your agent reads SKILL.md at commit 5f4418c")

by [m1heng](https://skilld.dev/gh/m1heng)· [m1heng](https://skilld.dev/gh/m1heng)/ [clawdbot-feishu](https://skilld.dev/gh/m1heng/clawdbot-feishu)·4.2k stars

 438

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

- 2 files
- 7.5 KB
- Updated 7 months ago
- [GitHub](https://github.com/m1heng/clawdbot-feishu/blob/5f4418ce8f28f89d2d796a538ba104a943f0bbf2/skills/feishu-doc/SKILL.md "View SKILL.md on GitHub")
- [1 warning](#third-party-checks "Third-party checks: 1 warning · 5 checks · Risk SAFE")

## SKILL.md

4 KB

**≈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](https://github.com/m1heng/clawdbot-feishu/blob/5f4418ce8f28f89d2d796a538ba104a943f0bbf2/skills/feishu-doc/SKILL.md)

## Third-party checks

<details>

<summary>1 warning16d5 checks · Risk SAFE</summary>



- 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

</details>

## Provenance

[Signed by skilld at 5f4418c.](https://github.com/m1heng/clawdbot-feishu/commit/5f4418ce8f28f89d2d796a538ba104a943f0bbf2 "5f4418ce8f28f89d2d796a538ba104a943f0bbf2") 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

## Topics

- [API](https://skilld.dev/skills/tag/api "REST/GraphQL/RPC design, client generation")
- feishu
- document
- markdown
- comments
- blocks
- read-write
- lark

## README badge

![README badge for m1heng/clawdbot-feishu](https://skilld.dev/b/m1heng/clawdbot-feishu?theme=light&label=0)

## What it does

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.

## Frequently asked

<details>

<summary>Can I read and write tables in Feishu documents?</summary>



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.

</details>

<details>

<summary>What's the difference between create and create_and_write?</summary>



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.

</details>

<details>

<summary>How do I handle images in document content?</summary>



Images in markdown format (!\[](url)) are automatically uploaded to Feishu when you write or append content.

</details>

<details>

<summary>Can I reply to comments?</summary>



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.

</details>

<details>

<summary>How do I extract the document token from a Feishu URL?</summary>



Take the alphanumeric string after /docx/ or /docs/ in the URL — for example, from https://xxx.feishu.cn/docx/ABC123def, the token is ABC123def.

</details>

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

## Related skills

-
-
-
-
-
-