Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add xyva-yuangui/XyvaClaw --skill feishu-doc-extendedgit clone --depth 1 https://github.com/xyva-yuangui/XyvaClawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/xyva-yuangui/xyvaclaw/feishu-doc-extended)<a href="https://agentmods.dev/skills/xyva-yuangui/xyvaclaw/feishu-doc-extended"><img src="https://agentmods.dev/badge/skills/xyva-yuangui/xyvaclaw/feishu-doc-extended/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/xyva-yuangui/xyvaclaw/feishu-doc-extended"><img src="https://agentmods.dev/badge/skills/xyva-yuangui/xyvaclaw/feishu-doc-extended.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00005 | $0.01165 |
| Opus 5.5 | $0.00002 | $0.00466 |
| Sonnet 5.5 | $0.00001 | $0.00233 |
| Haiku 4.5 | $0.00001 | $0.00117 |
Grade A, and why
feishu-doc-extended scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Feishu Document Tool - Extended
飞书文档助手。触发后必须先询问用户确认,再执行操作。
| 触发场景 | 询问确认内容 |
|---|---|
| 创建文档 | 确认文档标题、内容来源、接收人 |
| 上传图片 | 确认图片路径、目标文档、插入位置 |
| 生成报告 | 确认报告主题、图表来源、文档结构 |
| 创建表格 | 确认表格数据、行列数、目标文档 |
执行流程: 触发 → 询问用户 → 用户确认 → 执行操作 → 返回文档链接
Full docs: read SKILL-REFERENCE.md
已合并 feishu-image-uploader 的全部功能
扩展功能:
- ✅ 上传图片到文档(单张/批量)
- ✅ 插入图片到指定位置
- ✅ 自动压缩(可选)、格式转换(JPG/PNG/WEBP)
- ✅ 创建表格
- ✅ 支持自动化报告脚本(生成图表 → 创建文档 → 插入图片)
Token 获取
从飞书配置自动获取 tenant access token。
新增 Actions
Upload Image (上传图片)
{
"action": "upload_image",
"file_path": "/path/to/image.png",
"image_type": "docx"
}
返回:
{
"image_key": "imgcnXXXXXXXXXX",
"success": true
}
Insert Image (插入图片)
{
"action": "insert_image",
"doc_token": "ABC123def",
"parent_id": "doxcnXXX",
"image_key": "imgcnXXX",
"after_position": 0
}
Create Table (创建表格)
{
"action": "create_table",
"doc_token": "ABC123def",
"parent_id": "doxcnXXX",
"table_data": [
["表头 1", "表头 2"],
["数据 1", "数据 2"],
["数据 3", "数据 4"]
],
"after_position": 0
}
完整工作流
生成带图表的报告
{
"action": "generate_report",
"title": "📊 行业调研报告",
"content": "# Title\n\n\n\n## Section\n\n",
"chart_files": [
"/path/to/chart1.png",
"/path/to/chart2.png"
]
}
流程:
- 创建文档
- 上传所有图片
- 插入图片块到文档
- 返回文档链接
当前推荐入口
cd ~/.openclaw/workspace/skills/feishu-doc-extended
python3 generate_ai_manju_report.py
配置
channels:
feishu:
tools:
doc_extended: true # 启用扩展版
auto_upload_images: true # 自动上传图片
Python API(原 feishu-image-uploader)
from feishu_image_uploader import FeishuImageUploader
uploader = FeishuImageUploader()
# 上传单张图片 → 获取 image_key
image_key = uploader.upload_to_drive('/path/to/image.png')
# 批量上传
image_keys = uploader.upload_multiple([
'/path/to/image1.png',
'/path/to/image2.png',
])
# 插入图片到文档
uploader.insert_to_docx(doc_id, parent_id, image_key)
# 自动生成报告并上传图片
uploader.generate_report_with_images(
title='📊 行业调研报告',
content='# Title\n\n\n\nText',
chart_files=['/path/to/chart1.png', '/path/to/chart2.png']
)
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- _meta.json 112 B
- auto_report_generator.py 4.9 KB runs code
- examples/README.md 716 B
- feishu_media_upload.py 16 KB runs code
- FIX-SUMMARY.md 3.6 KB
- generate_ai_manju_report.py 6.0 KB runs code
- OPENCLAW-LEARN.md 2.8 KB
- quick_report.py 666 B runs code
- README.md 4.2 KB
- scripts/check.py 399 B runs code
- USAGE.md 5.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 171 lines · 5 tokens per session scan A faad1261fca3
feishu-doc-extended is a skill published in the GitHub repository xyva-yuangui/XyvaClaw (21 stars, last pushed 2mo ago), licensed MIT. It adds 5 tokens to every session and 1,165 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
youdaonote
A command-line skill for managing Youdao Cloud Notes, a Chinese note-taking service. It supports notes, to-do items, saved web pages, searches, and folders.
google_workspace
Google Workspace via gog CLI — Gmail, Calendar, Drive, Contacts, Sheets, and Docs. Use when: the user asks to send/search Gmail, check calendar, manage Drive files, read or edit Sheets, export Docs, or look up contacts. NOT for: Google Cloud APIs, Firebase, or services outside Workspace.
notion
Notion API for creating and managing pages, databases, and blocks. Use when: user asks to create a Notion page, query a database, search notes, add content to Notion, or manage Notion workspace items. NOT for: local file editing (use readfile/writefile), Obsidian vaults (use obsidian skill), or real-time collaboration.
obsidian
Work with Obsidian vaults (plain Markdown notes). Use when: user asks to search notes, create notes, move/rename notes, or manage their Obsidian vault. NOT for: Notion pages (use notion skill), non-Markdown files, or Obsidian plugin configuration.
form-filling
Fill out online forms (Google Forms, Typeform and similar) or PDF, Word and DocuSign forms; prepare a reviewable draft and get approval before submitting or sending.
imap-smtp-email
Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip.188.com.