Skill Hub · 诺亚 AI 能力中心 静态参考版

让每一个技能成为可信资产 —— 诺亚 Agent 生态的技能资产中心:统一注册、检测把关、按需复用。本站为 skill-hub.noahgroup.com 于 2026-08-21 的全量数据镜像。

镜像采集 2026-08-2166 个已发布技能18 个分类 · 3 条分发渠道含技能包 SKILL.md 全文
← 返回目录

slides

SKILL_762929974 · vv1.0 · 通用工具 · Owner:— · 发布于 2026-08-11
调用 130 下载 1 点赞 0 浏览 0
简介
通用PPT处理工具,支持幻灯片创建、编辑、美化、模板填充及长材料转换。
触发词
PPT生成,PPT编辑,PPT美化,模板填充,报告转PPT
分发渠道
ARK Engine
功能测试
✅ 通过 · 业务评审:✅ 通过
技能包文件
slides/.DS_Store、slides/LICENSE.txt、slides/SKILL.md、slides/agents/openai.yaml、slides/assets/pptxgenjs_helpers/code.js、slides/assets/pptxgenjs_helpers/image.js、slides/assets/pptxgenjs_helpers/index.js、slides/assets/pptxgenjs_helpers/latex.js …共113个文件
使用示例:帮我把这份长报告转换成10页PPT

SKILL.md 全文

Frontmatter

nameslides
description"General PowerPoint routing skill for non-Noah slide work. Use when a PPT/PPTX/POTX/deck/presentation is the requested artifact or an existing .pptx/.potx needs to be opened, read, analyzed, modified, beautified, filled from a template, combined, split, or otherwise touched. Trigger for creating slide decks, pitch decks, reports, outline-to-PPT tasks, template-based PPT creation, and small edits to already generated decks. Do not start PPT work with ad hoc Bash/python-pptx/openpyxl/pandas when this skill applies. Do not use for Noah/诺亚/Noah Holdings/诺亚控股 standard-branded decks; use noah-ppt-layout-standard instead."
licenseProprietary. LICENSE.txt has complete terms

Slides Skill

Use this skill for general PPT work. For Noah/诺亚-branded standard decks, use the dedicated Noah standard skill instead.

Request Router

Before creating, editing, or unpacking any deck, classify the request into: 1. exactly one primary path; and 2. zero or more secondary capabilities. State the chosen primary path and secondary capabilities briefly, then load only the guide required for the primary path. Secondary capabilities modify local behavior inside that path; they do not start separate workflows.

Primary Paths

Choose exactly one primary path by priority. If more than one path matches, use this order: noah-route > edit-existing / beautify-existing > template-fill > long-material > create-generic > outline-only | Primary Path | Use When | Action | |--------------|----------|--------| | noah-route | Request mentions Noah, 诺亚, Noah Holdings, 诺亚控股, 诺亚财富, ARK Wealth, Olive, Glory, 诺亚风格, or Noah standard templates | Do not generate in this skill. Use the dedicated noah-ppt-layout-standard skill if available. | | edit-existing | A PPTX exists and the user asks for specific changes, replacements, deletions, additions, page edits, wording changes, or local layout fixes | Read [editing.md](editing.md). Build a deck-level change map, then batch edits. | | beautify-existing | A PPTX exists and the user asks to make it prettier, more polished, more unified, more professional, or adjust style | Read [editing.md](editing.md). Preserve content order and meaning; do local style/layout changes instead of rebuilding the whole deck unless explicitly requested. | | template-fill | User asks to use, follow, preserve, or fill an uploaded/reference template | Read [editing.md](editing.md). Inventory the template, map content to layouts, then batch structural/text edits. | | long-material | User provides a long report, transcript, article, research material, or dense source files to convert into PPT | First condense into a slide plan, default to 8-12 slides unless the user specifies length, then create with direct PptxGenJS. | | create-generic | User asks to generate a new general PPT/PPTX and the request is not Noah-branded | Read [pptxgenjs.md](pptxgenjs.md), write direct PptxGenJS, and run qa.py. | | outline-only | User asks for PPT ideas, outline, structure, page plan, script, or framework, but does not ask for a PPTX/file/export | Return a structured text outline. Do not create a PPTX. |

Secondary Capabilities

Apply these only inside the chosen primary path: | Secondary Capability | Trigger | Required Behavior | |----------------------|---------|-------------------| | data-chart | KPIs, statistics, comparison, trends, returns, dashboards, charts, gauges, progress bars, or matrices | Use [pptxgenjs.md](pptxgenjs.md) chart primitives first. Do not explore common chart APIs with temporary decks. | | style-refresh | prettier, polished, modern, premium, unified style, color improvement, typography, spacing | Preserve the main path. Improve style locally; do not rebuild the storyline unless [editing.md](editing.md) triage explicitly selects rebuild-existing. | | language-preserve | User request is in a specific language, especially Chinese | Keep all audience-facing slide text and user-facing progress/final messages in that language. | | asset-aware | User uploads images, logos, screenshots, templates, spreadsheets, PDFs, docs, or data files | Inspect the files in parallel where possible, then use only the needed extracted content/assets. | Coverage rule: these primary paths plus secondary capabilities cover normal PPT requests. If the user asks only for analysis of a PPT, use edit-existing in analysis-only mode and do not write files. Small edit rule: if the user wants to modify an already generated or uploaded PPT with a narrow request such as "change this title", "replace page 3 text", "remove two slides", "add one chart", "make this page cleaner", or "fix the colors", stay in edit-existing. Do not recreate the deck from scratch unless the user explicitly asks for a full rebuild.

