agentsclimarketplace

Linggan talking cards

Skill yihui-dev/linggan-talking-cards/skills/linggan-talking-cards

将中文或英文口播文案与可选截图拆成 3–10 张 PPT 式演示卡片,输出文字准确的 PNG 卡片、结构化 manifest 和带逐卡口播台词的响应式 HTML 预览页。支持 3:4、16:9、9:16、4:3 四种比例,以及苹果白色毛玻璃、糖果、Obsidian、新丑风等 10 种视觉系统;适用于“口播文案拆解PPT生多图”“把逐字稿做成卡片”“给口播配 slides”“截图放进讲解卡片”“生成多图和预览页”“换一种 PPT 风格”以及修改指定卡片的请求。From its SKILL.md

Install
npx -y skills add yihui-dev/linggan-talking-cards --skill linggan-talking-cards

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 15 days oldThe repository was created 15 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

10.4 KB, ~3.7k tokens by cl100k_base, as published. Nobody here has run it

口播文案拆解 PPT 生多图

把口播稿拆成一组手机端两秒内能读懂的演示卡片。直接完成策划、PNG 渲染和 HTML 预览;用户只要求方案时才停在文字方案。

硬性规则

  • 接收口播正文作为唯一必需输入;主题清楚时直接执行,不因缺少张数、比例、配色或图片而追问。
  • 输出 3–10 张卡片。默认比例为 3:4;只支持 3:416:99:164:3,同一套保持同一比例。
  • 所有比例都使用“双锚点 + 弹性内容带”纵向结构:一级标题区稳定落在卡片偏上位置,条目与细节从中偏上开始,以舒展的行距向中下部展开。整体视觉重心保持偏上,但最后一条或高亮应自然使用中下部,不能让下方像整块空着。只有 2 条内容时,两条都应停在中偏上至中段,高亮再承担向中下部延展的作用,禁止把两条机械拉到内容带两端。右下角是人物头像的优先避让区,不是牺牲整体排版的硬空洞;不得为了头像缩成小字或把内容重新挤成顶部一团。
  • 一份口播只使用一种顶层 style 和一套顶层 theme。封面、信息页、图片页和收尾页必须共享同一视觉系统、主色、背景与强调色,不得逐页换风格或轮换色系;只有用户明确要求另做一套方案时,才建立新的完整输出集。
  • 每张卡片只讲一个重点,尽量包含短标题和具体内容。
  • 没有配图的卡片放 1–4 条编号要点;有配图的卡片优先展示截图,可补 0–2 条短要点。
  • 用户截图属于固定内容物料:保留可见 UI、文字、颜色与比例,只允许等比缩放、裁切、留白、圆角和轻阴影,不得重画或伪造截图内容。
  • 卡片文字可以压缩和重组,但不得改写关键事实、数字、价格、产品名或结论。不要把用户观点包装成已核实事实。
  • 卡片下方的 transcript 必须覆盖全部口播内容,顺序不变、无遗漏、无重复。只删除 Markdown 符号等非口播标记;不得润色成另一篇稿子。
  • 使用脚本生成文字卡片,不用图片生成模型绘制带正文的整页卡片。只有用户明确需要独立插画物料时,才另行生成物料并作为输入图片嵌入。
  • 每次都交付 PNG、cards-manifest.jsonindex.html;不能只给文字方案或散落图片。

工作流

1. 解析输入

  1. 提取主张、转折、例子、比较、方法和收束句。
  2. 识别用户指定的比例、页数、风格、配色和图片用途;缺省时使用 3:4apple-flat 和该风格的默认主题。确定后,将同一 styletonetheme 用于全部卡片。
  3. 将图片标记为固定截图、内容照片、人物/物件参考或仅风格参考。只把固定截图和明确相关的内容图片放进成品。
  4. 按内容密度选页数:短稿 3–4 页;普通稿 5–7 页;包含多个步骤、案例或对比的长稿 8–10 页。

用户没有指定风格时,根据内容语气与使用场景选择;没有明显线索时保持默认 apple-flat。只从 styles.md 中的 10 个稳定 ID 选择,不临时发明近义 ID。用户要求比较多个风格时,每个风格分别生成一整套卡片,而不是让不同页面混搭。

2. 规划逐卡内容

按完整语义而不是平均字数拆分口播。使用以下叙事顺序中的必要部分:

  1. 封面或核心判断。
  2. 问题、变化或背景。
  3. 关键要点、步骤、对比或案例。
  4. 原因、机制或反直觉解释。
  5. 结论、行动或记忆点。

为每张卡片写入:

  • eyebrow:2–12 个字的栏目词,可省略。
  • title:一个可独立理解的短标题,优先 4–18 个汉字。
  • summary:一条补充说明,可省略。
  • points:无图时 1–4 条;每条尽量不超过 24 个汉字。
  • highlight:一个数字、短句或结论,可省略。
  • transcript:本卡对应的原始口播片段。
  • image:只在该卡确实需要用户图片时填写本地路径。

同时把用户的完整原稿逐字保存到顶层 source_text。构建脚本会忽略 Markdown 粗体与项目符号后,对比 source_text 和全部 transcript,发现遗漏、重复或改写时直接停止。

长解释留在预览页中卡片图片下方的台词区域;不要把整段逐字稿塞进图片。规划卡面时,先把一级标题锚定在上部,再让条目与细节从中偏上位置开始;用条目间距和高亮结论把内容带自然延展到中下部,而不是把条目挤紧或把下方完全留空。优先让右下人物区保持低干扰;如果内容密度确实较高,先保证标题层级、正文可读性和整体节奏,再接受少量次要内容进入人物区外围。

