SKILL.md
readonly

feishu-doc

작성자:openclaw
카테고리:
개발
323.5k
62.3k
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/ABC123defdoc_token = ABC123def

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.

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", "owner_open_id": "ou_xxx" }

With folder:

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

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

Create Table (Docx Table Block)

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

json
{
  "action": "write_table_cells",
  "doc_token": "ABC123def",
  "table_block_id": "doxcnTABLE",
  "values": [
    ["A1", "B1"],
    ["A2", "B2"]
  ]
}

Create Table With Values (One-step)

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

json
{
  "action": "upload_image",
  "doc_token": "ABC123def",
  "url": "https://example.com/image.png"
}

Or local path with position control:

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

json
{
  "action": "upload_file",
  "doc_token": "ABC123def",
  "url": "https://example.com/report.pdf"
}

Or local path:

json
{
  "action": "upload_file",
  "doc_token": "ABC123def",
  "file_path": "/tmp/report.pdf",
  "filename": "Q1-report.pdf"
}

Rules:

  • exactly one of url / file_path
  • optional filename override
  • optional parent_block_id

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

작업

install --global skills.sh
npx skills add openclaw/openclaw/extensions/feishu/skills/feishu-doc

사용 가이드

  1. 1. 설치 명령어 실행

    위의 설치 명령어를 복사하여 터미널에서 실행하세요.

  2. 2. 환경 변수 설정

    스킬 설명에 따라 MCP 클라이얰트에 필요한 환경 변수를 추가하세요.

  3. 3. 클라이얰트에서 사용

    MCP 호환 앱(Claude, Cursor 등)에서 이 스킬을 설정하고 활성화하세요.