Generate presentations, documents, and webpages via Gamma API.
Use when creating content from text prompts, configuring themes,
image styles, text modes, and output formats.
Trigger: "gamma generate", "gamma presentation from text",
"gamma AI slides", "gamma create deck", "gamma content generation".
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Generate presentations, documents, and webpages via Gamma API.
Use when creating content from text prompts, configuring themes,
image styles, text modes, and output formats.
Trigger: "gamma generate", "gamma presentation from text",
"gamma AI slides", "gamma create deck", "gamma content generation".
allowed-tools
Read, Write, Edit, Bash(curl:*), Bash(node:*)
version
1.13.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
["saas","gamma","workflow","generation"]
compatibility
Designed for Claude Code, also compatible with Codex and OpenClaw
Gamma Core Workflow A: Content Generation
Overview
Generate presentations, documents, webpages, and social posts using Gamma's Generate API (POST /v1.0/generations). This skill covers the full parameter set: content, output format, text mode, text amount, themes, image options, sharing, folders, and export format.
Free text (e.g., "photorealistic", "watercolor illustration")
AI default
exportAs
string
pdf, pptx, png
None (no auto-export)
sharingOptions
object
workspaceAccess, externalAccess
Workspace defaults
folderIds
string[]
From GET /v1.0/folders
Root folder
Instructions
Step 1: Basic Presentation Generation
import { createGammaClient, pollUntilDone } from"./lib/gamma";
const gamma = createGammaClient({ apiKey: process.env.GAMMA_API_KEY! });
// Simple generation — just content and formatconst { generationId } = await gamma.generate({
content: "Create a 10-card pitch deck for a sustainable energy startup",
outputFormat: "presentation",
});
const result = awaitpollUntilDone(gamma, generationId);
console.log(`View: ${result.gammaUrl}`);
Step 2: Full Parameter Generation
// Use all available parameters for precise controlasyncfunctiongenerateFullControl() {
// First, discover workspace themesconst themes = await gamma.listThemes();
const corporateTheme = themes.find((t) => t.name.includes("Corporate"));
// Discover foldersconst folders = await gamma.listFolders();
const reportsFolder = folders.find((f) => f.name === "Reports");
const { generationId } = await gamma.generate({
content: `
Q1 2026 Business Review
- Revenue up 23% YoY
- Customer acquisition cost reduced by 15%
- Three new product lines launched
- Team grew from 45 to 62 employees
`,
outputFormat: "presentation",
textMode: "generate", // AI expands your bullet pointstextAmount: "detailed", // More text per cardthemeId: corporateTheme?.id,
exportAs: "pptx", // Auto-generate PPTX downloadimageOptions: {
style: "professional corporate photography",
},
sharingOptions: {
workspaceAccess: "comment", // Team can commentexternalAccess: "view", // External viewers read-only
},
folderIds: reportsFolder ? [reportsFolder.id] : [],
});
const result = awaitpollUntilDone(gamma, generationId);
console.log(`View: ${result.gammaUrl}`);
console.log(`Download PPTX: ${result.exportUrl}`);
console.log(`Credits used: ${result.creditsUsed}`);
}
Step 3: Text Mode Comparison
// Same content, different text modesconst content = "Benefits of remote work: flexibility, reduced commute, global talent access";
// "generate" — AI expands bullets into full paragraphsawait gamma.generate({ content, textMode: "generate", outputFormat: "presentation" });
// "condense" — AI summarizes, keeps it conciseawait gamma.generate({ content, textMode: "condense", outputFormat: "presentation" });
// "preserve" — uses your text as-is, no AI rewritingawait gamma.generate({ content, textMode: "preserve", outputFormat: "presentation" });
Step 4: Document and Webpage Generation
// Long-form documentconst { generationId: docId } = await gamma.generate({
content: "Comprehensive guide to implementing CI/CD pipelines with GitHub Actions",
outputFormat: "document",
textAmount: "extensive",
exportAs: "pdf",
});
// Webpageconst { generationId: webId } = await gamma.generate({
content: "Product landing page for an AI-powered code review tool",
outputFormat: "webpage",
imageOptions: { style: "modern minimalist tech" },
});
// Social postconst { generationId: socialId } = await gamma.generate({
content: "Announcing our Series A funding round of $12M",
outputFormat: "social_post",
textAmount: "brief",
});