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
Create or edit PowerPoint or Google Slides decks
Control an open or active Microsoft Excel workbook through the ChatGPT add-in or connected session. Use when the user tags the Microsoft Excel app in Codex or follows up on an established live Excel task. Do not use for standalone spreadsheet files or Google Sheets.
Create, edit, analyze, and verify standalone spreadsheet files or Google Sheets-ready workbooks, including .xlsx, .xls, .csv, and .tsv. Do not use for live controlling Microsoft Excel app or a live Excel session.
Create or update a reusable local Office artifact template from a Word document, PowerPoint presentation, or Excel workbook. Use when the user asks to make a reusable template from a `.docx`, `.pptx`, or `.xlsx` reference, or explicitly asks to update an existing artifact-template skill. Do not use for one-off artifact creation from an existing template.
Create, import, edit, redline, comment, and verify `.docx`, Word, and Google Docs-targeted artifacts with the public `open-office-artifact-tool` DocumentModel and bundled OpenChestnut codec. Use the packaged render workflow for page-level visual QA before delivery.
Create, read, review, edit, sign, redact, render, and verify PDF files through explicit capability-routed providers. Use for greenfield tagged authoring, imported-PDF native edits, forms, annotations, signatures, accessibility, sanitization, extraction, and visual QA.
| name | Presentations |
| description | Create or edit PowerPoint or Google Slides decks |
Use this skill as reference material when creating or editing presentation slide decks.
[HARD REQUIREMENT] Content quality and storytelling: before planning the deck, read and follow Content Quality and Narrative Rules. Ensure the deck covers everything the user requested and forms a coherent, audience-appropriate narrative rather than a collection of disconnected facts.
[HARD REQUIREMENT] Audience-facing copy: visible slide content must be written for the intended audience, not for the person or model producing the deck. Do not expose planning notes, timing scaffolds, talk tracks, content-selection commentary, or other internal process language unless the user explicitly requests it.
Info density: avoid cramming low-value details onto a single slide. Prefer lower-density slides with high-value content.
Layout: keep things clean and simple. Avoid low-quality visuals, but also avoid excessive white space. By default, use equal left and right margins on each slide.
[HARD REQUIREMENT] Overlap: always pay attention to programmatic overlap warnings. Do not assume that overlapping elements in diagrams are intentional, and do not ignore overlap warnings without inspecting them. You MUST fix all unintended overlap errors before delivering the slides. This is critical.
[HARD REQUIREMENT] Font size: when a template is provided, match its font sizes. When no template or style guidance is given, you MUST use at least 50pt for deck titles, 35pt for slide titles, 24pt for mid-level text such as subheadings, callout headers, and text-box titles, and 16pt for body text.
Text layout: when there is too much text, shorten it before shrinking the font size. Inspect visually for unexpected text wrapping. NEVER allow a title/banner text box intended for one line to wrap to two lines.
Narrative copy must fit the chosen layout: shorten it or change layouts rather than adding density or shrinking type.
Visual assets:
Default styling: use one composition instead of a collection of UI panels. UI-like styling typically includes card grids, pills, badges, button-like text boxes, tab or navigation patterns, repeated modular panels, dense dashboard-style layouts, and other component-library aesthetics that imply interactivity. Use stylized text boxes sparingly, favoring a flat structure on the canvas.
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/grid-layout-library/: Blob-managed static assets for the built-in Grid template, including 26 rendered previews, a model-facing registry, structured content tokens, and 26 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/grid-layout-library/ARTIFACT.md, assets/builtin_templates/grid-layout-library/design_tokens.json, and assets/builtin_templates/grid-layout-library/artifact-tool-compose/template-registry.json.assets/builtin_templates/grid-layout-library/assets/previews/layout-library.png, then shortlist layouts by templateUse, layoutFamily, slots, densityBudget, and typographyBudget. Do not open all 26 implementation modules by default.assets/builtin_templates/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 agent. If the chat is not projectless, use the project-backed layout.
Set:
SKILL_DIR=<absolute path to this skill>THREAD_ID=${ARTIFACT_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/artifact-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 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__office_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. 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 office-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 office-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 each slide individually at full size. Use a contact sheet only to review deck-level flow and consistency, not as a substitute for full-size layout QA. 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 a short user-visible summary of the completed deck. 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.
Use the inline form :file-citation{...} and place each citation immediately after the claim it supports.
For read-only Q&A, cite the source deck. For a successful edit or creation, cite the final delivered deck. For a no-op edit, cite the inspected source deck.
For read-only Q&A, inspect the complete relevant slide, including callouts, the exact question or prompt, chart or table titles, displayed totals or sample sizes, and source or methodology footers. State the direct answer first and cite each distinct evidence-bearing object when exact IDs are available.
Unless the user requests an in-place edit, preserve the input PPTX and export a distinct edited copy. Cite every changed slide in the final response. If no requested content is found and no output is modified, cite the inspected source deck with a plain file citation.
For creation, include exactly one standalone Markdown link to the final delivered PPTX. Do not add a file, slide, or object citation.
Use slide citations when slide numbers come from the latest rendered or inspected cited deck:
: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:
: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:
: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.