Skip to content

About

A PPT Skill for Planners.

Resources

Security policy

Stars

244 stars

Watchers

2 watching

Forks

Repository files navigation

Planner's PPT Hell v5

License: AGPL-3.0 Skill

主 Agent 把材料或上游交来的画面契约做成有证据、可读、跨页一致的 SVG 画面。两个出口:

  • 可编辑 PPT —— 按材料复杂度整理内容或调用 Bypage、自主设计 SVG、渲染看图调整、可选整套人工审阅,导出 PPTX。
  • 视频静态画面 —— 从上游生产包或直接材料出发,制作并交付 SVG 与关联素材;元素级动画标识按需添加,无需额外导出。

作者:阿祖不看 TVC(小红书同名) · demyth.info · Lawyif@163.com

入口见 SKILL.md。依赖见 scripts/requirements.txt;Python 还需 Playwright Chromium。

它解决什么

材料到画面之间最难的一段不是排版,而是内容取舍和看着画面改画面。本 Skill 让主 Agent 按材料复杂度完成必要的内容整理,再自己设计 SVG、渲染出来看、看着改 —— 画面本身成为判断依据,而不是先定稿再排版。

工程上它只保证三件事:画面有证据(检查画面与导出 PPT 共用同一套坐标几何)、跨页一致(画布与视觉 token 只有一个 owner)、可复核(校验器与渲染结果留在项目里,人能回看)。

适合 / 不适合

适合:

  • 有一批材料、或一份上游逐页内容稿,要做可编辑的 PPT;
  • 上游 video-idea-system 交了 visual-plan.json,要在录制前把静态画面做出来;
  • 要复用指定品牌模板,或从已有 PPTX 提取模板;
  • 已有项目需要返修。

不适合:

  • 只需要一份逐页内容稿(用 Planners Bypage);
  • 要动画或成片(那是 video-craft 的事);
  • 只要"一句话生成的成品 PPT",不接受中间有一轮看图修订。

安装

通用 Skills CLI:

npx skills add https://github.com/thePlannerIvan/planners-ppt-hell --skill planners-ppt-hell

公共模组(缺了会自动装)

本 Skill 依赖若干公共模组(独立发布的条目,不是本仓库的一部分):

某个模组不在本地时,本 Skill 的适配器会自动从 GitHub 装它,不需要手动准备。适配器找的地方按顺序:

  1. $PLANNERS_MODULES_HOME/<模组名>
  2. 本 Skill 的兄弟目录 <skills-root>/<模组名>(发布后的主路径)
  3. monorepo 里 02-skills-library/<分类>/<模组名>
  4. 用户级安装根:$PLANNERS_MODULES_INSTALL_DIR → $PLANNERS_MODULES_HOME(仅当它已含该模组,或那目录还不存在)→ 默认 ~/.planners-modules/<模组名>

前三条都没有时才自动安装(顺序不变,本地永远优先、不会无条件联网);装到第 4 条那个库外用户级目录,绝不写进 02-skills-library 工作树、~/.codex|~/.claude|~/.gemini 的技能目录、或任何系统目录。安装过程不静默:会打印缺哪个、找过哪些路径、从哪个 URL 装、装到哪、用的是 git clone --depth 1 还是 npx skills add、以及装到的 commit。装完先在暂存目录里验证(SKILL.md + 该模组声明的契约/校验器锚点文件都在),再用 rename 原子就位;任何失败都会清掉暂存、不留半成品,并给出可复制的手动安装命令。

要它只报不装(CI/离线/审计):

PLANNERS_NO_AUTO_INSTALL=1 <你的命令>
环境变量 作用
PLANNERS_MODULES_HOME 指定已有模组所在目录(解析第 1 条,也兼作安装根)
PLANNERS_MODULES_INSTALL_DIR 只指定自动安装的落点(优先级高于上面那条)
PLANNERS_MODULES_REF 要钉的 tag 或分支(不设 = 装默认分支 HEAD)
PLANNERS_NO_AUTO_INSTALL=1 只报不装;缺依赖时如实失败并打印手动命令

装的是默认分支 HEAD,日志里永远打 commit;HEAD 恰好被某个 tag 指着时,tag 也一并打出来。想钉版本就设 PLANNERS_MODULES_REF:

PLANNERS_MODULES_REF=v1.0.0 <你的命令>     # 钉在 tag 上
PLANNERS_MODULES_REF=main   <你的命令>     # 钉在某个分支上

钉了不存在的 ref 会如实失败(不会悄悄退回 HEAD),错误里带正确的可复制命令。

两条命令别搞混:谁装 Skill,谁抓依赖

用户装一个 Skill —— 用 Skills CLI,它会把条目放进各 agent 的技能目录:

