lark-slides

lark-slides is a skill for Claude Code, Codex from yokingma/weclaws. It costs 74 tokens per session (9,692 once invoked), scanned A, a copy of lark-slides, MIT.

A tool for creating, reading, and editing Feishu slides, the presentation pages used in the Feishu collaboration platform. It communicates with the service using XML, a structured text format.

In plain words
What is it for?
Use it to create presentations, read slide content, add or remove pages, replace parts of a page, and find or apply templates.
Why use it?
It provides the required rules and workflows for changing slide pages without guessing the document format or layout.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python3 skills/lark-slides/scripts/layout_lint.py --input /tmp/presentation.xml.

Good fit Use it to create presentations, read slide content, add or remove pages, replace parts of a page, and find or apply templates.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/yokingma/weclaws
agentmods
npx agentmods add skills/yokingma/weclaws/lark-slides

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lark-slides

README.md
[![agentmods](https://agentmods.dev/badge/skills/yokingma/weclaws/lark-slides.svg)](https://agentmods.dev/skills/yokingma/weclaws/lark-slides)
Your own site
<a href="https://agentmods.dev/skills/yokingma/weclaws/lark-slides"><img src="https://agentmods.dev/badge/skills/yokingma/weclaws/lark-slides.svg" alt="Measured on agentmods" height="20"></a>
Per session 74 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 9,692 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin 98% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00074 $0.09692
Opus 5 $0.00037 $0.04846
Sonnet 5 $0.00015 $0.01938
Haiku 4.5 $0.00007 $0.00969

Measured 8d ago against content hash bb3eb7d1e022, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

lark-slides scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/layout_lint_test.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

8. **`<img src>` 只能用上传到飞书 drive 的 `file_token`,禁止使用 http(s) 外链 URL**:飞书 slides 渲染端不会代理外链图片,外链 src 在 PPT 里通常不显示或显示破图。流程必须是「先把图存到本地 → 用 `slides +media-upload` 上传或 `+create --slides` 的 `@./path` 占位符自动上传 → 拿 `file_token` 写进
Origin

This is a copy

98% identical to lark-slides — 1 line differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

resources/skills/managed/lark-slides/SKILL.md · 526 lines

How it starts

The opening of the file, as written. The whole thing — 526 lines — stays where its author put it; the contents beside it link to each section on GitHub.

slides (v1)

CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理

CRITICAL — 生成任何 XML 之前,MUST 先用 Read 工具读取 xml-schema-quick-ref.md,禁止凭记忆猜测 XML 结构。

CRITICAL — 如果用户提到“模板”“套用模板”“参考某种主题/风格/版式”,或用户需求明显落在已有场景模板内(如工作汇报、产品介绍、商业计划书、培训、晋升汇报等),MUST 先用 scripts/template_tool.pysearch 做模板检索;默认给出 2-3 个最匹配模板候选供用户选择。锁定模板后用 summarize 获取主题和布局摘要;只有需要布局骨架时才用 extract 裁切目标页型 XML。不要直接读取完整模板 XML。

[!NOTE] scripts/template_tool.py 需要 Python 3。references/template-index.json 是脚本缓存/轻量路由索引,不是默认给 agent 阅读的文档;assets/templates/*.xml 是机器资源,只应通过脚本摘要或裁切,不要全文读取。

CRITICAL — 使用模板生成或改写页面时,MUST 先 summarize 目标页型;只有需要具体布局骨架时才 extract。生成本地 XML 后,如可运行 Python,MUST 先用 scripts/layout_lint.py 检查 XML well-formed、重叠/越界/文本高度风险,再创建或追加页面。它不是完整 XSD schema 校验。

编辑已有幻灯片页面:优先用 +replace-slide(块级替换/插入,不动页序);选择 action 和完整读-改-写流程见 lark-slides-edit-workflows.md

身份选择

飞书幻灯片通常是用户自己的内容资源。默认应优先显式使用 --as user(用户身份)执行 slides 相关操作,始终显式指定身份。

  • --as user(推荐):以当前登录用户身份创建、读取、管理演示文稿。执行前先完成用户授权:
lark-cli auth login --domain slides
  • --as bot:仅在用户明确要求以应用身份操作,或需要让 bot 持有/创建资源时使用。使用 bot 身份时,要额外确认 bot 是否真的有目标演示文稿的访问权限。

执行规则

  1. 创建、读取、增删 slide、按用户给出的链接继续编辑已有 PPT,默认都先用 --as user
  2. 如果出现权限不足,先检查当前是否误用了 bot 身份;不要默认回退到 bot。
  3. 只有在用户明确要求"用应用身份 / bot 身份操作",或当前工作流就是 bot 创建资源后再做协作授权时,才切换到 --as bot

快速开始

一条命令创建包含页面内容的 PPT(推荐):

lark-cli slides +create --title "演示文稿标题" --slides '[
  "<slide xmlns=\"http://www.larkoffice.com/sml/2.0\"><style><fill><fillColor color=\"rgb(245,245,245)\"/></fill></style><data><shape type=\"text\" topLeftX=\"80\" topLeftY=\"80\" width=\"800\" height=\"100\"><content textType=\"title\"><p>页面标题</p></content></shape><shape type=\"text\" topLeftX=\"80\" topLeftY=\"200\" width=\"800\" height=\"200\"><content textType=\"body\"><p>正文内容</p><ul><li><p>要点一</p></li><li><p>要点二</p></li></ul></content></shape></data></slide>"
]'

Read the full file on GitHub · 526 lines

Files

What ships with it

60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 526 lines · 74 tokens per session scan A bb3eb7d1e022

Subscribe to this mod's changes

lark-slides is a skill published in the GitHub repository yokingma/weclaws (38 stars, last pushed 3mo ago), licensed MIT. It adds 74 tokens to every session and 9,692 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 98% identical to lark-slides, differing in 1 line, and is treated as a copy.

Related

Other skills, from other repositories

csv-analyzer

Analyze CSV files to generate summary statistics, detect data quality issues, and produce formatted reports.

everruns/everruns · 22 tokens

foundry-hosted-agent-validation

Step-by-step process for validating a Python Foundry hosted agent sample (under python/samples/04-hosting/foundry-hosted-agents/) end to end — running it locally (native runtime and azd ai agent run) and after deploying it to an Azure AI Foundry project with azd. Use this when asked to validate a hosted agent sample.

microsoft/agent-framework · 82 tokens

csv-workbench

Analyze CSV files in /mnt/data and return concise numeric summaries.

openai/openai-agents-python · 17 tokens

wxjava-api-contributor

A contributor guide for adding or maintaining official WeChat API support in WxJava, a Java software development kit. It covers services, request and response data objects, data conversion, HTTP handling, starter configuration, and regression tests.

binarywang/WxJava · 68 tokens

wxjava-troubleshooter

A troubleshooting guide for WxJava, a Java library used to connect applications to WeChat services. It organizes problems involving setup, access tokens, signatures, payment certificates, callbacks, data conversion, network requests, and multiple accounts.

binarywang/WxJava · 65 tokens

wxjava-upgrade-guide

A migration guide for upgrading WxJava, a Java software development kit for WeChat services, from one version or dependency setup to another. It checks dependencies, Java versions, configuration, HTTP clients, and public programming interfaces.

binarywang/WxJava · 72 tokens