3. 建立 manifest

读取 manifest-schema.md,在最终输出目录外或其中建立工作 manifest。推荐输出目录:

<cwd>/outputs/linggan-talking-cards/<YYYY-MM-DD>-<主题缩写>/

相对图片路径以 manifest 所在目录为基准。没有图片的卡片必须写 points;不要用无语义装饰图标替代信息。

4. 渲染 PNG 与 HTML

运行:

python3 <skill-dir>/scripts/render_cards.py build \
  --manifest <manifest.json> \
  --output-dir <output-directory>

脚本会:

  1. 校验比例、页数、文字长度、台词和图片路径。
  2. 用隔离的 Playwright/Chromium 将每张卡片渲染为准确比例的 PNG,不影响用户正在使用的浏览器。
  3. 生成 cards-manifest.json
  4. 生成响应式 index.html,以平铺方式展示图片,并在每张卡片下方展示对应口播台词和 PNG 下载入口。

不要把预览页改成依赖本地服务或运行时 fetch 的页面;用户应能直接双击打开。

需要用同一份内容比较全部 10 种风格时,运行:

python3 <skill-dir>/scripts/render_cards.py build-style-gallery \
  --manifest <manifest.json> \
  --output-dir <gallery-output-directory>

画廊构建会为每个稳定 style 生成独立完整套装,并在根目录生成汇总预览。每个套装内部仍必须保持同一个风格与同一套主题色。

5. 验收

运行:

python3 <skill-dir>/scripts/render_cards.py validate \
  --manifest <output-directory>/cards-manifest.json \
  --output-dir <output-directory>

同时逐张目视检查:

  • PNG 数量是否等于卡片数量,像素比例是否准确。
  • 标题、编号、金额、专有名词和顺序是否正确。
  • 是否每页只有一个重点,最小文字在手机端仍清楚。
  • 一级标题是否稳定处于偏上区域,而不是与正文一起完全居中或挤在最顶端。
  • 条目、细节与内容图片是否从中偏上位置开始,并以松弛但连贯的节奏延展到中下部。
  • 最后一条或高亮是否合理使用中下部,没有把全部正文挤在上方,也没有留下整块空荡的下半区。
  • 右下角是否优先保持低干扰的人物空间;若内容密度较高,是否仍以整体排版与可读性优先,没有强行挖出大块空洞。
  • 四种比例是否沿用同一“双锚点 + 右下优先避让”逻辑,没有误留整条底部空白。
  • 图片是否相关且没有被重画、拉伸或遮住关键信息。
  • 风格标志是否清楚,并且整套没有跨页换风格或换主题色。
  • 台词是否自然分段,并完整覆盖原稿。
  • HTML 是否响应式平铺、无页面级横向溢出,且每张图下方都有对应台词。

修改脚本或 Skill 后,再运行:

python3 <skill-dir>/scripts/render_cards.py self-test
python3 <skill-creator-dir>/scripts/quick_validate.py <skill-dir>

6. 修改指定卡片

用户要求修改第 N 张时,只更新该卡在 manifest 中的字段并重新构建;保持其他卡片的文字、顺序、图片、比例和整体风格不变。修改台词拆分时,复查相邻两张,确保原稿仍无遗漏或重复。

视觉系统

  • 支持且只支持 10 种稳定风格:apple-flatcandyobsidianneo-brutalismswissblueprintbentonotebookbauhauszen-ink。完整选择建议和版式特征见 styles.md
  • 风格不只是换色。每个系统应通过字体气质、边框、圆角、阴影、网格、装饰语言和信息容器共同形成辨识度,同时保持标题、要点、图片与逐卡台词的结构一致。
  • 每套只选择一种风格与一组主题色;同套所有页面复用同一主色、背景和强调色。页面之间通过版式、内容密度和留白形成节奏,不通过换风格或换主题色制造差异。
  • 保持明确层级与手机端可读性;最多三种字号、两种字重。用编号、关键词色块、短分隔线或一个高亮结论组织信息,避免默认三等分图标网格。
  • 3:4:一级标题落在上部,正文从中偏上开始并舒展到中下部;16:9:标题偏上,正文较早进入中段左侧并利用有限高度;9:16:标题上置,条目从中偏上开始并用纵向间距消化高画布;4:3:保持紧凑的上部标题,同时让正文覆盖中部到中下部。四种比例都优先避让右下人物区,但不得为了绝对清空它而破坏整体节奏,也不得形成整条底部空带。
  • 封面可使用更大的主张和 1–2 个编号切入点;信息页使用所选风格的内容容器;收尾页用一句结论和行动点收束。
  • 禁止社交平台外壳、关注点赞栏、轮播页码、水印、品牌冒充、密集小字和与内容无关的装饰。阴影、饱和度和锐利边框应服从所选风格,而不是叠加无关效果。

交付

报告卡片数量、比例、风格、输出目录、index.html、PNG 目录、验证结果和使用了哪些用户图片。优先给出可点击的 HTML 预览路径,再给出卡片目录。批量比较时,先给汇总画廊,再列各风格独立预览。

What ships with it: 6 files

99.8 KB alongside SKILL.md, 2 of them executable

agents/

references/

scripts/

Keep looking

Skills are one crate of 326,834. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.