npx skills add https://github.com/thePlannerIvan/<Skill 名> --skill <Skill 名>

Skill 自己抓一个公共模组(内部依赖) —— 用 git clone,落在库外的单一安装根:

git clone --depth 1 https://github.com/thePlannerIvan/<模组名>.git \
  "$HOME/.planners-modules/<模组名>"
# 想钉版本:加 --branch v1.0.0

内部依赖为什么不走 npx skills add:它没有 --dir 之类的落点参数,只会写进 ~/.claude/skills、~/.codex/skills 这类 runtime 技能目录(那是发布器的领地,写进去等于多一份漂移副本);而且它下载的目录不带 .git,拿不到 commit、也就没法追溯装的是哪一版。门面命令归用户,内部依赖归 clone —— 上面自动安装走的就是这条。

自动安装器自己的不变量测试(安装根优先级、禁地断言、候选顺序、幂等、失败清理、只报不装): python3 lib/planners_modules_install_test.py(working dir 用 scripts/lib 或 helpers/lib)

也可直接放入 Codex 或 Claude 的 Skill 目录:

git clone https://github.com/thePlannerIvan/planners-ppt-hell.git ~/.codex/skills/planners-ppt-hell
# 或
git clone https://github.com/thePlannerIvan/planners-ppt-hell.git ~/.claude/skills/planners-ppt-hell

典型用法

使用 $planners-ppt-hell,读这个项目文件夹的材料,做一套 12 页的可编辑 PPT。
使用 $planners-ppt-hell,按这个品牌模板复用,先给我看封面和一页内容页。
使用 $planners-ppt-hell,从这份 visual-plan.json 出发,做录制前的静态画面。

幻灯片路线

没有模板时自主选择视觉;严格品牌复用与模板提取按需启用。画幅默认 16:9,初始化可用 --width / --height 选择,值记录在项目 manifest,由 scripts/canvas_frame.py 统一解释;模板库在开局挑一个即可,不需要经过模板提取。

普通页面没有批准门。导出固定快照并运行技术检查;每个快照输出存入 _internal/06_ppt_output/<snapshot_id>/,根 final_deck.pptx 只是最近成功输出的兼容副本。

视频画面路线

python scripts/init_svg_project.py <project>/<画面目录> \
    --assets <包>/assets --plan <包>/visual-plan.json

没有生产包时可用 --source <上屏稿.md> --route video 直接制作,快照标明尚未绑定脚本。视觉身份由本 Skill 自己维护的视频风格文档(references/domain/video_style_*.md)或模板决定,也可以明确自主设计;不再从 Video Craft 的主题库挑,也不向它注册主题。普通 SVG 不要求逐页/整套批准,录制或交接直接交付已保存 SVG 与关联素材,固定版本快照按需使用;完整流程见 视频路线。

工作台持续可编辑,没有永久 COMPLETE。5.0 项目首次接入导入既有 SVG;更早项目不混用旧状态机。模板入库仍需当前包人工确认。

验证

在 Skill 根目录运行(测试里有隐含依赖当前目录的 import):

python3 -m unittest discover -s scripts/test -p 'test_*.py'

解释器必须已装 scripts/requirements.txt 的依赖。工程验证不替代真实用户的视觉与内容验收。

目录结构

planners-ppt-hell/
├── SKILL.md
├── agents/openai.yaml
├── assets/                  # 审阅页与模板库(planner-simple-default)
├── docs/                    # 架构说明与历史归档
├── evals/
├── examples/minimal_deck/
├── references/              # 契约、领域规则、分阶段工作流
└── scripts/                 # 画布几何、SVG 校验、渲染、模板、审阅接缝

品牌与署名边界

仓库文档、过程 HTML、审阅页面和验证页面可以显示项目来源与作者署名。Skill 默认不得把 Planner's PPT Hell、作者或网站标识写入客户最终 PPT、导出的 SVG 或 PNG。

开源许可证不授予冒充官方项目或作者背书的权利;修改版应明确标注 fork 或改动,详见 TRADEMARK.md。

开源协议与商业入口

代码以 AGPL-3.0-only 发布;请保留 NOTICE 中的项目来源与作者信息。闭源授权、私有部署、企业模板适配、工作流定制与培训见 COMMERCIAL.md。

由阿祖不看 TVC 创建与维护 · https://demyth.info · Lawyif@163.com。

工作台版本与选定输出

模型用 store checkout → 编辑候选 → save,基版与用户修改保护由程序验证。_internal/02_svg_source 是可重建视图,直接覆盖会被检测。 从网页输出按钮启动、指定既有快照或复核历史输出时,读 项目契约的选定版本输出。转换器本身无审批环境变量门;项目输出仍走控制器快照与技术检查。

About

A PPT Skill for Planners.

Resources

Security policy

Stars

244 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages