# Techstyle Ppt

> 生成 6 页 16:9 简约科技风自我介绍 PPT（.pptx）。由 content.json 驱动页面与文案，默认 **tech-bright 主题（全深色科技风·投影容错版：深蓝渐变底 + 半透明圆角面板 + 单一霓虹青强调色 + 四角标 + 细线框，正文纯白）**，另有 tech（更深）/sandwich/light 等备选；内置内容块自适应垂直节奏与 verify_deck.py 自检（页数 / 5 模块 / 字体三处 / 溢出 / 容器完整性）。当用户要求生成自我介绍、招新 PPT、科技风幻灯片或 6 页演示文稿时使用。

- Skill: `3098150387-eng/techstyle-ppt` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add 3098150387-eng/techstyle-ppt`
- Raw SKILL.md: https://api.skillmd.com/api/skills/3098150387-eng/techstyle-ppt/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: 3098150387-eng (https://skillmd.com/u/3098150387-eng)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/3098150387-eng/techstyle-ppt

---


# techstyle-ppt

按「content.json + 主题」生成 6 页简约科技风自我介绍 PPT。**文案与代码分离**：改文案只动 content.json，不动脚本。

**主题选择**：`--theme tech-bright`（**默认，本次交付采用**）全深色科技风·投影容错版；`tech`（更深更冷，环境很暗时更高级）；`sandwich` / `dark` / `light` 为无面板备选。

## 目录

- `README.md` — **安装与快速开始（人看的，先给他）**
- `scripts/build_deck.py` — 生成器（护栏 + 自适应排版）
- `scripts/verify_deck.py` — 自检（页数 / 模块 / 字体 / 溢出 / 容器 / 动效）
- `scripts/add_animations.ps1` — **加动效**（切页淡化 + 元素淡入；幂等，可反复跑）
- `scripts/export_pdf.ps1` — 可选：用本机 PowerPoint 导 PDF（**打印画质**，规避压图）
- `scripts/export_png.ps1` — 可选：逐页导出 PNG（给 AI 自查布局用）
- `references/design-spec.md` — 配色 / 字号 / 栅格 / 母题 / 禁用项
- `references/content-schema.md` — content.json 字段定义与示例
- `references/troubleshooting.md` — 隐患与处置手册
- `examples/content.example.json` — 示例内容

## 使用（四步）

1. 准备内容：复制 `examples/content.example.json` 为你的 `content.json`（**示例可直接跑通**），按 `references/content-schema.md` 填写。
2. 生成：
   ```bash
   python scripts/build_deck.py --content <content.json> --out <out.pptx>
   ```
   可选 `--theme tech-bright|tech|sandwich|dark|light`（默认 `tech-bright`）；`--verbose` 打印每页间距系数 k 与填充率。
3. 自检（必须全 PASS，WARN 要人工看一眼）：
   ```bash
   python scripts/verify_deck.py --file <out.pptx> --content <content.json>
   ```
   期望值（页数 / 模块 / 姓名）从 content.json 自动推导；也可 `--name/--pages/--modules` 覆盖。
4. **加动效**（交付版建议加；需本机 PowerPoint + PowerShell 7）：
   ```bash
   pwsh -NoProfile -File scripts/add_animations.ps1 -Pptx <out.pptx>          # 默认 Pace=auto
   pwsh -NoProfile -File scripts/add_animations.ps1 -Pptx <out.pptx> -Pace click
   ```
   加完再跑一次自检，加上 `--expect-anim` 确认动效在：
   ```bash
   python scripts/verify_deck.py --file <out.pptx> --content <content.json> --expect-anim
   ```
   ⚠️ **每次重跑 `build_deck.py` 都会清空动效**（python-pptx 不支持动画）→ **必须重跑本脚本**，否则交出去的就没动效。

## 硬约束（生成器强制执行）

- 页数：若 `meta.page_count` 已声明则必须完全相符；模块（`meta.modules` 或默认五模块）必须齐全，缺一拒绝生成
- 封面必须是第 1 页（`role: cover`）
- 16:9（13.333 × 7.5 英寸）；页面不引入外部图片（图形全用矢量形状）
- 目标文件被 PowerPoint 打开（存在 `~$` 锁文件）→ **拒绝生成**
- 生成器**只写 `--out` 指定的文件**，绝不移动 / 删除任何其他文件

## 红线

- 生成前关掉 PowerPoint，或确保目标文件没在 PowerPoint 里打开（`~$` 锁文件会让生成器拒绝执行）
- **重新生成 pptx 会清空动效** → 每次 `build_deck.py` 之后必须重跑 `add_animations.ps1`（跑前也要关掉 PowerPoint）
- 改形状名（ `panel-*` / `content-*` / `kv-*` / `col*` / `title` / `index` / `motif-*` / `pagenum`）会**弄坏加动效脚本**：脚本靠这些名字识别动画单元，改名前先读 `references/design-spec.md` 的《动效规范》
- 本 skill **不写备注**（notes）；讲稿另存 md
- **不加动效**（python-pptx 不支持；且面试 PPT 由对方播放）
- 导出 PDF 用 `export_pdf.ps1`（打印画质），不要用 PowerPoint 默认「另存为 PDF」（会把图片压糊）
- 文案中的人名、经历**必须真实**：内容来自使用者的既有文档，不得编造

