GA

gamma-core-workflow-a

Automates the generation of presentations, documents, and webpages through the Gamma API.

Install

mkdir -p .claude/skills/gamma-core-workflow-a && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7263" && unzip -o skill.zip -d .claude/skills/gamma-core-workflow-a && rm skill.zip

Installs to .claude/skills/gamma-core-workflow-a

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate presentations, documents, and webpages via Gamma API.
62 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Generate presentations from text prompts
  • Create documents and webpages from content
  • Configure themes and image styles for generated content
  • Control text expansion or condensation
  • Export generated content to PDF or PPTX
  • Manage sharing options and folder placement

How it works

The skill uses the Gamma Generate API to create various content types from text prompts, allowing control over output format, text processing, visual styling, and export options.

Inputs & outputs

You give it
Text content or prompts, output format, text mode, text amount, theme ID, image style, export format, sharing options, folder IDs
You get back
Generated presentation, document, webpage, or social post, with a URL to view and optionally download

When to use gamma-core-workflow-a

  • Automating presentation deck generation
  • Creating web-based documents from text
  • Batch generating content templates
  • Configuring brand themes for AI generation

About this skill

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.

Prerequisites

  • Completed gamma-sdk-patterns (client wrapper ready)
  • Pro account with available credits
  • Workspace themes configured (optional)

API Parameters Reference

ParameterTypeOptionsDefault
contentstringYour text/promptRequired
outputFormatstringpresentation, document, webpage, social_postpresentation
textModestringgenerate, condense, preservegenerate
textAmountstringbrief, medium, detailed, extensivemedium
themeIdstringFrom GET /v1.0/themesWorkspace default
imageOptions.stylestringFree text (e.g., "photorealistic", "watercolor illustration")AI default
exportAsstringpdf, pptx, pngNone (no auto-export)
sharingOptionsobjectworkspaceAccess, externalAccessWorkspace defaults
folderIdsstring[]From GET /v1.0/foldersRoot 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 format
const { generationId } = await gamma.generate({
  content: "Create a 10-card pitch deck for a sustainable energy startup",
  outputFormat: "presentation",
});

const result = await pollUntilDone(gamma, generationId);
console.log(`View: ${result.gammaUrl}`);

Step 2: Full Parameter Generation

// Use all available parameters for precise control
async function generateFullControl() {
  // First, discover workspace themes
  const themes = await gamma.listThemes();
  const corporateTheme = themes.find((t) => t.name.includes("Corporate"));

  // Discover folders
  const 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 points
    textAmount: "detailed",     // More text per card
    themeId: corporateTheme?.id,
    exportAs: "pptx",           // Auto-generate PPTX download
    imageOptions: {
      style: "professional corporate photography",
    },
    sharingOptions: {
      workspaceAccess: "comment",   // Team can comment
      externalAccess: "view",       // External viewers read-only
    },
    folderIds: reportsFolder ? [reportsFolder.id] : [],
  });

  const result = await pollUntilDone(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 modes
const content = "Benefits of remote work: flexibility, reduced commute, global talent access";

// "generate" — AI expands bullets into full paragraphs
await gamma.generate({ content, textMode: "generate", outputFormat: "presentation" });

// "condense" — AI summarizes, keeps it concise
await gamma.generate({ content, textMode: "condense", outputFormat: "presentation" });

// "preserve" — uses your text as-is, no AI rewriting
await gamma.generate({ content, textMode: "preserve", outputFormat: "presentation" });

Step 4: Document and Webpage Generation

// Long-form document
const { generationId: docId } = await gamma.generate({
  content: "Comprehensive guide to implementing CI/CD pipelines with GitHub Actions",
  outputFormat: "document",
  textAmount: "extensive",
  exportAs: "pdf",
});

// Webpage
const { generationId: webId } = await gamma.generate({
  content: "Product landing page for an AI-powered code review tool",
  outputFormat: "webpage",
  imageOptions: { style: "modern minimalist tech" },
});

// Social post
const { generationId: socialId } = await gamma.generate({
  content: "Announcing our Series A funding round of $12M",
  outputFormat: "social_post",
  textAmount: "brief",
});

Step 5: Batch Generation with Rate Limiting

import pLimit from "p-limit";

const limit = pLimit(3); // Max 3 concurrent generations

const topics = [
  "Machine Learning Fundamentals",
  "Cloud Architecture Best Practices",
  "API Design Patterns",
  "DevOps Culture and Practices",
];

const results = await Promise.allSettled(
  topics.map((topic) =>
    limit(async () => {
      const { generationId } = await gamma.generate({
        content: `Create a training deck: ${topic}`,
        outputFormat: "presentation",
        textAmount: "medium",
        exportAs: "pdf",
      });
      return pollUntilDone(gamma, generationId);
    })
  )
);

results.forEach((r, i) => {
  if (r.status === "fulfilled") {
    console.log(`${topics[i]}: ${r.value.gammaUrl}`);
  } else {
    console.error(`${topics[i]}: FAILED — ${r.reason.message}`);
  }
});

Step 6: curl Reference

# Generate with all parameters
curl -X POST "https://public-api.gamma.app/v1.0/generations" \
  -H "X-API-KEY: ${GAMMA_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "5-card overview of AI in healthcare",
    "outputFormat": "presentation",
    "textMode": "generate",
    "textAmount": "medium",
    "themeId": "theme_abc123",
    "exportAs": "pdf",
    "imageOptions": { "style": "medical illustration" },
    "sharingOptions": {
      "workspaceAccess": "edit",
      "externalAccess": "view"
    }
  }'

Credit Cost Awareness

Image Model TierCredits per Image
Standard2-15
Advanced20-33
Premium34-75
Ultra30-125

A 10-card deck with 5 standard images costs approximately 20-60 credits.

Error Handling

ErrorCauseSolution
422 UnprocessableInvalid parameter combinationCheck parameter types and allowed values
status: "failed"Content too complex or longSimplify content or reduce scope
429 Rate LimitedToo many concurrent generationsUse p-limit for concurrency control
Empty exportUrlNo exportAs specifiedAdd exportAs: "pdf" to request

Resources

Next Steps

Proceed to gamma-core-workflow-b for template-based generation and export retrieval.

When not to use it

  • When content is too complex or long for successful generation
  • When an invalid parameter combination is provided
  • When exceeding the API rate limit for concurrent generations

Prerequisites

Completed `gamma-sdk-patterns` (client wrapper ready)Pro account with available creditsWorkspace themes configured (optional)

Limitations

  • Content too complex or long may cause generation to fail
  • Invalid parameter combinations result in 422 errors
  • Exceeding rate limits causes 429 errors

How it compares

This skill provides fine-grained control over Gamma's content generation parameters, enabling precise customization of themes, image styles, and text handling, which differs from basic generation with default settings.

Compared to similar skills

gamma-core-workflow-a side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
gamma-core-workflow-a (this skill)127dCautionIntermediate
ppt-creator752moReviewIntermediate
applying-brand-guidelines88moReviewBeginner
create-an-asset36moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

Search skills

Search the agent skills registry