skills/feishu/SKILL.md
Use for Feishu/Lark work in ChatTool. Default to official lark-cli, route document body edits to docs, comments and permissions to drive, wiki links to wiki, IM sending/reply/search to im, and keep chattool lark only for info/send/chat debug and delivery.
npx skillsauth add cubenlp/chattool feishuInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is the fast mental model for Feishu/Lark work inside the ChatTool repo.
Chinese version: skills/feishu/SKILL.zh.md
Use this skill when the task involves any of these:
chat_id vs open_idchattool lark and lark-clichattool setup lark-clilark-clichattool lark is kept only for the shortest debug path: info / send / chatHigh-value repo references:
docs/blog/agent-cli/lark-cli-guide.mddocs/blog/agent-cli/feishu-cli-doc-practice.mddocs/blog/lark-message-session-debug.mddocs/tools/lark/index.mdlark-cli/lark-cli by default--dry-run first for write operationsConfig and auth starting points:
chattool setup lark-cli
lark-cli auth status
lark-cli auth login --recommend
For agent-assisted user login, prefer the non-blocking device flow:
lark-cli auth login --recommend --no-wait
lark-cli auth login --device-code <DEVICE_CODE>
Use chattool lark only for:
chattool lark infochattool lark sendchattool lark chatDo not move document, comment, permission, search, or reply workflows back into chattool lark.
Use lark-cli im first:
lark-cli im +messages-sendlark-cli im +messages-replychat_id: lark-cli im +chat-searchlark-cli im +chat-messages-listlark-cli im +threads-messages-listCore identifiers:
message_id: one message; replies depend on thischat_id: one conversation or group chatopen_id: one user object; usable for direct messagesreceive_id_type: tells the API what the target ID meansHeuristics:
chat_id or open_idmessage_id, not chat_idchattool lark send is finelark-cli im +messages-sendDocument body operations belong to docs:
lark-cli docs +createlark-cli docs +fetchlark-cli docs +updateComments, comment replies, and permissions belong to drive:
lark-cli drive +add-commentlark-cli drive file.comment.replys createlark-cli drive file.comments listlark-cli drive file.comments patchlark-cli drive permission.members createResolve wiki links before treating them as doc tokens:
lark-cli wiki spaces get_nodeThese are consistent with the current repo docs and are safe defaults:
docs +create / +fetch / +updatedrive +add-comment, file.comment.replys create, permission.members create\n in shell strings; prefer real newlines or heredocchattool setup lark-clichattool lark sendlark-cli imlark-cli docslark-cli drivelark-cli wiki--no-wait + --device-code--help or schematools
Create staged previews of Zulip topics using read-only CLI queries, including full-thread originals, a small zh-en translation slice, and a Chinese overview in an external work directory such as ~/tmp/chattool-zulip/<channel>/<topic>. Use when asked to preview, summarize, or translate Zulip thread content.
tools
Aggregate and summarize Zulip community updates via ChatTool CLI. Use when user asks to fetch latest Zulip news, list streams/messages, or generate periodic summaries from configured streams/topics.
tools
Use `chattool pypi init` to scaffold a minimal Python package, then validate it with doctor/build/check. Example package name `mychat`.
tools
Post-task normalization workflow for ChatTool development. Use after implementation to review the completed work, extract reusable pieces into the repo, check existing CLI surfaces before adding scripts, run $chattool-dev-review, and then drive docs/tests/changelog/PR updates through the project standards. If the task also includes merged-mainline release work, hand off to $chattool-release after PR/MR stage.