关于 pptx-author
pptx-author 是制作演示文稿幻灯片内容的技能,将 Markdown 幻灯片与模板布局对应,并输出供后续生成步骤使用的 slides.md。它适合按既有模板编写和校验演示文稿。
主要功能
- 01以 Markdown 编写幻灯片
- 02指定模板布局提示
- 03按布局组织文本、图片和表格
- 04使用脚本校验提示与内容
适用场景
- 01为模板编写演示文稿内容
- 02将幻灯片内容匹配到布局
- 03渲染前检查布局提示
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tristan-mcinnis/ pptx-from-layouts-skill --skill pptx-author安装后在 Claude Code 中输入/pptx-author确认已加载。
附带文件scripts/lint_hints.py
详细介绍
步骤 2 — 编写者(pptx-author)
将演示文稿写成 Markdown,并为每张幻灯片指定它应使用的确切模板布局,使用 [HINT: layout_name]。这连接了“我了解模板的布局”(步骤 1)和“渲染演示文稿”(步骤 3)。
STEP 1 — PROFILE STEP 2 — AUTHOR STEP 3 — RENDER
pptx-profile pptx-author pptx-from-layouts
─────────────── ─────────────── ─────────────────
your-template.pptx slides.md (+ [HINT:]) slides.md + config
│ │ │
▼ ▼ ▼
catalog.py ──catalog.md──▶ write & lint ──slides──▶ generate.py ─▶ deck.pptx
└────────────────── config.json ───────────────────▲ (validated)
你现在位于:步骤 2。 你需要步骤 1 中的 layout-catalog.md(或使用内置的 Inner Chapter 布局)。输出文件为渲染器使用的 slides.md。
约定
- 幻灯片之间用
---分隔。 每张幻灯片以标题开头,并可选择添加提示。 # Slide N: Title或## Title— 标题。应表达一个观点,而不是一个标签(“三份简报,一个基础”——而不是“概览”)。[HINT: layout_name]— 指定步骤 1 目录中的真实布局。逐字复制目录中 Hint 列的值。引擎会填充该布局实际的占位符。- 内容与布局相匹配:
column-*/grid-*布局 → 使用[Column N: Header]区块(或**Header**+ 正文行)。- 带图片的布局 →
[Image: path/to.jpg]。 - 表格数据 → Markdown 表格。
- 其他所有内容 →
-项目符号(最后的选择,不要习惯性使用)。
提示与视觉类型——何时使用哪种
| 你有…… | 使用 | 原因 |
|---|---|---|
| 已分析的模板及其目录 | [HINT: real-layout-name] | 精确:指定确切布局。用于“创建”流程。 |
| 没有目录/不确定有哪些布局 | **Visual: type**(例如 process-4-phase) | 语义化:引擎会根据意图自动选择布局。 |
如果两者都存在,[HINT:] 始终优先。不匹配模板的提示会被忽略,并显示警告,然后回退到自动检测——因此先运行 lint。
渲染前运行 lint
python scripts/lint_hints.py slides.md --config your-template-config.json
# or, against the Step-1 markdown catalog:
python scripts/lint_hints.py slides.md --catalog your-template-layout-catalog.md
# no flag → validates against the bundled Inner Chapter template
Lint 工具会逐张幻灯片标记:P0 未知提示(并给出“你是否想输入……?”建议——这会导致渲染错误)、P1 缺少标题、P2 项目符号与表格混用。退出代码 2 表示需要修复并重新运行。
示例
# Slide 1: Personas that respond like real humans
[HINT: title-cover]
### Inner Chapter
---
# Slide 2: Three outcomes the research must achieve
[HINT: column-3-centered-a]
[Column 1: Level-set the teams]
- Confirm what's known about each athlete
[Column 2: Capture room content]
- In-home video, voice clips, phone recordings
[Column 3: Deliver for leadership]
- A visceral understanding for senior stakeholders
---
# Slide 3: Why personas are the hard part
[HINT: content-image-right-a]
[Image: assets/persona-diagram.png]
- No world model — pattern-matching only
- Bias toward agreeableness — more positive than real consumers
排版标记(行内)
| 标记 | 效果 | 标记 | 效果 | |
|---|---|---|---|---|
{bold}text{/bold} | 粗体 | {bullet:-} | 短横线项目符号 | |
{italic}text{/italic} | 斜体 | {bullet:1} | 编号列表 | |
{blue}text{/blue} | 品牌色 | {level:N} | 缩进级别 |
接下来
将 slides.md(以及模板和配置)交给 步骤 3 — pptx-from-layouts:
python ../pptx-from-layouts/scripts/generate.py slides.md -o deck.pptx \
--template your-template.pptx --config your-template-config.json --validate
如需自动将原始笔记/源文档转换为带提示标签的 slides.md,pptx-outline-architect 子 Agent 可以承担繁重工作。
评论
支持 Markdown