yesongyun/openclaw-cn/feishu-doc

Claude Code and agent skill by yesongyun/openclaw-cn

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

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

Install

npx vskill@latest install yesongyun/openclaw-cn/feishu-doc

SKILL.md

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

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
56
Repository forks
9
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 2 Apr 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yesongyun/openclaw-cn/feishu-doc/badge)](https://verified-skill.com/skills/yesongyun/openclaw-cn/feishu-doc)

Something wrong with this skill or its page? Tell us.