查真实用户两个「ppt生成」任务的 DB 执行轨迹:24 页 SVG 共 0 个 <use data-icon>。 根因是图标管线四环节无一强制图标落地——策略层(有时)锁图标,执行层不放、 质检层不拦、工具层还断着。四层一起修: - B 工具断点:references/SKILL 23 处路径仍指向已不存在的 skills/ppt-master/ (zcbot 是 skills/ppt/)→ 模型 `ls .../icons/<lib>/|grep` 验名得空集 → 放弃图标; 且 strategist 强制用的 icon_sync.py 在 zcbot 根本没有(GATE 空转,正是某任务连 图标都没锁的原因)。修:全量改路径(保留上游署名)+ 新建 icon_sync.py(复用 embed_icons 解析,验名+拷进 project/icons,缺名非零退出)。 - A 质检兜底(硬门):svg_quality_checker 加图标校验——锁了 icons.library + 非空 inventory 但全 deck 0 图标 → deck 级 error 退非零(逼回执行重写);单页 0 图标 → warning(封面/分节/breathing/尾页豁免)。 - C 执行强制:executor-base §4 + SKILL 执行纪律改为"内容页必须放 1–3 个 inventory 图标"(自由设计无模板可继承图标,只能逐页手写)。 - D 导出兜底(纵深):svg_to_pptx 导出前预扫,锁了 inventory 却 0 图标 → stderr 大声 [WARN](非致命,防跳过质检直接导出)。核实 native 转换器本就自己从图标库展开 <use data-icon>,故原设想的"finalize 硬前置"前提不成立,D 改成与 A 同源的导出层警告。 同版附带修 svg_preview.py 在沙箱里渲不出 SVG(报"未找到 Chrome / Edge"):移植自 ppt-master 的 find_browser() 只认 Windows chrome/msedge,不认镜像自带 /usr/bin/chromium (给 mermaid 装的)→ 视觉验收这关在容器里全程失效。对齐 rendering/pdf.py 发现逻辑 (认 chromium/chromium-browser/google-chrome + $CHROMIUM 覆盖);render() 补容器必需的 --disable-dev-shm-usage + 临时 --user-data-dir;并修一个静默已久的 bug——--screenshot 传相对路径 chromium 写不出文件(原代码吞 stderr,看着和"没浏览器"一样),改传绝对路径 并暴露 chromium stderr。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| brands | ||
| charts | ||
| decks | ||
| icons | ||
| layouts | ||
| README.md | ||
| design_spec_reference.md | ||
| spec_lock_reference.md | ||
README.md
Template Resources
Design Specification & Outline Reference
design_spec_reference.md is an all-in-one reference template for defining:
- Visual Specifications: Canvas dimensions, color scheme, typography, layout principles
- Content Outline: Slide-by-slide page structure planning
- Technical Constraints: Hard requirements for SVG generation and PPT compatibility
Page Layout Templates
The layouts/ directory contains pre-built page layout templates organized by design style:
-
General: Versatile modern style, clean and flexible
-
Consultant: Consulting style, professional and structured
-
Consultant Top: Top-tier consulting style (MBB-level)
-
Academic Defense: Academic defense style, research-oriented
-
Human browsing: layouts/README.md
-
Slim lookup (discovery only): layouts/layouts_index.json — used to answer "what templates exist?". Step 3 triggers on an explicit directory path supplied by the user, not on names from this index.
Brand Identity Presets
The brands/ directory holds brand-only templates: identity bundles (color / typography / logo / voice / icon style) without an SVG page roster. Brands follow the same explicit-path trigger rule as layout templates — at SKILL.md Step 3 the user supplies the brand directory path to apply it; bare brand names never trigger. Both layout and brand inputs land in the same project directory (<project_path>/templates/). When supplied together, Step 3 fuses them into a single design_spec.md (brand wins on identity tokens, layout wins on page structure) — see SKILL.md Step 3 for the precedence table.
A brand is structurally a layout template minus its page roster. Use a brand when the user wants identity locking with free page layout; use a layout template when fixed page structures are also required.
- Human browsing: brands/README.md
- Discovery index (no trigger): brands/brands_index.json — answers "what brands exist?"; Step 3 still requires an explicit directory path from the user
- Creation workflow:
../workflows/create-brand.md
Visualization Templates
The charts/ directory contains 57 standardized visualization templates. For backward compatibility, the directory name remains charts/, but its scope includes charts, infographics, process diagrams, relationship diagrams, strategic frameworks, and system architecture diagrams:
-
KPI Cards
-
Bar Chart / Stacked Bar Chart
-
Line Chart / Dual-Axis Line Chart
-
Donut Chart
-
Radar Chart
-
Funnel Chart
-
Matrix (2x2)
-
Timeline
-
Gantt Chart
-
Process Flow
-
Org Chart
-
Layered Architecture / Module Composition / Hub with Described Spokes / Pipeline with Stages / Client-Server Flow
-
Library index (single source of truth): charts/charts_index.json
-
Directory overview: charts/README.md
Icon Library
The icons/ directory contains 11,600+ vector icons across five libraries:
| Library | Style | Count |
|---|---|---|
chunk-filled |
fill / straight-line geometry | 640 |
tabler-filled |
fill / bezier-curve forms | 1000+ |
tabler-outline |
stroke / line | 5000+ |
phosphor-duotone |
duotone / single color + 0.2 opacity backplate | 1200+ |
simple-icons |
brand logos (company / product marks) | 3400+ |
- Usage & style rules: icons/README.md
- Search icons:
ls skills/ppt/templates/icons/<library>/ | grep <keyword>