Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/chuancyzhang/deepseek-coworknpx agentmods add skills/chuancyzhang/deepseek-cowork/feishu-create-docWrote 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/chuancyzhang/deepseek-cowork/feishu-create-doc)<a href="https://agentmods.dev/skills/chuancyzhang/deepseek-cowork/feishu-create-doc"><img src="https://agentmods.dev/badge/skills/chuancyzhang/deepseek-cowork/feishu-create-doc/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/chuancyzhang/deepseek-cowork/feishu-create-doc"><img src="https://agentmods.dev/badge/skills/chuancyzhang/deepseek-cowork/feishu-create-doc.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.00037 | $0.01723 |
| Opus 5.5 | $0.00015 | $0.00689 |
| Sonnet 5.5 | $0.00007 | $0.00345 |
| Haiku 4.5 | $0.00004 | $0.00172 |
Grade A, and why
feishu-create-doc 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
feishu-create-doc
模块兼容:所有脚本均提供
.js和.mjs两个版本。优先使用.js,若报require is not defined错误则改用同名.mjs文件。
直接用 exec 执行,不要检查文件或环境。
常见上游
--markdown 入参可以来自其它技能的输出:
| 上游技能 | 用途 |
|---|---|
feishu-docx-download + extract.js |
把云盘里的 Word/PDF/PPT/Excel 等附件文件提取为纯文本,再写入新建的飞书文档 |
| feishu-fetch-doc | 把已有的飞书在线云文档内容(markdown 字段)作为新文档初始内容 |
| 用户消息 / 其它任意来源 | 直接传 --markdown "..." |
典型工作流:
feishu-drive list→feishu-docx-download下载并提取 → feishu-create-doc 创建新文档并写入提取的内容。
一次性创建 + 写入(禁止 create 后再 update)
⛔ 禁止先创建空文档再调用 feishu-update-doc 写入内容。create-doc.js 的 --markdown 参数支持创建时直接写入完整内容,一次 API 调用即可完成。
# ✅ 正确:创建时一次性传入内容
node ./create-doc.js --open-id "SENDER_OPEN_ID" --title "文档标题" --markdown "## 第一章\n内容..."
# ❌ 错误:分两步(多余 API 调用,标题/内容易不一致)
node ./create-doc.js --open-id "SENDER_OPEN_ID" --title "文档标题"
node ../feishu-update-doc/update-doc.js --doc-id "TOKEN" --mode append --markdown "..."
只有在以下情况才用 feishu-update-doc:
- 修改/追加已存在的文档(不是本次新建的)
- 创建后用户后续要求追加新内容
标题与回复格式(必须遵守)
--title必须与用户给出的标题逐字一致(含下划线_、空格、中英文括号等)。禁止擅自「美化」或改写标题。- 执行完脚本后,将返回 JSON 中的
reply完整发给用户(含 Markdown 链接[标题](doc_url),见脚本输出);并可同时附上doc_url字段,避免只写「点击查看」而无 URL。 - 用户要求在某个知识库中新建文档时:
- 若未给出
wiki节点 token:先用 feishu-search-doc(如list_wiki_spaces/wiki_nodes)列出候选空间或节点,请用户确认具体知识库与位置;说明应用/用户需对该知识库有创建权限。 - 取得
node_token后传入--wiki-node再创建;不要猜测 token。
- 若未给出
文件夹 / 知识库仅有名称、没有 token 时
当用户指定了云盘文件夹名称或知识库 / 节点名称,但未提供 folder_token / wiki 节点 token 时,不要猜测 token:先调用 feishu-search-doc 搜索,从返回 JSON 中取 create_doc_token 或对应字段,再执行本技能下的 create-doc.js。
- 云盘文件夹:
feishu-search-doc的drive/all --include-drive结果中文件夹的token→ 传给--folder-token - 知识库节点:
wiki_nodes结果中的node_token→ 传给--wiki-node
命令
node ./create-doc.js --open-id "SENDER_OPEN_ID" --title "文档标题" --markdown "Markdown内容"
可选:--folder-token TOKEN、--wiki-node TOKEN
必须确认的参数
| 参数 | 何时询问 |
|---|---|
--title |
用户未说明标题 |
--markdown |
用户未提供内容(明确要空文档可省略) |
What ships with it
2 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.
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 · 120 lines · 37 tokens per session scan A a70d1a92f31b
feishu-create-doc is a skill published in the GitHub repository chuancyzhang/deepseek-cowork (18 stars, last pushed today), licensed Apache-2.0. It adds 37 tokens to every session and 1,723 once invoked, about $0.0001 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
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…
instrument-data-to-allotrope
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…
apify-youtube-transcript-scraper
Get YouTube captions, timestamped quotations, SRT/VTT and translated transcripts for videos, channels and playlists through the harshmaur/youtube-transcript-scraper Apify Actor.
legal-hold
Issue, refresh, release, or report on legal holds — drafts the hold notice as .docx, updates legalhold fields in log.yaml, and calendars the next refresh. Use when the user says "issue a hold", "refresh hold", "release hold", or asks for a portfolio-wide hold status report.
baoyu-youtube-transcript
A tool for downloading the written captions, subtitles, chapter information, speaker labels, and cover image from a YouTube video using its URL or ID.
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.