- name
- lark-cli-workflow
- description
- Coordinate Lark/Feishu CLI tasks from Codex. Use when a request involves Feishu/Lark docs, wiki, Drive files, Sheets, Base, Calendar, Minutes, IM, Mail, Tasks, Contacts, Slides, whiteboards, approvals, attendance, or when a Lark URL/token must be read, edited, summarized, routed, or turned into a real work artifact.
# Lark CLI Workflow
This is a thin routing skill. Prefer the official `lark-*` skills and `lark-cli` shortcuts for domain details; use this skill to choose the right path, identity, safety level, and final artifact shape.
## Default Route
1. Classify the object and action.
- Docs / Wiki text: `lark-doc`, with `docs +fetch --api-version v2`.
- Wiki hierarchy / members: `lark-wiki`.
- Drive files, file permissions, comments, import/export: `lark-drive`.
- Sheets: `lark-sheets`.
- Base / Bitable: `lark-base`.
- Calendar / meeting-room scheduling: `lark-calendar`.
- Past meetings and transcripts: `lark-vc` or `lark-minutes`.
- IM messages, groups, files in chats: `lark-im`.
- Mail: `lark-mail`.
- Contacts / people resolution: `lark-contact`.
- Tasks, OKR, approval, attendance, slides, whiteboard: use the matching `lark-*` skill.
2. For any Lark URL or opaque token, inspect or unwrap it before acting.
- Wiki URLs often point to a node wrapper; resolve the real object token before document fetch/update.
- Do not assume a docx token, sheet token, bitable token, wiki node token, and drive file token are interchangeable.
3. Pick identity deliberately.
- Use `--as user` for personal docs, Drive, calendar, mail, IM history, wiki spaces, and most user-owned resources.
- Use `--as bot` only for app-owned resources or when the user explicitly wants an app identity.
- If a command returns missing scopes, follow the CLI hint and request the minimum needed `auth login --scope ...`.
## Read Pattern
- Start narrow: outline, keyword, section, or metadata before full document fetch.
- For Docx v2, always pass `--api-version v2`.
- Use JSON output when the result will feed another command.
- If a document contains embedded sheets, bitables, synced blocks, media, or whiteboards, extract the referenced token and switch to the matching skill instead of summarizing the tag itself.
- Treat internal links, auth URLs, media URLs, access tokens, user IDs, and chat IDs as private unless the user explicitly asks for them in chat.
## Write Pattern
- Prefer real work artifacts: create or update the Lark doc, Base record, Sheet range, task, calendar event, email draft, or IM message instead of only producing copy-paste text.
- Before writing, identify the intended object, block/range/record, and command.
- Prefer block-level or section-level updates over whole-document overwrite.
- Preserve comments, highlights, citations, permissions, reviewer-visible formatting, and document structure unless the user asks to replace them.
- High-risk actions need explicit intent or a dry run first: delete, overwrite, permission change, bulk send, group membership change, task closeout, or external sharing.
## Repo Safety
- Do not write internal Lark URLs, temporary media/auth URLs, access tokens, chat IDs, internal people/team details, or non-public implementation details into tracked repository files.
- If an internal source has reusable public lessons, write only the generalized lesson and cite public/open sources when available, such as the Lark CLI public repository: https://github.com/larksuite/cli
- Put private source notes, exact internal links, and sensitive judgments under `.local/` when a local record is useful.
- For CS-Notes tasks, update `AGENTS.md`, `.trae/`, `.codex/skills/`, or `Notes/` only when the result improves the durable workflow; avoid demo-only files.
## Completion Check
- Say which Lark object was read or changed, using a safe title or type when links are sensitive.
- Report identity used (`user` or `bot`) when it matters.
- Mention missing permissions, unread embedded resources, or skipped high-risk actions.
- If `lark-cli` suggests an update, finish the current task first, then tell the user the update is available.
在 GitHub 查看