Ppt template editor
ppt-template-editor is an Agent Skill that enables LLM-driven systems to programmatically edit and manage PowerPoint templates through structured interfaces and automated slide manipulation workflows.
npx -y skills add RainJayTsai/ppt-template-editor --skill ppt-template-editorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 5 stars5 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.
What its author says it does
Copied from the file, not written here
使用 YAML 抽取與套用 PowerPoint 範本中的文字、圖表與表格佔位符。當使用者希望把 .pptx 範本轉成結構化 YAML、再逐頁回填 output 並輸出最終簡報時,使用此技能。
SKILL.md
2.9 KB, 903 tokens by cl100k_base, as published. Nobody here has run it
PPT Template Editor
將 template.pptx 轉成可編輯 YAML,逐頁回填 output,再套用回 PowerPoint。
適用時機
- 需要把簡報內容流程化成
extract -> resolve -> apply。 - 需要同時處理文字、圖表、表格 placeholders。
- 需要逐頁(by page)控制回填品質與可追蹤性。
輸入
template.pptxtemplate.yaml(由 extract 產生)- 可選參考資料:
txt/csv/json/html/xml(由assets.sources指定)
輸出
template.yamlresolved.yamlout.pptx
工作流程(重新命名)
- Step 1 - Build Template YAML
從 PPTX 抽出每頁placeholders/charts/tables骨架。 - Step 2 - Resolve Template YAML By Page
逐頁讀取page dict + references,只回填每個項目的output。 - Step 3 - Apply Output To PPTX
將resolved.yaml套用到原始template.pptx產生最終簡報。
指令
python ppt-template-editor/scripts/extract_templates.py template.pptx --out template.yaml
python ppt-template-editor/scripts/resolve_outputs.py template.yaml \
--subagent-cmd "python ppt-template-editor/scripts/codex_subagent_resolver.py" \
--out resolved.yaml
python ppt-template-editor/scripts/apply_from_yaml.py template.pptx resolved.yaml --out out.pptx
By-Page Resolve 參考載入規則
- 先讀:references/resolve-by-page.md
- 再讀:references/output-schema.md
- 若只需快速整批 resolve,可直接使用
scripts/resolve_outputs.py。 - 若需人工或外部 LLM 逐頁控制,使用:
scripts/read_page_context.pyscripts/write_page_resolve.py
Resolve 子代理協議
主流程傳給子代理(stdin JSON):
page_nopagereferences
子代理回傳(stdout JSON):
- 直接 page dict,或
{"page": <page_dict>}
Placeholder 規範
- 文字 placeholder 格式:
${{ ... }} - 圖表 placeholder 來源:圖表 shape 的 Alt Text Description(備援:shape name)
- 表格 placeholder 來源:表格 shape 的 Alt Text Description(備援:shape name)
MVP 限制
- 文字替換以 run 為單位;跨 run 以
rewrite_runs方式降級處理。 - 表格僅支援固定格數覆寫(不增減列欄)。
- 圖表套用採
python-pptx replace_data,輸入需為合法 categories/series。
失敗處理
- Shape 名稱缺失或重複會降低定位可靠性。
- 表格
output.values非二維陣列時,該表格跳過並記 warning。 - 頁碼超出範圍時,該頁跳過並記 warning。
Gives 0 of the 12 instructions most pdf office docs skills give in 903 tokens
Counted across 635 of the 690 authors here whose files we hold, read 2026-08-06
- extract text using pdfplumberin 92 of 635, across 25 files
- create PDFs using reportlabin 83 of 635, across 16 files
- read FORMS.md to fill out PDF formsin 80 of 635, across 13 files
- OCR scanned PDFs using pytesseractin 77 of 635, across 10 files
- merge or split PDFs using qpdfin 70 of 635, across 3 files
- use Excel formulas instead of hardcoded calculated valuesin 68 of 635, across 12 files
- unpack edit xml and repack existing documentsin 63 of 635, across 8 files
- document sources for hardcoded valuesin 61 of 635, across 9 files
- write minimal python code without unnecessary commentsin 59 of 635, across 7 files
- run the recalculation script after adding or modifying formulasin 58 of 635, across 6 files
- fix all identified formula errors and recalculatein 58 of 635, across 6 files
- format years as text stringsin 57 of 635, across 5 files
Said here and by no other author read
- extract page placeholders charts and tables into yaml
- fill only the output field for each item
- apply resolved yaml to original pptx
- read references before resolving pages
- use alt text description for chart placeholders
- pass page_no page and references to subagent
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.