with one click
创建飞书云文档。使用当前用户的个人 OAuth token。标题须与用户输入逐字一致;成功回复含 Markdown 文档链接。
npx skills add https://github.com/hashSTACS-Global/EnClaws --skill feishu-create-docCopy and paste this command into Claude Code to install the skill
创建飞书云文档。使用当前用户的个人 OAuth token。标题须与用户输入逐字一致;成功回复含 Markdown 文档链接。
npx skills add https://github.com/hashSTACS-Global/EnClaws --skill feishu-create-docCopy and paste this command into Claude Code to install the skill
通过飞书交互式卡片向用户提问并等待回答。支持单选、多选和自由文本输入。工具调用后立即返回,用户答案将以新消息形式回传。
为当前用户完成飞书个人 OAuth 授权。在任何会话过程中,当需要用户授权时,始终执行本技能的授权流程。
飞书多维表格管理。支持创建/查询/更新应用、数据表、字段、记录和视图的完整操作。
飞书日历与日程管理。支持日程 CRUD、参与者管理、忙闲查询。
飞书群组管理。支持按关键词搜索群组、获取群详情、列出群成员(排除机器人)。使用当前用户个人 OAuth token。
飞书云文档评论管理。支持获取评论列表(含完整回复)、创建全文评论、解决/恢复评论。 支持 wiki token 自动转换为实际文档 token。
| name | feishu-create-doc |
| description | 创建飞书云文档。使用当前用户的个人 OAuth token。标题须与用户输入逐字一致;成功回复含 Markdown 文档链接。 |
| overrides | feishu_create_doc, feishu_pre_auth |
| inline | true |
模块兼容:所有脚本均提供
.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 创建新文档并写入提取的内容。
⛔ 禁止先创建空文档再调用 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 必须与用户给出的标题逐字一致(含下划线 _、空格、中英文括号等)。禁止擅自「美化」或改写标题。reply 完整发给用户(含 Markdown 链接 [标题](doc_url),见脚本输出);并可同时附上 doc_url 字段,避免只写「点击查看」而无 URL。wiki 节点 token:先用 feishu-search-doc(如 list_wiki_spaces / wiki_nodes)列出候选空间或节点,请用户确认具体知识库与位置;说明应用/用户需对该知识库有创建权限。node_token 后传入 --wiki-node 再创建;不要猜测 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-tokenwiki_nodes 结果中的 node_token → 传给 --wiki-nodenode ./create-doc.js --open-id "SENDER_OPEN_ID" --title "文档标题" --markdown "Markdown内容"
可选:--folder-token TOKEN、--wiki-node TOKEN
| 参数 | 何时询问 |
|---|---|
--title | 用户未说明标题 |
--markdown | 用户未提供内容(明确要空文档可省略) |
脚本返回 JSON,将 reply 字段原样、完整输出给用户(勿截断);reply 中已包含可点击的 Markdown 文档链接。
若返回 {"error":"auth_required"} 或 {"error":"permission_required"},不要询问用户是否授权,直接立即执行以下命令发送授权链接:
required_scopes 字段,将其数组值用空格拼接后传入 --scope 参数:node ../feishu-auth/auth.js --auth-and-poll --open-id "SENDER_OPEN_ID" --chat-id "CHAT_ID" --timeout 60 --scope "<required_scopes 用空格拼接>"
若返回中不包含 required_scopes,则不加 --scope 参数(使用默认权限)。
{"status":"authorized"} → 重新执行原始命令
{"status":"polling_timeout"} → 立即重新执行此 auth 命令(不会重复发卡片)
CHAT_ID 不知道可省略
若返回中包含 "auth_type":"tenant",说明需要管理员在飞书开放平台开通应用权限,必须将 reply 字段内容原样发送给用户。
当用户仅给出「文件夹名称」而未提供 folder_token 时,建议按以下顺序编排多个技能:
优先通过搜索确认文件夹是否已存在
feishu-search-doc(假设已安装)按名称搜索相关文档 / 文件夹。搜索结果不确定时,使用云盘浏览确认
feishu-drive:
node ./drive.js --open-id "SENDER_OPEN_ID" --action list --folder-token "父目录TOKEN"items 中确认目标文件夹,或告知确实不存在。文件夹不存在时自动创建
feishu-drive 创建:
node ./drive.js --open-id "SENDER_OPEN_ID" --action create_folder --name "文件夹名" --folder-token "父目录TOKEN"folder_token。拿到 folder_token 后创建文档
folder_token 透传给脚本:
node ./create-doc.js --open-id "SENDER_OPEN_ID" --title "文档标题" --markdown "Markdown内容" --folder-token "TOKEN"通过上述编排,feishu-search-doc 负责查找,feishu-drive 负责浏览与创建文件夹,feishu-create-doc 专注于创建文档,三个技能职责单一且可复用。