Skip to content
cccskills
FreePublished on GitHub

ppt-scene-graph

PPT 视觉场景图 + 美化/创建流水线。从 PPTX 提取结构化布局数据(元素树、空间关系、布局模式),并提供一键美化、从大纲创建演示文稿能力。内置 DesignHub 设计系统,支持多种主题。

完全独立,无需外部 python-pptx 依赖(已 vendor)。

The English summary is being prepared. Showing the original description.

Works withPowerPoint
See how to install

Files included (109)

  • SKILL.md6.2 KB
  • LICENSE1.1 KB
  • ppt_scene_graph/__init__.py743 B
  • ppt_scene_graph/design.py6.8 KB
  • ppt_scene_graph/pipeline.py29.2 KB
  • ppt_scene_graph/vendor/__init__.py202 B
  • ppt_scene_graph/vendor/pptx/__init__.py2.1 KB
  • ppt_scene_graph/vendor/pptx/action.py9.4 KB
  • ppt_scene_graph/vendor/pptx/api.py1.7 KB
  • ppt_scene_graph/vendor/pptx/chart/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/chart/axis.py16.9 KB
  • ppt_scene_graph/vendor/pptx/chart/category.py7.0 KB
  • ppt_scene_graph/vendor/pptx/chart/chart.py9.7 KB
  • ppt_scene_graph/vendor/pptx/chart/data.py29.1 KB
  • ppt_scene_graph/vendor/pptx/chart/datalabel.py9.2 KB
  • ppt_scene_graph/vendor/pptx/chart/legend.py2.5 KB
  • ppt_scene_graph/vendor/pptx/chart/marker.py2.0 KB
  • ppt_scene_graph/vendor/pptx/chart/plot.py12.9 KB
  • ppt_scene_graph/vendor/pptx/chart/point.py2.7 KB
  • ppt_scene_graph/vendor/pptx/chart/series.py7.2 KB
  • ppt_scene_graph/vendor/pptx/chart/xlsx.py10.6 KB
  • ppt_scene_graph/vendor/pptx/chart/xmlwriter.py65.8 KB
  • ppt_scene_graph/vendor/pptx/dml/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/dml/chtfmt.py1.3 KB
  • ppt_scene_graph/vendor/pptx/dml/color.py8.9 KB
  • ppt_scene_graph/vendor/pptx/dml/effect.py1.5 KB
  • ppt_scene_graph/vendor/pptx/dml/fill.py13.0 KB
  • ppt_scene_graph/vendor/pptx/dml/line.py3.0 KB
  • ppt_scene_graph/vendor/pptx/enum/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/enum/action.py1.7 KB
  • ppt_scene_graph/vendor/pptx/enum/base.py5.7 KB
  • ppt_scene_graph/vendor/pptx/enum/chart.py13.7 KB
  • ppt_scene_graph/vendor/pptx/enum/dml.py11.8 KB
  • ppt_scene_graph/vendor/pptx/enum/lang.py21.9 KB
  • ppt_scene_graph/vendor/pptx/enum/shapes.py29.0 KB
  • ppt_scene_graph/vendor/pptx/enum/text.py7.9 KB
  • ppt_scene_graph/vendor/pptx/exc.py473 B
  • ppt_scene_graph/vendor/pptx/media.py10.3 KB
  • ppt_scene_graph/vendor/pptx/opc/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/opc/constants.py17.7 KB
  • ppt_scene_graph/vendor/pptx/opc/oxml.py5.9 KB
  • ppt_scene_graph/vendor/pptx/opc/package.py29.4 KB
  • ppt_scene_graph/vendor/pptx/opc/packuri.py3.7 KB
  • ppt_scene_graph/vendor/pptx/opc/serialized.py11.2 KB
  • ppt_scene_graph/vendor/pptx/opc/shared.py709 B
  • ppt_scene_graph/vendor/pptx/opc/spec.py998 B
  • ppt_scene_graph/vendor/pptx/oxml/__init__.py15.3 KB
  • ppt_scene_graph/vendor/pptx/oxml/action.py1.6 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/oxml/chart/axis.py9.2 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/chart.py7.9 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/datalabel.py7.5 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/legend.py2.0 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/marker.py1.7 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/plot.py9.0 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/series.py7.4 KB
  • ppt_scene_graph/vendor/pptx/oxml/chart/shared.py5.9 KB
  • ppt_scene_graph/vendor/pptx/oxml/coreprops.py10.2 KB
  • ppt_scene_graph/vendor/pptx/oxml/dml/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/oxml/dml/color.py2.4 KB
  • ppt_scene_graph/vendor/pptx/oxml/dml/fill.py5.8 KB
  • ppt_scene_graph/vendor/pptx/oxml/dml/line.py379 B
  • ppt_scene_graph/vendor/pptx/oxml/ns.py4.6 KB
  • ppt_scene_graph/vendor/pptx/oxml/presentation.py4.2 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/__init__.py588 B
  • ppt_scene_graph/vendor/pptx/oxml/shapes/autoshape.py14.4 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/connector.py3.5 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/graphfrm.py12.8 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/groupshape.py9.8 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/picture.py8.3 KB
  • ppt_scene_graph/vendor/pptx/oxml/shapes/shared.py13.6 KB
  • ppt_scene_graph/vendor/pptx/oxml/simpletypes.py19.3 KB
  • ppt_scene_graph/vendor/pptx/oxml/slide.py11.0 KB
  • ppt_scene_graph/vendor/pptx/oxml/table.py19.6 KB
  • ppt_scene_graph/vendor/pptx/oxml/text.py19.8 KB
  • ppt_scene_graph/vendor/pptx/oxml/theme.py685 B
  • ppt_scene_graph/vendor/pptx/oxml/xmlchemy.py26.3 KB
  • ppt_scene_graph/vendor/pptx/package.py7.7 KB
  • ppt_scene_graph/vendor/pptx/presentation.py3.7 KB
  • ppt_scene_graph/vendor/pptx/py.typed0 B
  • ppt_scene_graph/vendor/pptx/shapes/__init__.py720 B
  • ppt_scene_graph/vendor/pptx/shapes/autoshape.py13.4 KB
  • ppt_scene_graph/vendor/pptx/shapes/base.py7.7 KB
  • ppt_scene_graph/vendor/pptx/shapes/connector.py9.8 KB
  • ppt_scene_graph/vendor/pptx/shapes/freeform.py12.2 KB
  • ppt_scene_graph/vendor/pptx/shapes/graphfrm.py6.0 KB
  • ppt_scene_graph/vendor/pptx/shapes/group.py2.2 KB
  • ppt_scene_graph/vendor/pptx/shapes/picture.py6.7 KB
  • ppt_scene_graph/vendor/pptx/shapes/placeholder.py14.4 KB
  • ppt_scene_graph/vendor/pptx/shapes/shapetree.py46.3 KB
  • ppt_scene_graph/vendor/pptx/shared.py2.7 KB
  • ppt_scene_graph/vendor/pptx/slide.py18.3 KB
  • ppt_scene_graph/vendor/pptx/spec.py23.3 KB
  • ppt_scene_graph/vendor/pptx/table.py16.6 KB
  • ppt_scene_graph/vendor/pptx/templates/default.pptx33.2 KB
  • ppt_scene_graph/vendor/pptx/templates/docx-icon.emf124.2 KB
  • ppt_scene_graph/vendor/pptx/templates/generic-icon.emf5.3 KB
  • ppt_scene_graph/vendor/pptx/templates/notes.xml722 B
  • ppt_scene_graph/vendor/pptx/templates/notesMaster.xml10.9 KB
  • ppt_scene_graph/vendor/pptx/templates/pptx-icon.emf5.4 KB
  • ppt_scene_graph/vendor/pptx/templates/theme.xml10.7 KB
  • ppt_scene_graph/vendor/pptx/templates/xlsx-icon.emf127.3 KB
  • ppt_scene_graph/vendor/pptx/text/__init__.py0 B
  • ppt_scene_graph/vendor/pptx/text/fonts.py12.6 KB
  • ppt_scene_graph/vendor/pptx/text/layout.py10.0 KB
  • ppt_scene_graph/vendor/pptx/text/text.py24.9 KB
  • ppt_scene_graph/vendor/pptx/types.py867 B
  • ppt_scene_graph/vendor/pptx/util.py7.9 KB
  • README.md10.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

