con un clic
presentations
Create or edit PowerPoint or Google Slides decks
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Create or edit PowerPoint or Google Slides decks
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
| name | presentations |
| description | Create or edit PowerPoint or Google Slides decks |
Use this skill as reference material when creating or editing presentation slide decks.
Contents of the slides/ skill folder:
container_tools/: Standalone python scripts for slides and relevant asset manipulation.references/: Additional workflow references for specialized presentation tasks.template_following_scripts/: Helper scripts for exact source-deck/template following.artifact_tool/: API documentation and coding examples for the artifact tool library.builtin_templates_support/: Checked-in guidance, manifests, prompts, and reusable scripts for built-in templates. Each template owns its ARTIFACT.md; shared runners live once under builtin_templates_support/scripts/.assets/builtin_templates/codex-grid-layout-library/: Blob-managed static assets for the built-in Codex Grid template, including 80 rendered previews, a model-facing registry, structured content tokens, and 80 exact plain-JavaScript artifact-tool Compose reconstructions with no JSX. This directory contains no Markdown, prompts, or reusable runners.The following helper scripts are located in the container_tools/ directory:
ensure_raster_image.py: Ensure images are rasterized; convert to PNG if needed; quick usage --input_files <img_path1> ....render_slides.py: Render a PowerPoint file into a folder of PNG slides using default sizing; quick usage: <input.pptx>. Output files are named slide-1.png, slide-2.png, ... in a directory with the same name as the input file.create_montage.py: Build a tiled montage from images in a directory (for viewing multiple image assets or rendered slides at once); quick usage: --input_dir <imgs_dir> --output_file <montage.png>. It supports most image formats with auto conversion under the hood.slides_test.py: Detect content overflowing the original slide canvas; usage: <input.pptx>.This skill variant does not include the Office template file. Use the distilled layout library as initial design and composition guidance when the user has not supplied a stronger template or brand system.
Before planning slides:
builtin_templates_support/codex-grid-layout-library/ARTIFACT.md, assets/builtin_templates/codex-grid-layout-library/design_tokens.json, and assets/builtin_templates/codex-grid-layout-library/artifact-tool-compose/template-registry.json.assets/builtin_templates/codex-grid-layout-library/assets/previews/layout-library.png, then shortlist layouts by templateUse, layoutFamily, slots, densityBudget, and typographyBudget. Do not open all 80 implementation modules by default.assets/builtin_templates/codex-grid-layout-library/artifact-tool-compose/slide-XX.mjs reconstruction.layers(...), text(...), shape(...), image(...), and table(...) helper calls as the implementation reference. Keep the output as plain .mjs and use slide.compose(...); do not introduce JSX or a transpilation step.The shared builtin_templates_support/scripts/create-presentation.mjs runner can materialize any compatible built-in template for validation when passed that template's static asset root. It is not a request to emit every layout in the user's deck. User-provided templates, explicit brand guidance, and exact source evidence always override this default template.
Use the chat mode supplied by Codex. If the chat is not projectless, use the project-backed layout.
Set:
SKILL_DIR=<absolute path to this skill>THREAD_ID=${CODEX_THREAD_ID:-manual-<timestamp-or-short-random-suffix>}TASK_SLUG=<sanitized task/deck slug>TOPIC_SLUG=<sanitized final deck filename slug>Select the remaining paths:
| Chat | Scratch workspace | Final PPTX |
|---|---|---|
| Projectless | $PWD/work/presentations/$TASK_SLUG | User-requested path, otherwise $PWD/outputs/$TOPIC_SLUG.pptx |
| Project-backed | $SCRATCH_ROOT/codex-presentations/$THREAD_ID/$TASK_SLUG | User-requested path, repository convention, or <project-root>/outputs/$TOPIC_SLUG.pptx |
For project-backed chats, use an external scratch directory supplied by the
host. If none is supplied, compute SCRATCH_ROOT with
node -p "require('node:os').tmpdir()"; do not hardcode a platform-specific
temp path. Project-backed scratch must remain outside the repository.
An explicit user destination always wins. Set OUTPUT_DIR to the directory
containing FINAL_PPTX. If a projectless final is outside outputs/, an
optional copy under outputs/ may be created for app surfacing, but the
requested path remains the primary result. Do not modify Git ignore settings
to conceal scratch files.
After selecting WORKSPACE, set:
TMP_DIR=$WORKSPACE/tmpSLIDES_DIR=$TMP_DIR/slidesPREVIEW_DIR=$TMP_DIR/previewLAYOUT_DIR=$TMP_DIR/layoutASSET_DIR=$TMP_DIR/assetsQA_DIR=$TMP_DIR/qaUse absolute paths in scripts and handoffs. Put every generated file under
$TMP_DIR except FINAL_PPTX and any additional deliverables explicitly
requested by the user. Retain $WORKSPACE after delivery so follow-up turns
can inspect and reuse the prior work.
Use .txt for every generated intermediate prose artifact in $TMP_DIR,
including plans, source notes, prompt records, design notes, QA ledgers, and
fallback reasons. Reserve .md for installed skill/reference files such as
SKILL.md, references/*.md, and templates shipped with the skill. Do not
create generated planning files such as slide-plan.md.
Choose the output path first:
For every deck built with this skill, choose exactly one visual route. The first matching route wins:
User-provided references and explicit visual direction always take precedence over Codex Grid.
For a net-new native Google Slides request, create and verify a local .pptx
with this skill first. The native Google Slides deliverable must then be
produced by the Google Drive plugin's presentation import action,
mcp__codex_apps__google_drive_import_presentation, with
upload_mode: "native_google_slides".
Do not use Computer Use, Browser Use, blank-Google-Slides creation plus Google
Slides write APIs, or another direct-to-Slides construction path for net-new
Google Slides unless the user explicitly asks for that alternate workflow. If
the Google Drive plugin is unavailable, ask the user to install
google-drive@openai-curated. If the plugin is available but presentation
import is missing, ask the user to reinstall or refresh the Google Drive plugin
before continuing with the native Google Slides deliverable.
The local .pptx creation and native import workflow above applies only to
net-new Google Slides deliverables.
You MUST use @oai/artifact-tool from JavaScript ES modules to implement the slide deck.
Read the local docs before coding:
artifact_tool/API_QUICK_START.mdartifact_tool/api/API_DOCS.mdBefore running any generated presentation module, initialize its workspace so
Node.js can resolve the bundled @oai/artifact-tool package:
node "$SKILL_DIR/container_tools/setup_artifact_tool_workspace.mjs" \
--workspace "$TMP_DIR"
Create the ES module source file (.mjs) under $TMP_DIR and export the final
PowerPoint deck (.pptx) to $FINAL_PPTX. The generated source must be plain
JavaScript that runs directly with node; do not require a transpiler or build
step.
You MUST NOT use python-pptx or the old Python artifact_tool API.
Use template-following mode only when a user-provided source PPTX supplies the
layout, style, or template. Read references/template-following.md, use
$TMP_DIR from the Workspace section, and set
TEMPLATE_PPTX="<absolute path to the user-provided PPTX>".
Preserve the source deck's typography, palette, spacing, layout, placeholders, footers, page markers, and brand chrome unless the user explicitly asks to restyle. Do not use template-following mode for a deck created from scratch.
Create:
$TMP_DIR/template-audit.txt$TMP_DIR/template-frame-map.json$TMP_DIR/deviation-log.txt$TMP_DIR/template-starter.pptxKeep $TMP_DIR/source-notes.txt for content and asset provenance.
Inspect the complete source deck:
node "$SKILL_DIR/template_following_scripts/inspect_template_deck.mjs" \
--workspace "$TMP_DIR" \
--pptx "$TEMPLATE_PPTX"
Map each output slide to an inherited source slide and identify element-level
editTargets. Then validate the map and build the starter deck:
node "$SKILL_DIR/template_following_scripts/validate_template_plan.mjs" \
--workspace "$TMP_DIR" \
--map "$TMP_DIR/template-frame-map.json"
node "$SKILL_DIR/template_following_scripts/prepare_template_starter_deck.mjs" \
--workspace "$TMP_DIR" \
--pptx "$TEMPLATE_PPTX" \
--map "$TMP_DIR/template-frame-map.json" \
--out "$TMP_DIR/template-starter.pptx" \
--preview-dir "$TMP_DIR/template-starter-preview" \
--layout-dir "$TMP_DIR/template-starter-layout" \
--contact-sheet "$TMP_DIR/template-starter-contact-sheet.png"
Import template-starter.pptx with artifact-tool and edit only inherited
slides/objects unless the validated frame map explicitly allows an insertion.
If no source slide can support requested content without a parallel rebuild,
report the blocker and the closest viable source-slide options.
Before delivery, render every final slide and inspect the full-size previews or contact sheet. Fix unintended overlap, clipping, wrapping, broken connectors, unresolved placeholders, inconsistent footers/page markers, and chart/data mismatches before exporting. Verify that researched claims and sourced assets are traceable, and cite sources if research was used.
Return the final .pptx path and a link to it. Mention the sources cited or
used if research informed the deck. Do not attach scratch plans, previews,
layout JSON, or temporary assets unless the user asks for them.
When summarizing deck work in Codex App, cite only the final delivered PPTX.
Use slide citations when slide numbers come from the latest rendered or inspected final deck:
::codex-file-citation{path="/abs/path/deck.pptx" artifact_kind="presentation" slide_number="3"}
Include slide_id only when artifact-tool inspection provides the exact stable sl/... ID and stable navigation matters:
::codex-file-citation{path="/abs/path/deck.pptx" artifact_kind="presentation" slide_number="1" slide_id="sl/gs5z1kshq0xv"}
For a concrete chart, table, image, diagram, or callout, include object_id only when inspection provides the exact ID and you can add a useful label:
::codex-file-citation{path="/abs/path/deck.pptx" artifact_kind="presentation" slide_number="1" slide_id="sl/gs5z1kshq0xv" object_id="ch/pz9t1r3ka8vn" label="ARR by segment chart"}
Do not cite internal previews, contact sheets, layout JSON, source notes, scratch files, builders, manifests, or QA outputs unless asked. If slide or object IDs are not reliable, cite the slide without object detail rather than guessing.
制作 PPT、演示文稿、幻灯片、汇报材料时使用。DashiAI PPT 基于预置视觉主题组合页面,生成可离线打开、可在浏览器编辑的 HTML 演示,支持导出 PPTX / PDF 文件。
Generate, review, collaborate on, version, and export DashiAI presentations through Presentation Studio.
Use the Pencil Workbench to create and edit vector graphics, including illustrations, diagrams, and UI components, with human review.
Use the Motion Workbench to create motion artifacts, including animated HTML and video compositions, with human review.
Read, create, inspect, render, and verify PDF files where visual layout matters. Use Poppler rendering plus Python tools such as reportlab, pdfplumber, and pypdf for generation and extraction.
Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, placing them in Figma or a local folder, then reporting UX, design, and accessibility findings from that evidence. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.