视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
powerpoint【文档与办公】Create designed, editable PowerPoint .pptx presentations with PptxGenJS. Use when the user asks to create, generate, update, or inspect a deck, slide deck, presentation, or .pptx file.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill whenever a PowerPoint deck is involved. For new decks, pass a trusted PptxGenJS build script directly to the pptx_write tool. For filling or editing an existing template, call pptx_template_analyze first and then pptx_template_fill with the exact IDs returned by analysis.
default async function build(pptx, ctx) or named build(pptx, ctx).pptx_write with path, script, optional assets_dir, and optional data.pptx_read; for visual QA, convert the PPTX to images if the environment has LibreOffice and Poppler.pptx_template_analyze when the user provides a .pptx template or wants to preserve existing layouts, charts, images, tables, or SmartArt.template_fill_pptx_plan.v1 plan from the returned slide IDs and object IDs, then call pptx_template_fill.smartarts[*].smartart_id and smartarts[*].nodes[*].node_id in smartart_edits. This edits existing node text only; it does not create, delete, or relayout SmartArt nodes.script argument.local_file_write or shell commands to create a temporary .mjs file for this workflow.script content and call pptx_write again.{
"tool": "pptx_write",
"arguments": {
"path": "deck.pptx",
"script": "export default async function build(pptx, ctx) {\\n pptx.layout = \"LAYOUT_WIDE\";\\n}",
"assets_dir": "/absolute/path/to/assets",
"data": {"title": "Quarterly Review"}
}
}
The worker creates the PptxGenJS instance and writes the output file. The script only adds slides and content.
export default async function build(pptx, ctx) {
pptx.layout = "LAYOUT_WIDE";
pptx.author = "OpenAgent";
const slide = pptx.addSlide();
slide.background = { color: "FFFFFF" };
slide.addText("Title", {
x: 0.6, y: 0.4, w: 8, h: 0.6,
fontSize: 36, bold: true, color: "1F2937",
margin: 0,
});
slide.addNotes("speaker notes");
}
ctx includes:
ctx.data: JSON data passed from the tool call.ctx.assetsDir: resolved asset directory.ctx.outPath: final PPTX path.ctx.resolveAsset("image.png"): absolute path under assets_dir.ctx.imageData("image.png"): base64 image data URL.ctx.iconSvgData("check", "16A34A"): Font Awesome solid icon as SVG data.pptx_read can surface them later.For API patterns, chart examples, bullets, image sizing, icons, and common file-corruption pitfalls, load pptxgenjs.md.
pptx_read on the generated file and check slide order, missing text, typo risk, and notes..mjs script and rewrite the PPTX.