PPT Scene Graph — OpenClaw Skill

Visual Scene Graph for PowerPoint + Unified Production Pipeline

让 AI 看到并理解幻灯片布局,同时提供完整的美化/创建能力。


核心能力

能力说明状态
🎨 PPT 美化一键应用设计主题,自动调整字体/颜色/间距✅
🏗️ 从零创建基于大纲 YAML/JSON 自动生成完整演示文稿✅
🔍 场景图解析提取元素树、空间关系、布局模式✅
📊 质量评估评分 PPT 设计质量(对比度、对齐、一致性)✅
🎯 智能检测自动识别封面/章节/内容/结尾等幻灯片类型✅

设计系统(内置主题)

主题风格适用场景
designhub_warm温暖希望系(奶油白 + 暖红 + 生命绿)学生/公众演讲、情感叙事
designhub_pro专业商务系(深蓝 + 金)企业汇报、商务演示
projection投影优化系(高对比度、大字体)大型会场投影

快速开始

1. 美化现有 PPT

from ppt_scene_graph import beautify

# 使用默认主题美化
beautify("input.pptx", theme="designhub_warm", output_path="output.pptx")

# 不添加页码
beautify("input.pptx", add_page_numbers=False)

2. 从大纲创建 PPT

from ppt_scene_graph import create_from_outline
from ppt_scene_graph.pipeline import SlideSpec, OutlineSpec

