pptx-gen
Generate PowerPoint (.pptx) presentations from JSON with smart layouts
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Generate PowerPoint (.pptx) presentations from JSON with smart layouts
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Redactar escritos jurídicos mexicanos largos (recursos de apelación, demandas, contestaciones, amparos) a partir de varios documentos de un expediente (demanda, contestación, pericial, confesional, sentencia), entregados como .docx editable. Úsalo cuando el usuario pida "recurso de apelación", "redacta el escrito", "haz la demanda/contestación en Word", o cualquier pieza procesal larga que deba correlacionar agravios/hechos con documentos fuente y jurisprudencia verificada.
Sintetizar o redactar un entregable a partir de varios documentos fuente (o pocos muy grandes) que juntos NO caben en la ventana de contexto — reportes multi-fuente, due diligence, análisis/comparación de contratos, resúmenes de expediente, investigación. Úsalo cuando debas correlacionar información entre múltiples documentos y producir un documento nuevo, y leerlos todos completos reventaría el contexto ("Prompt is too long"). NO es para leer un solo documento corto.
Busca y descarga assets de diseño (iconos, ilustraciones, 3D, animaciones Lottie, imágenes AI) desde IconScout. Dispara cuando el user pida un icono/ilustración/animación para un diseño, mockup, presentación o web, o mencione IconScout. 13.8M+ assets con licencia royalty-free.
Text-to-speech with Spanish voices (Kokoro, local & free) and OpenAI fallback
Transcribe a texto el HABLA de un audio largo o pesado (reuniones, notas de voz reenviadas, grabaciones de 10–60+ min). Trocea con ffmpeg y transcribe cada parte con Whisper, sin toparse con el límite de 25MB de la API. Úsala cuando llegue un [Audio file: ...] y el usuario pida "transcribe", "qué dice", "analiza el audio", o para resumir/analizar una grabación de voz.
Haz una versión nueva/ejecutiva/más limpia de un documento institucional (PDFs tipo "orden del día", agendas, hojas de evento, programas) MINANDO sus assets reales (logos, fotos de ponentes, texto, fuentes) y RECONSTRUYENDO en HTML — nunca re-difundiendo la página como imagen. Úsala ante "haz una nueva versión", "versión ejecutiva", "rehazlo más limpio", "adáptalo" de un PDF.
| name | pptx-gen |
| description | Generate PowerPoint (.pptx) presentations from JSON with smart layouts |
| allowed-tools | Bash(pptx-gen:*) |
Generate .pptx presentations with automatic layout detection and professional styling.
pptx-gen '<json>'
pptx-gen /path/to/slides.json
pptx-gen '<json>' /workspace/group/my-presentation.pptx
Each slide auto-detects the best layout based on its content, or you can set layout explicitly:
| Layout | Auto-detected when | Description |
|---|---|---|
title | Only title/subtitle, no body/bullets/table | Centered title, decorative accent line |
content | Has body/bullets, no image | Full-width content with accent bar |
image-right | Has image + body/bullets | Text left (55%), image right (45%) |
image-left | Manual only | Image left, text right |
image-full | Has image, no body/bullets | Large centered image with title above |
comparison | Has columns array | Two columns with divider line |
table | Has table data | Title + well-spaced table |
{
"title": "Presentation Title",
"author": "Author Name",
"theme": {
"background": "1a1a2e",
"titleColor": "auto",
"bodyColor": "auto",
"accentColor": "6366f1"
},
"slides": [
{
"layout": "title",
"title": "Main Title",
"subtitle": "Subtitle text"
},
{
"title": "Key Features",
"bullets": ["Feature 1", "Feature 2", "Feature 3"]
},
{
"title": "Our Product",
"body": "Description text here",
"image": "https://example.com/photo.jpg"
},
{
"layout": "comparison",
"title": "Us vs Them",
"columns": [
{ "title": "Our Solution", "bullets": ["Fast", "Reliable"] },
{ "title": "Traditional", "bullets": ["Slow", "Fragile"] }
]
},
{
"title": "Metrics",
"table": [
["Metric", "Q1", "Q2"],
["Revenue", "$10k", "$25k"]
]
}
]
}
Colors are 6-digit hex (no #). Set titleColor and bodyColor to "auto" (or omit them) for automatic contrast detection — dark backgrounds get light text, light backgrounds get dark text.
Default accent: indigo (6366f1). Good alternatives: purple 7c3aed, blue 3b82f6, emerald 10b981, rose f43f5e.
layout — override auto-detection (title, content, image-right, image-left, image-full, comparison, table)title — slide headingsubtitle — accent-colored text below titlebody — paragraph textbullets — bulleted list (array of strings)image — local path or Pexels URL (do NOT generate AI images, use Pexels search instead)table — 2D array, first row = headercolumns — for comparison layout: [{title, bullets}, {title, bullets}]background — hex color or image path (overrides theme per-slide)notes — speaker notesDo NOT generate AI images (no generate-flux, no generate-image). Use Pexels for stock photos:
# Search Pexels and use the URL directly in the slide JSON
# The helper auto-downloads HTTP images, so URLs work fine
Use Pexels image URLs directly in the image field. The helper downloads them automatically via curl.
layout unless you need a specific oneSaves to /workspace/group/ and prints the path. Send as document:
mcp__nanoclaw__send_message({ text: "Here's your presentation!", document_path: "/workspace/group/presentation-123.pptx" })