Claude-code-plugins-plus-skills gamma-core-workflow-a
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/gamma-pack/skills/gamma-core-workflow-a" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-gamma-core-workflow-a && rm -rf "$T"
manifest:
plugins/saas-packs/gamma-pack/skills/gamma-core-workflow-a/SKILL.mdsource content
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
(client wrapper ready)gamma-sdk-patterns - Pro account with available credits
- Workspace themes configured (optional)
API Parameters Reference
| Parameter | Type | Options | Default |
|---|---|---|---|
| string | Your text/prompt | Required |
| string | , , , | |
| string | , , | |
| string | , , , | |
| string | From | Workspace default |
| string | Free text (e.g., , ) | AI default |
| string | , , | None (no auto-export) |
| object | , | Workspace defaults |
| string[] | From | 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 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 Tier | Credits per Image |
|---|---|
| Standard | 2-15 |
| Advanced | 20-33 |
| Premium | 34-75 |
| Ultra | 30-125 |
A 10-card deck with 5 standard images costs approximately 20-60 credits.
Error Handling
| Error | Cause | Solution |
|---|---|---|
| 422 Unprocessable | Invalid parameter combination | Check parameter types and allowed values |
| Content too complex or long | Simplify content or reduce scope |
| 429 Rate Limited | Too many concurrent generations | Use for concurrency control |
Empty | No specified | Add to request |
Resources
Next Steps
Proceed to
gamma-core-workflow-b for template-based generation and export retrieval.