Quick Reference

| Task | Guide | |------|-------| | Read/analyze content | python -m markitdown presentation.pptx | | Edit or create from template | Read [editing.md](editing.md) | | Create from scratch | Read [pptxgenjs.md](pptxgenjs.md) and write direct PptxGenJS | ---

Script Paths

Resolve scripts from the skill root. On the server the default is ${SKILLS_ROOT:-/mnt/agentrun_sg/skills}/slides; do not embed workstation paths.
SKILL_ROOT="${SLIDES_SKILL_ROOT:-${SKILLS_ROOT:-/mnt/agentrun_sg/skills}/slides}"
Key scripts:

Parallelism

Parallelize independent reads and inspections to reduce wall time. This is mandatory for non-trivial PPT work. Do not parallelize dependent writes or build steps: ---

Reading Content

# Text extraction
python -m markitdown presentation.pptx

Visual overview

python "$SKILL_ROOT/scripts/thumbnail.py" presentation.pptx

Raw XML

python "$SKILL_ROOT/scripts/office/unpack.py" presentation.pptx unpacked/
---

Editing Workflow

Read [editing.md](editing.md) for full details. For existing PPTX edits, especially template + spreadsheet updates, use the structured manifest route: 1. Inspect sources in parallel: spreadsheet/data extraction, markitdown, and deck manifest. 2. Write one plan_changes.json. 3. Apply the plan with $SKILL_ROOT/scripts/apply_manifest_edits.py. 4. Clean, pack, and validate. Do not read ppt/slides/slide*.xml one by one to decide what to do. Direct XML is allowed only inside a deterministic script or a grouped patch after the manifest route has identified a missing operation. ---

Creating from Scratch

Read [pptxgenjs.md](pptxgenjs.md) for full details. Use when no template or reference presentation is available. Keep this path freeform and do not use the Noah kit or presets. For common statistical visuals, use the stable primitives in [pptxgenjs.md](pptxgenjs.md): donut gauges, progress bars, KPI grids, comparison bars, and stat matrices. PptxGenJS addChart() is allowed when an editable native chart is useful; qa.py automatically applies the known PptxGenJS chart XML repair. If chart schema validation still fails after qa.py, do not unpack chart XML, read PptxGenJS source, or write temporary XML fix scripts. Replace the failing chart with a shape-based or SVG/PNG chart. ---

Design Ideas

Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.

Before Starting

Color Palettes

Choose colors that match your topic — don't default to generic blue. Use these palettes as inspiration: | Theme | Primary | Secondary | Accent | |-------|---------|-----------|--------| | Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) | | Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) | | Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) | | Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) | | Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) | | Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) | | Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) | | Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) | | Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) | | Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |

For Each Slide

Every slide needs a visual element — image, chart, icon, or shape. Text-only slides are forgettable. Layout options: Data display: Visual polish:

Typography

Choose an interesting font pairing — don't default to Arial. Pick a header font with personality and pair it with a clean body font. | Header Font | Body Font | |-------------|-----------| | Georgia | Calibri | | Arial Black | Arial | | Calibri | Calibri Light | | Cambria | Calibri | | Trebuchet MS | Calibri | | Impact | Arial | | Palatino | Garamond | | Consolas | Calibri | | Element | Size | |---------|------| | Slide title | 36-44pt bold | | Section header | 20-24pt bold | | Body text | 14-16pt | | Captions | 10-12pt muted |

Spacing

Avoid (Common Mistakes)

---

QA

For direct PptxGenJS generation, run the full fast QA chain as one command:
SKILL_ROOT="${SLIDES_SKILL_ROOT:-${SKILLS_ROOT:-/mnt/agentrun_sg/skills}/slides}"
python3 "$SKILL_ROOT/scripts/qa.py" deck.js output.pptx
qa.py runs syntax check, builds the deck, applies the pptxgenjs OOXML order fix, applies the known PptxGenJS chart XML fix, removes missing [Content_Types].xml overrides, scans extracted content for placeholders/object leaks, and validates the PPTX schema. Do not run these as separate tool calls unless debugging a failing step. For template/XML workflows, after packing run:
node "$SKILL_ROOT/scripts/fix_content_types.js" output.pptx
python3 "$SKILL_ROOT/scripts/validate_content.py" output.pptx
python3 "$SKILL_ROOT/scripts/office/validate.py" output.pptx --original input.pptx
Do not render slides, convert to images, or do manual visual QA. This applies even when the user asks for a preview or reports a style/layout problem — rely on qa.py, validate_content.py, and office/validate.py instead. Do not use office/soffice.py, pdftoppm, or any PDF/image rendering step on generated or edited decks. ---

Dependencies

Use dependencies already provided by the runtime. Do not install or upgrade apt, pip, or npm packages from this skill unless the user explicitly asks.