← 返回 Skills 市场
billzhuang6569

lark-doc-reviser

作者 Bill Zhuang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
82
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install lark-doc-reviser
功能描述
Read unresolved comments in a Feishu (Lark) document and apply targeted edits block-by-block based on those comments. Use when the user shares a Feishu doc U...
使用说明 (SKILL.md)

Lark Doc Reviser

Workflow

Step 1 — Fetch doc state

python3 scripts/fetch_doc.py \x3Cdoc_url_or_token> --out workspace/\x3Ctoken>_state.json

This saves full doc state to workspace/\x3Ctoken>_state.json and prints a summary to stdout:

  • commented_blocks: blocks that have unresolved comments, each with elements, full_text, and comments[]{comment_id, anchor_text, instruction}
  • all_blocks: full block list (no elements, for structural reference)

Always save to workspace. The editing process may span multiple sessions.

Step 2 — Present comments to user

Show each entry in commented_blocks as:

[block_type] full_text
  → 【anchor_text】 instruction

Ask the user to confirm which comments to address, or proceed if the intent is clear.

Step 3 — Apply text edits

For each comment requiring a text change, construct a patches list and run:

python3 scripts/patch_blocks.py \x3Cdoc_token> patches.json

patches.json format — elements completely replace the block's existing content:

[
  {
    "block_id": "doxcnXXXX",
    "elements": [
      {"text": "普通文字"},
      {"text": "加粗", "bold": true},
      {"text": "代码", "code": true},
      {"text": "斜体", "italic": true}
    ]
  }
]

Supported element fields: text (required), bold, italic, code, strikethrough, underline.

Note: update_text_elements clears comment_ids from the elements. This is expected — always resolve addressed comments in Step 4.

Step 4 — Resolve addressed comments

python3 scripts/resolve_comments.py \x3Cdoc_token> \x3Ccomment_id> [comment_id ...]
# or via stdin:
echo '["id1","id2"]' | python3 scripts/resolve_comments.py \x3Cdoc_token> -

Step 5 — Re-fetch and update state

Re-run Step 1 to refresh workspace/\x3Ctoken>_state.json after edits.

Limitations

These operations are not handled by this skill's scripts and require additional API calls:

  • Insert blank line / empty block: needs Create Block API
  • Delete a block (e.g., remove a divider): needs Delete Block API
  • Structural reordering: needs Move Block API

For such operations, use lark-cli api directly or ask the user if they want to handle them manually.

Warning

Never use lark-cli docs +update --mode replace_range --selection-by-title to rename a heading. It selects the entire section (heading + all content until next heading) and deletes it all. Use --selection-with-ellipsis "heading text" instead.

安全使用建议
This skill appears to do what it says (read unresolved Feishu/Lark comments and update blocks via lark-cli), but before installing or running it, do the following: (1) Confirm you have lark-cli installed and authenticated locally — the SKILL.md and scripts require it even though the skill metadata doesn't declare it. (2) Inspect the scripts (they are included) and run them in an isolated environment or with non-sensitive test docs first. (3) Be aware the tool writes workspace/<token>_state.json files that persist document state; store or delete these files if they contain sensitive content. (4) Understand that running the patch and resolve scripts will modify and mark comments resolved in your live documents — verify patches before applying. (5) If you need higher assurance, ask the publisher to update metadata to declare the lark-cli dependency and provide guidance about required lark-cli permissions or scopes.
功能分析
Type: OpenClaw Skill Name: lark-doc-reviser Version: 1.0.0 The lark-doc-reviser skill is designed to automate document editing in Feishu (Lark) based on unresolved comments. It uses a series of Python scripts (fetch_doc.py, patch_blocks.py, resolve_comments.py) that interface with the legitimate 'lark-cli' tool via subprocess calls. The scripts handle data parsing and API requests safely using argument lists, and the SKILL.md instructions are well-aligned with the stated purpose, even including safety warnings to prevent accidental data deletion. No evidence of data exfiltration, shell injection, or malicious intent was found.
能力评估
Purpose & Capability
The skill's name, description, SKILL.md, and bundled scripts all target Feishu (Lark) document comment reading and patching. However, the registry metadata lists no required binaries while the SKILL.md and every script depend on the external 'lark-cli' tool and an authenticated session. This metadata omission is an inconsistency that should be corrected/confirmed.
Instruction Scope
Runtime instructions and scripts limit actions to: (1) calling lark-cli to fetch blocks and unresolved comments, (2) producing and writing a workspace JSON state file, (3) calling lark-cli to PATCH blocks, and (4) calling lark-cli to mark comments resolved. The instructions do not read unrelated system files or send data to third-party endpoints beyond lark-cli API calls. They explicitly advise manual handling for structural operations that require other APIs.
Install Mechanism
There is no install spec (instruction-only style) which minimizes install-time risk. The package does include three Python scripts that will be written to disk when the skill is installed or bundled — this is expected but worth noting. The SKILL.md requires lark-cli but no automated install or link to a trusted release is provided.
Credentials
The skill requests no environment variables or credentials in metadata and the scripts rely on the user's existing lark-cli authentication (no secrets are requested by the skill). This is proportionate for a tool that calls the user's Lark account via lark-cli. There are no unexpected credential requests or unrelated env access.
Persistence & Privilege
The skill does write state files to a workspace directory (SKILL.md instructs 'Always save to workspace'), but it does not request always:true, does not claim permanent global presence, and does not modify other skills or system-wide agent settings. Persisted files may contain document state and should be managed by the user.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lark-doc-reviser
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lark-doc-reviser 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of lark-doc-reviser. - Enables fetching unresolved comments from Feishu (Lark) documents and presenting them for targeted editing. - Guides users through a step-by-step workflow: fetch doc state, present comments, apply block edits, resolve comments, and refresh state. - Supports text edits at the block level, including rich text fields (bold, italic, code, etc.). - Documents current limitations (blank line insertion, block deletion/reordering not automated). - Warns against destructive heading renames using certain lark-cli options.
元数据
Slug lark-doc-reviser
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

lark-doc-reviser 是什么?

Read unresolved comments in a Feishu (Lark) document and apply targeted edits block-by-block based on those comments. Use when the user shares a Feishu doc U... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 82 次。

如何安装 lark-doc-reviser?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lark-doc-reviser」即可一键安装,无需额外配置。

lark-doc-reviser 是免费的吗?

是的,lark-doc-reviser 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

lark-doc-reviser 支持哪些平台?

lark-doc-reviser 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 lark-doc-reviser?

由 Bill Zhuang(@billzhuang6569)开发并维护,当前版本 v1.0.0。

💬 留言讨论