写作与公文
操作飞书原生 Markdown 文件时用 lark-cli…
需要查看、创建、上传、编辑或比较飞书 Drive 中原生 .md 文件时使用;不用于纯本地 Markdown,也不用于导入 docx 或云空间管理。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
操作飞书原生 Markdown 文件时用特定
解决思路
- 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理。
- 身份:Markdown 文件通常属于用户云空间资源,优先使用 `--as user`。如为自动化场景,或应用已创建并持有目标文件权限,可按场景使用 `--as bot`。首次以 `user` 身份访问前执行 `lark-cli auth login`。
- `markdown +create` / `+overwrite` 失败时,先判断是不是身份和权限问题:`bot` 更常见的是 app scope 或目标目录 ACL,`user` 更常见的是用户授权或用户 ACL;不要不加判断地来回切身份重试。
- 用户要上传、创建一个原生 `.md` 文件,使用 `lark-cli markdown +create`。
- 用户要比较原生 `.md` 文件的历史版本差异,或比较远端 Markdown 与本地草稿,使用 `lark-cli markdown +diff`。
- 用户要读取 Drive 里某个 `.md` 文件内容,使用 `lark-cli markdown +fetch`。
- 用户要对 Markdown 文件做局部文本替换 / 正则替换,优先使用 `lark-cli markdown +patch`。
- 用户要覆盖更新 Drive 里某个 `.md` 文件内容,使用 `lark-cli markdown +overwrite`。
- 用户要先拿 Markdown 文件的历史版本号,再做比较/下载/回滚,先用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +version-history`。
- 用户要把本地 Markdown 导入成在线新版文档(docx),不要用本 skill,改用 [`lark-drive`](../lark-drive/SKILL.md) 的 `lark-cli drive +import --type docx`。
- 用户要对 Markdown 文件做 `rename` / `move` / `delete` / 搜索 / 权限 / 评论等云空间(云盘/云存储)操作,不要留在本 skill,切到 [`lark-drive`](../lark-drive/SKILL.md)。
- `markdown +create` / `+overwrite` 命中 `missing scope`、`permission denied`、`not found`、`quota_exceeded`、`version limit` 时,默认停止重试并按报错 hint 处理;只有 `rate_limit`、`server_error` 或临时网络错误才做有限退避重试。
- `markdown +create` 的目标参数不要猜:Drive 文件夹用 `--folder-token`,Wiki 节点用 `--wiki-token`。如果用户给的是 URL,可以直接传完整 URL;CLI 会归一成 token。不要把 doc/sheet/wiki URL 放进 `--folder-token` 试错。
- 本 skill 处理的是 Drive 中作为普通文件存储的 Markdown,不是 docx 文档。
- `--name` 和本地 `--file` 文件名都必须显式带 `.md` 后缀;不满足时 shortcut 会直接报错。
- `--content` 支持:直接传字符串;`@file` 从本地文件读取内容;`-` 从 stdin 读取内容。
- `markdown +patch` 的内部语义是:先完整下载 Markdown,再本地替换,再整文件覆盖上传。
- `markdown +patch` 不是服务端原子 patch;它是 CLI 侧编排出来的局部更新能力。
- `markdown +patch` 当前只支持单组 `--pattern` / `--content`。
- `markdown +patch` 替换后的最终内容不能为空;CLI 会拒绝上传空文件,因为 Drive 不支持零字节 Markdown,且空文件通常是误操作。
- `--file` 只接受本地 `.md` 文件路径。
- 正则替换时要特别注意 `--pattern` 的转义:不要执行 `lark-cli markdown +patch --file-token boxcnxxxx --regex --pattern "version (1.0)" --content "version (2.0)"`;应执行 `lark-cli markdown +patch --file-token boxcnxxxx --regex --pattern "version \\(1\\.0\\)" --content "version (2.0)"`。
- Shortcut 是对常用操作的高级封装(`lark-cli markdown +<verb> [flags]`)。有 Shortcut 的操作优先使用。
- `+create`:Create a Markdown file in Drive。中文:在 Drive 中创建 Markdown 文件。
- `+diff`:Compare two remote Markdown versions, or compare remote Markdown against a local file。中文:比较两个远端 Markdown 版本,或比较远端 Markdown 与本地文件。
- `+fetch`:Fetch a Markdown file from Drive。中文:从 Drive 获取 Markdown 文件。
- `+patch`:Patch a Markdown file in Drive via fetch-local-replace-overwrite。中文:通过 fetch-local-replace-overwrite 修补 Drive 中的 Markdown 文件。
- `+overwrite`:Overwrite an existing Markdown file in Drive。中文:覆盖 Drive 中已有的 Markdown 文件。
- 参考 [`lark-shared`](../lark-shared/SKILL.md):认证和全局参数。
- 参考 [`lark-drive`](../lark-drive/SKILL.md):Drive 文件管理、导入 docx、move/delete/search 等。
适用边界 · 注意事项
- 纯本地 Markdown 文件操作不触发本 skill。
- 不负责将 Markdown 导入为飞书在线文档(docx)。
- 不负责文件搜索、权限、评论、移动、删除等云空间管理操作。