outline = OutlineSpec(
    title="我的演示",
    subtitle="副标题",
    slides=[
        SlideSpec(type='cover', title="封面标题", subtitle="封面副标题"),
        SlideSpec(type='section', title="1. 第一章"),
        SlideSpec(type='content', title="内容页", body=["要点1", "要点2", "要点3"]),
        SlideSpec(type='ending', title="谢谢", subtitle="Q&A"),
    ]
)

create_from_outline(outline, theme="designhub_warm", output_path="output.pptx")

3. 解析场景图

from ppt_scene_graph import parse_slide

slide_data = parse_slide("presentation.pptx", slide_idx=0)
print(slide_data)
# {
#     "elements": [...],
#     "relations": [...],
#     "layout_pattern": "two_column"
# }

4. 评估 PPT 质量

from ppt_scene_graph import evaluate

report = evaluate("presentation.pptx")
print(report)
# {
#     "total_score": 85,
#     "contrast_ratio": "PASS",
#     "alignment": "GOOD",
#     ...
# }

CLI 使用

# 美化
python -m ppt_scene_graph.pipeline beautify input.pptx -t designhub_warm -o output.pptx

# 创建
python -m ppt_scene_graph.pipeline create --outline outline.yaml -o output.pptx

# 评估
python -m ppt_scene_graph.pipeline evaluate input.pptx

技术架构

依赖管理

✅ 完全独立 — 无需外部 python-pptx 依赖

  • python-pptx (MIT) 已 vendor 到 ppt_scene_graph/vendor/pptx/
  • 安装 skill 后即可使用,无需 pip install python-pptx

项目结构

ppt-scene-graph-opensource/
├── ppt_scene_graph/
│   ├── __init__.py          # 导出 API + vendor 路径设置
│   ├── pipeline.py          # 美化/创建/评估流水线
│   ├── design.py            # DesignSystem 设计系统
│   └── vendor/             # Vendored 依赖
│       ├── __init__.py
│       └── pptx/           # python-pptx 源码 (MIT)
├── SKILL.md                # OpenClaw Skill 定义
├── README.md               # 使用文档
├── DESCRIPTION.txt         # 简短描述(347 字符)
├── LICENSE                 # MIT License
└── scripts/               # OpenClaw 调用脚本(可选)
    ├── beautify.py
    ├── create.py
    └── evaluate.py

集成到 OpenClaw

