Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add m1heng/clawdbot-feishu --skill feishu-doc -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/feishu-doc/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/feishu-doc/

Similar

pptx-reference-deck-analysis kimtth Reads a PPTX reference deck without changing it, covering structure, theme, typography, layouts, and OOXML. Use it before building a new deck from a reference. Claude Code CX Codex Cursor 2,500installs pptx-quality-gates kimtth Checks and repairs editable PPTX decks for geometry, accessibility, native objects, source lineage, and OOXML package integrity before delivery. Claude Code CX Codex Cursor 2,500installs pptx-deck-context kimtth Locks down deck narrative, source citations, and visual styling before any slides or PPTX objects are authored. Claude Code CX Codex Cursor 2,500installs cli-anything-libreoffice HKUDS Skill for creating and editing Writer, Calc, and Impress documents from the CLI without a GUI. Produces real ODF files (ZIP with XML) — useful when an AI agent needs to assemble a report, spreadsheet, or presentation programmatically. Claude Code CX Codex Cursor +1 669installs cli-anything-anygen HKUDS Provides a CLI wrapper around the AnyGen OpenAPI to build slides and diagrams. Useful when automating document workflows in AI agents. Claude Code CX Codex Cursor +1 465installs md-to-docx official github Turns a Markdown file into a Word document with a title page, table of contents and embedded PNGs. Useful when a .md draft has to reach people as .docx. GitHub Copilot 353installs pptx official anthropics This skill helps create, read, and edit .pptx files and .potx templates. Use it when building a deck or extracting slide text. Claude Code Claude.ai 241,433installs pdf official anthropics This skill lets an agent read, create, and edit PDF files, including forms and scanned documents. Use it when PDF work is part of the task. Claude Code Claude.ai 216,041installs

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 (`![](url)` 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

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor