mcpField
S
slides

slides

github.com/jetbrains文档处理38599 次安装1 周前更新
代码仓库

关于 slides

用于使用 PptxGenJS 创建、重建和编辑 PowerPoint 演示文稿的技能,强调可编辑输出,并要求交付前进行渲染审查和验证。

主要功能

  1. 01使用 PptxGenJS 编写 JavaScript
  2. 02保留可编辑的 PowerPoint 原生元素
  3. 03提供幻灯片渲染和拼图脚本
  4. 04检查内容溢出和字体问题
  5. 05指导重建和编辑现有演示文稿

适用场景

  1. 01创建新的 PowerPoint 演示文稿
  2. 02根据源演示文稿或 PDF 重建幻灯片
  3. 03检查渲染结果中的布局问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jetbrains/skills --skill slides

安装后在 Claude Code 中输入/slides确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
agents/
openai.yaml
assets/
slides-small.svg
scripts/
create_montage.py
detect_font.py
render_slides.py
slides_test.py

详细介绍

幻灯片

概述

使用 PptxGenJS 编写幻灯片。除非任务仅涉及检查,否则不要使用 python-pptx 生成演示文稿;请用 JavaScript 保留可编辑的输出,并同时交付 .pptx 和源文件 .js。

请在任务专用目录中开展工作。只有在渲染和验证通过后,才将最终文件复制到指定目标位置。

捆绑资源

  • scripts/render_slides.py:将 .pptx 或 .pdf 栅格化为逐页 PNG 图片。
  • scripts/slides_test.py:检测是否有内容超出幻灯片画布。
  • scripts/create_montage.py:将渲染后的幻灯片制作为联系表样式的拼图。
  • scripts/detect_font.py:报告 LibreOffice 解析字体时缺失或被替换的字体。

工作流

  1. 检查请求,确定是要创建新演示文稿、重现现有演示文稿,还是编辑现有演示文稿。
  2. 尽早设置幻灯片尺寸。除非源材料明显采用其他宽高比,否则默认使用 16:9(LAYOUT_WIDE)。
  3. 使用 PptxGenJS 以 JavaScript 构建演示文稿,明确指定主题字体、保持间距一致,并在可行时使用可编辑的 PowerPoint 原生元素。
  4. 从此技能目录运行随附脚本,或将所需脚本复制到任务工作区。使用 render_slides.py 渲染结果,检查 PNG 图片,并在交付前修复布局问题。
  5. 如果幻灯片边缘空间紧张或内容密集,请运行 slides_test.py 检查溢出。
  6. 交付 .pptx、用于创作的 .js,以及重建演示文稿所需的所有生成资源。

编写规则

  • 明确设置主题字体。如果排版很重要,不要依赖 PowerPoint 默认字体。
  • 有意设置文本框尺寸,并通过渲染结果进行验证;最终布局不要依赖 PptxGenJS 的 fit 或 autoFit。
  • 使用项目符号选项,不要直接输入 • 字符。
  • 放置图片时,应明确计算裁剪或适应方式,确保纵横比和取景效果符合预期。
  • 对于简单的柱形图、折线图、饼图或直方图等图表,优先使用 PowerPoint 原生图表,方便审核者后续编辑。
  • 对于 PptxGenJS 无法良好表达的图表或示意图,请在外部渲染为 SVG,然后将 SVG 放入幻灯片。
  • 交付前修复所有非预期的重叠和越界问题。如果重叠是有意的,请在相关元素附近添加简短的代码注释。

重现或编辑现有幻灯片

  • 先渲染源演示文稿或参考 PDF,以便直观比较幻灯片几何布局。
  • 重建布局前,先匹配原始宽高比。
  • 尽可能保留可编辑性:文本应保持为文本,简单图表应保持为原生图表。

验证命令

以下示例假设你已将所需脚本复制到工作目录。如果没有,请使用相对于此技能目录的相同脚本路径。

# Render slides to PNGs for review
python3 scripts/render_slides.py deck.pptx --output_dir rendered

# Build a montage for quick scanning
python3 scripts/create_montage.py --input_dir rendered --output_file montage.png

# Check for overflow beyond the original slide canvas
python3 scripts/slides_test.py deck.pptx

# Detect missing or substituted fonts
python3 scripts/detect_font.py deck.pptx --json

评论

支持 Markdown