安装方式

# 方式1:直接复制到 skills 目录
cp -r ppt-scene-graph-opensource ~/.qclaw/skills/ppt-scene-graph

# 方式2:符号链接(开发模式)
ln -s $(pwd)/ppt-scene-graph-opensource ~/.qclaw/skills/ppt-scene-graph

在 OpenClaw 中使用

# 在 OpenClaw agent 中调用
from ppt_scene_graph import beautify, create_from_outline, evaluate

# 美化用户上传的 PPT
beautify(upload_path, theme="projection", output_path=output_path)

# 根据用户描述创建 PPT
outline = build_outline_from_user_input(user_prompt)
create_from_outline(outline, output_path=output_path)

设计理念

This is infrastructure code. It works. Skill-ified and ready to use. If you have questions, just ask the agent.

已完成 Skill 化 (v2.0.0)

  • ✅ 完全独立 — python-pptx (MIT) 已 vendor 到 ppt_scene_graph/vendor/pptx/
  • ✅ 零外部依赖 — 安装 skill 后即可使用,无需 pip install python-pptx
  • ✅ 标准结构 — 包含 SKILL.md, README.md, scripts/, vendor/

核心原则

  • ✅ 规则驱动 — 基于启发式规则,无需模型
  • ✅ 可预测 — 确定性的输出,便于调试
  • ✅ 投影友好 — 高对比度、大字体、安全的配色方案

有问题?

  • 📖 读 README.md(完整使用文档)
  • 🧪 运行 python test_skill_simple.py(验证安装)
  • 🤖 直接问智能体(OpenClaw Agent 已加载此 skill,支持自然语言交互)

许可证

MIT — 自由使用、修改、分发


致谢

  • Steve Canny — python-pptx 原作者
  • DesignHub — 设计系统灵感来源
  • McKinsey/PPTAgent/html-ppt-skill/pptx — 主题预设聚合来源

更新日志

v2.0.0 (2026-05-30)

  • 🎉 Skill 化 — 改造为独立 OpenClaw Skill
  • 📦 Vendor python-pptx — 移除外部依赖,完全独立
  • 📝 重写文档 — SKILL.md + README.md
  • ✨ 保留所有原有功能 — 美化/创建/评估/解析

v1.0.0 (原始版本)

  • 初始版本(基于 python-pptx 外部依赖)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

原稿の主張と図の役割を頁ごとに整理し、選んだ書式を全頁へ引き継ぐ画像スライドと話者ノートを作る。

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

Convert literature reviews, paper folders, thesis drafts, journal-style reports, or research outlines into rigorous academic slide decks and review artifacts. Use when Codex must create, rebuild, or polish PPTX presentations from scholarly sources while preserving academic logic, citation-aware image/formula handling, editable layouts, figure explanations, template fidelity, and export-based visual QA.

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

既存PPTXの書式・配置を抽出し、planとnative編集操作からPowerPointを生成・検査する。

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

読者と目的から構成・版式を決め、確認を挟みながら、編集できる図形と文字のPPTXにする。

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

全流程AI制作PPT演示文稿技能,克制专业、风格可选 A/B/C 三档(Aham UI v6.1 · Office 轨 · PPT)。 当用户说"帮我做PPT""做演示文稿""做一个汇报""根据这份资料做PPT" "做客户方案PPT""制作幻灯片"时立即触发。即使只有一句话需求也触发。 八阶段模块化流程:规范加载→材料解析→论点提炼→叙事骨架→大纲版式→样稿确认→逐页设计→质检交付。 内置能力自适应教练机制,无论用户专业水平高低,均引导至及格以上输出。 注意:本技能用于 PowerPoint / pptx 输出;SVG/HTML 版本见 ppt-svg 技能。

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

原典のReact scene kitを実scaffoldし、安定layoutIdの共通canvasでentityが移動・morphする日本語ブラウザ資料を作る。

The English summary is being prepared. Showing the original description.

studio-yebisu/yaoyorozu-ai-toolbox-slides10Updated Oct 22, 2026

See all skills by studio-yebisu

Report a problem with this skill