$npx -y skills add larksuite/cli --skill lark-slides飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard)、上传或下载普通文件(走 lark-drive)。
| 1 | # slides (v1) |
| 2 | |
| 3 | > 本技能文档较长,务必使用 Read 工具阅读两次,必须阅读完整全文。 |
| 4 | |
| 5 | ## 权威经验 |
| 6 | |
| 7 | **权威经验是全局硬约束和高频易错点,必须牢记并严格遵守。** |
| 8 | |
| 9 | - 你有充足的时间完成这个 PPT,质量永远比速度重要。 |
| 10 | - PPT 的尺寸是 960x540,必须严格确保主体内容在页面边界内。 |
| 11 | - !!!禁止交付无图产物!!! 必须使用大量图片增强视觉效果!!! 禁止重复使用同一张图!!! |
| 12 | - 封面页的主视觉必须是 `<img>`(来自生图工具或搜图工具),不要使用 `<shape>` 或 `<icon>` 拼出封面视觉。 |
| 13 | - 禁止用 `<shape>` 和 `<line>` 拟形具体物项,必须使用生图工具生成的 `<img>`。 |
| 14 | - 禁止在 `headline` 或 `title` 下方放置用于分隔或装饰的 `rect` 或 `<line>`。 |
| 15 | - 禁止在任何页面内部使用无意义的装饰线条或色块条带,页面任何一边都不要使用贴边窄条。 |
| 16 | - 生图工具的指令参数必须以“不要出现任何文字和颜色色号”结尾,避免生成的图片上出现干扰文字。 |
| 17 | - 禁止使用 emoji 图标,任何位置都不能出现。 |
| 18 | - 字号必须显式设置 `<content>` 的 `fontSize` 属性,不要依赖 `textType` 的默认字号兜底,这些兜底值明显偏大。 |
| 19 | - 大数字、字号大或字数多的 `<content>` 必须设置 `wrap="true" autoFit="normal-auto-fit"` 属性自动换行和缩排,避免文字溢出。 |
| 20 | - 文字颜色必须用 `<content>` 的 `color` 属性而不是 `fontColor` 属性。 |
| 21 | - 文字行间距必须设置 `<content>` 的 `lineSpacing="multiple:xx"` 或 `lineSpacing="fixed:xx"` 而不是 `lineSpacing="xx"`。 |
| 22 | - 图片必须用 `<img>` 而不是 `<image>`。 |
| 23 | - IconPark 图标必须填充颜色(设置 `<fill><fillColor color="rgba(R,G,B,A)"/></fill>`)并和背景有足够对比。 |
| 24 | - 绘制图表时原生图表(柱状、条形、折线、面积、饼(环)、雷达、组合图)用 `<chart>`,其他(漏斗图、金字塔图、象限图、矩阵图等)用 `<shape>` + `<line>` 模拟。 |
| 25 | - 隐藏 `<chart>` 的图例只能通过不写或删除 `<chartLegend>` 实现,`<chartLegend>` 不支持 `position="none"`。 |
| 26 | - 表格优先用 `rect` 和 `text` 模拟,其他用 `<table>`,没有 `<shape type="table">`。 |
| 27 | - 必须设置 `<table>` 的 `width` 和 `height` 固定表格大小,同时设置需要保留列宽或行高的 `<col>` 的 `width` 和 `<tr>` 的 `height`,其余自动分配。 |
| 28 | - `<td>` 直接子元素只有 `<fill>`(背景)、`<content>`(文字)和边框配置(一般不用),不能嵌套 `<shape>`、`<img>`、`<icon>`。 |
| 29 | - `<shape type="rect">` 只是形状不是容器,`<icon>`、`<img>`、`<shape type="text">` 和其他 `<shape>` 必须与它平级靠坐标叠放。 |
| 30 | - 填充渐变颜色必须用 `<fill><fillColor color="linear-gradient(135deg, rgba(R,G,B,A) 0%, rgba(R,G,B,A) 100%)"/></fill>`。 |
| 31 | - 编辑页面前必须阅读 [`lark-slides-edit-workflows.md`](references/lark-slides-edit-workflows.md)。 |
| 32 | - 绘制图表前必须阅读 [`slides_chart_demo.xml`](references/slides_chart_demo.xml)。 |
| 33 | - 当用户要求无损复述历史上下文时,必须无损复述以上权威经验、必读的技能文档(需要重新阅读)和易错元素语法(尤其是 `<table>` 和 `<chart>`)。 |
| 34 | |
| 35 | ## 豆包设计原则 |
| 36 | |
| 37 | 适用范围: |
| 38 | |
| 39 | - 普通内容页的设计必须以豆包设计原则为最高准则,除非用户要求使用模板或直接提供设计方案。 |
| 40 | - 不适用于 `title-cover`、`section-divider`、`conclusion`、`quote-highlight` 和 `big-number`。 |
| 41 | |
| 42 | 核心要求: |
| 43 | |
| 44 | - 必须采用信息密度极高的图文卡片布局,追求充实饱满、图文丰富、可逐行细读的版面,宁可密而满,不要空而疏。 |
| 45 | - **!!!信息密度极高!!! 图多!!! 卡多!!! 字多!!!** |
| 46 | |
| 47 | 排版布局: |
| 48 | |
| 49 | - 卡片布局:卡片按多行网格铺满页面,版面对称、均衡、不留白。网格数、图文比例按内容变化,避免每页雷同。使用更多卡片做细分承载,避免在单张卡片里堆砌大量文字(例如 8 张 50 字卡片优于 2 张 200 字卡片),多个要点必须拆分为多张子卡片。 |
| 50 | - 卡片样式:方角卡片 + 半透明填充 + 无边框 + 卡片贴边窄条(可选);所有卡片必须使用相同的配色方案(少量需强调的卡片除外),禁止同页出现彩虹卡片(卡片颜色超过 3 种)。 |
| 51 | - 卡片结构:视觉锚点(关键词、编号或 IconPark 图标)+ 标题 + 内容(包括文字、图片、图表、子卡片)。 |
| 52 | - 文字卡片:多数页面必须满足 6-8 张文字卡片、200-400 文字数量,字数不足时必须扩写成长句或段落,文字卡片不要留白,必须充实饱满。文字卡片不是短标签,而是“标题 + 完整说明”,像浓缩的分析文稿。文字内容不得不用列表、分栏、关键词或短句时,必须保证层次清晰,更建议拆分为多张子卡片。 |
| 53 | - 图片卡片:多数页面必须满足 1-3 张图片卡片,缺少图片时必须用生图工具补充配图,图片卡片与文字卡片组成网格,确保图文丰富。 |
| 54 | - 图表卡片:数据信息不要在文字卡片中罗列,必须在图表卡片中可视化(包括表格、图表、时间线、流程图等),图表卡片与其他卡片组成网格,展现数据驱动。 |
| 55 | - 间距要求:所有边距都要左右对称,页面和内部内容的边距至少 40px(内容不要贴边),卡片和内部文字的边距至少 5px(文字不要贴边),卡片之间保持 20-40px 的间距。 |
| 56 | - 文字对齐:正文默认左对齐,只在封面、结尾或大号数字场景中使用居中;表格里的文字左对齐、数字右对齐、仅关键词或短句时居中对齐。 |
| 57 | |
| 58 | 视觉风格: |
| 59 | |
| 60 | - 美学:干净、明亮、清爽但信息饱满;靠卡片和对齐网格在高密度下维持秩序感;同排卡片文字数量应相近以保持观感整齐。 |
| 61 | - 字体:全篇以无衬线体(思源黑体)为主,封面或关键强调可少量使用衬线体。 |
| 62 | - 字号:标题 28-36pt、正文 12-14pt、注释 10-12pt,常规关键指标 16-32pt、核心指标用 36-52pt 数字,下面配 10-14pt 标签与简短解读,需要容纳更多文字时允许使用更小的字号。 |
| 63 | - 图标:内嵌 IconPark 图标(可用关键词或编号替代)作为视觉锚点,让高密度文字也有图形节奏,而不是成片纯文字块。 |
| 64 | - 配色:克制颜色数量,确保所有页面都只使用同样的 1 个背景色(偏好浅米白)、1 个主色、1 个强调色和 1 个辅助色;偏好莫兰迪配色,禁止彩虹配色(比如蓝配橙)。 |
| 65 | |
| 66 | ## Quick Reference |
| 67 | |
| 68 | | 用户需求 | 优先动作 | 关键文档 / 命令 | |
| 69 | |----------|----------|-----------------| |
| 70 | | 新建 PPT | 先规划 `slide_plan.json`,再按复杂度选择一步或两步创建 | `planning-layer.md`、`visual-planning.md`、`asset-planning.md`、`slides +create` | |
| 71 | | 用户要求使用模板 | 将模板导入为 Slides 再编辑 | `lark-slides-pptx-template-workflows.md` | |
| 72 | | 编辑单个标题、文本块、图片或局部元素 | 优先块级替换/插入,不改页序 | `slides +replace-slide`、`lark-slides-replace-slide.md` | |
| 73 | | 读取或分析已有 PPT | 解析 slides/wiki token,用 shortcut 回读全文 XML 或读取单页 XML,保存 `xml_presentation_id`、`slide_id`、`revision_id` | `slides +xml-get`、`xml_presentation.slide.get`、`lark-slides-xml-presentations-get.md` | |
| 74 | | 查看或回滚历史版本 | 先用 `+history-list` 找 `history_version_id`,再 `+history-revert`,必要时 `+history-revert-status` 轮询 | [`lark-slides-history.md`](references/lark-slides-history.md) | |
| 75 | | 获取幻灯片页面截图 | 用 `slide_id` 或页号指定页面,一次不超过 10 页 | `slides +screenshot`、`lark-slides-screenshot.md` | |
| 76 | | 上传或使用图片 | 先上传为 `file_token`,禁止直接写 http(s) 外链 | `slides +media-upload`、`lark-slides-media-upload.md`,或 `+create --slides` 的 `@./path` 占位符 | |
| 77 | | 绘制图表 | 原生图表(柱状、条形、折线、面积、饼(环)、雷达、组合图)用 `<chart>`,其他(漏斗图、金字塔图、象限图、矩阵图等)用 `<shape>` + `<line>` 模拟 | `xml-schema-quick-ref.md`、`slides_chart_demo.xml` | |
| 78 | | 绘制表格 | 优先用 `rect` 和 `text` 模拟,其他用 `<table>` | `xml-schema-quick-ref.md` | |
| 79 | | 使用图标 | 禁止盲猜 iconType,必须先检索 IconPark,再写 `<icon iconType="...">`,图标必须填充颜色并和背景有足够对比,禁止使用 emoji 图标 | `iconpark_tool.py search → resolve`、`iconpark.md` | |
| 80 | | 创建失败、空白页、3350001、布局 |