| id | ailey-media-gamma |
| name | Gamma Presentation Creator |
| description | Create presentations, PowerPoints, PDFs, and websites using Gamma AI. Convert markdown or text files into professional presentations with themes, export to PPTX/PDF, and manage projects. Use when asked to create presentations with Gamma or convert content to slides. |
| keywords | ["gamma","presentation","powerpoint","slides","pptx","pdf","website","theme"] |
| tools | ["gamma-api","typescript","cli"] |
Gamma Presentation Creator
Create professional presentations, documents, and websites from text or markdown files using Gamma's AI-powered platform. Convert content to PowerPoint, PDF, or web pages with customizable themes.
Overview
The Gamma skill provides:
- Content Conversion: Transform markdown/text files into presentations
- Theme Selection: Choose from Gamma's professional theme library
- Multiple Formats: Export to PowerPoint (PPTX), PDF, or web pages
- Project Management: List, view, and manage Gamma projects
- API Integration: Full Gamma API access via CLI and TypeScript
When to Use
Use this skill when:
- Creating presentations from markdown or text content
- Converting documentation into slide decks
- Generating PowerPoint or PDF presentations programmatically
- Building websites from structured content
- Managing Gamma projects via CLI
- Specifically when asked to use Gamma for presentation creation
Installation
cd .github/skills/ailey-media-gamma
npm install
Prerequisites:
Quick Start
npm run gamma test
npm run gamma themes
npm run gamma create file -i content.md --theme modern
npm run gamma export pptx -p PROJECT_ID -o presentation.pptx
npm run gamma projects
Workflow 1: Create Presentation from File
Convert a markdown or text file into a Gamma presentation.
Basic Usage
npm run gamma create file -i content.md
npm run gamma create file \
-i content.md \
-t "My Presentation" \
--theme modern
npm run gamma create file \
-i article.md \
--type document
npm run gamma create file \
-i landing-page.md \
--type webpage
npm run gamma create file \
-i slides.md \
-o project-info.json
Input File Format
Markdown Example:
# Introduction
Welcome to our product presentation.
## Problem Statement
- Challenge 1
- Challenge 2
- Challenge 3
## Our Solution
Revolutionary approach to solving the problem.
### Key Features
1. Feature A
2. Feature B
3. Feature C
## Results
Impressive metrics and outcomes.
Output:
- Live Gamma presentation URL
- Project ID for future exports
- Editable in Gamma web interface
TypeScript API
import { GammaClient } from './scripts/gamma-client.js';
const client = new GammaClient();
const project = await client.createPresentationFromFile('slides.md', {
title: 'Q4 Review',
theme: 'modern',
type: 'presentation',
});
console.log(`Created: ${project.url}`);
Workflow 2: List and Select Themes
Browse available Gamma themes before creating presentations.
List Themes
npm run gamma themes
npm run gamma themes --format json
npm run gamma themes --format list
npm run gamma themes --format json -o themes.json
Example Output
Found 15 themes:
ID Name Description
--------------------------------------------------------------------------------
default Gamma Default Clean and modern default theme
modern Modern Minimal Sleek minimalist design
vibrant Vibrant Colors Bold and energetic palette
professional Professional Corporate business theme
creative Creative Studio Artistic and expressive
Use Theme in Creation
npm run gamma create file \
-i content.md \
--theme professional
npm run gamma create file -i content.md
Workflow 3: Manage Projects
View and manage your Gamma projects.
List Projects
npm run gamma projects
npm run gamma projects --type presentation
npm run gamma projects --type document
npm run gamma projects --type webpage
npm run gamma projects --format json
npm run gamma projects --format json -o projects.json
Example Output
Found 8 projects:
ID Name Type Created
----------------------------------------------------------------------------------------------------
abc123def456 Q4 Sales Review presentation 1/15/2026
xyz789ghi012 Product Documentation document 1/20/2026
mno345pqr678 Landing Page webpage 1/25/2026
Total: 8 projects
TypeScript API
const projects = await client.listProjects();
const project = await client.getProject('abc123def456');
await client.deleteProject('old-project-id');
Workflow 4: Export to PowerPoint or PDF
Export Gamma presentations to standard formats.
Export to PowerPoint
npm run gamma export pptx \
-p PROJECT_ID \
-o presentation.pptx
npm run gamma export pptx \
-p abc123def456 \
-o quarterly-review
Export to PDF
npm run gamma export pdf \
-p PROJECT_ID \
-o presentation.pdf
npm run gamma export pdf \
-p abc123def456 \
-o sales-deck
Complete Workflow Example
npm run gamma create file \
-i slides.md \
-o project.json \
--theme modern
PROJECT_ID=$(cat project.json | jq -r '.projectId')
npm run gamma export pptx \
-p $PROJECT_ID \
-o final-presentation.pptx
npm run gamma export pdf \
-p $PROJECT_ID \
-o final-presentation.pdf
TypeScript API
const pptxBuffer = await client.exportPresentation({
format: 'pptx',
projectId: 'abc123def456',
});
fs.writeFileSync('output.pptx', pptxBuffer);
const pdfBuffer = await client.exportPresentation({
format: 'pdf',
projectId: 'abc123def456',
});
fs.writeFileSync('output.pdf', pdfBuffer);
Workflow 5: Batch Processing
Process multiple files into presentations.
Batch Creation (Coming Soon)
npm run gamma create batch \
-i "content/**/*.md" \
-o output-dir/ \
--theme modern
Current Workaround:
for file in content/*.md; do
npm run gamma create file -i "$file" --theme modern
done
Advanced Usage
Custom Content Types
npm run gamma create file -i slides.md --type presentation
npm run gamma create file -i article.md --type document
npm run gamma create file -i landing.md --type webpage
API Key Configuration
Priority Order:
.env.local (skill-specific)
.env (project-level)
~/.vscode/.env (global)
Setup:
echo "GAMMA_API_KEY=your-api-key-here" >> ~/.vscode/.env
echo "GAMMA_API_KEY=your-api-key-here" >> .env
echo "GAMMA_API_KEY=your-api-key-here" >> .github/skills/ailey-media-gamma/.env.local
Error Handling
try {
const project = await client.createPresentationFromFile('slides.md');
console.log(project.url);
} catch (error) {
if (error.message.includes('API key')) {
console.error('Invalid or missing API key');
} else if (error.message.includes('File not found')) {
console.error('Input file does not exist');
} else {
console.error('Unexpected error:', error);
}
}
Integration
With ailey-tools-tag-n-rag
Create presentations from RAG-indexed content:
npm run rag query "product features" -o features.md
npm run gamma create file -i features.md --theme modern
With ailey-tools-data-converter
Convert data to markdown, then to presentation:
npm run convert -i data.json -o content.md -f markdown
npm run gamma create file -i content.md
CI/CD Pipeline
name: Generate Presentations
on:
push:
paths:
- 'content/presentations/**/*.md'
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: |
cd .github/skills/ailey-media-gamma
npm install
- name: Generate presentations
env:
GAMMA_API_KEY: ${{ secrets.GAMMA_API_KEY }}
run: |
for file in content/presentations/*.md; do
npm run gamma create file -i "$file"
done
Troubleshooting
API Key Issues
Problem: Gamma API key not found
Solution:
echo $GAMMA_API_KEY
cat ~/.vscode/.env | grep GAMMA_API_KEY
cat .env | grep GAMMA_API_KEY
npm run gamma test
Invalid API Key
Problem: Failed to list themes: Unauthorized
Solution:
- Get new API key from https://gamma.app/api
- Update environment variable
- Test connection:
npm run gamma test
File Not Found
Problem: Input file not found: content.md
Solution:
npm run gamma create file -i /full/path/to/content.md
npm run gamma create file -i ../../../content.md
Export Fails
Problem: Failed to export presentation: Project not found
Solution:
npm run gamma projects
npm run gamma export pptx -p correct-project-id -o output.pptx
Rate Limiting
Problem: Rate limit exceeded
Solution:
- Wait 1 minute before retrying
- Reduce concurrent requests
- Upgrade Gamma API plan for higher limits
API Reference
See Gamma API Reference for detailed API documentation.
Theme Gallery
See Gamma Themes for theme previews and descriptions.
Best Practices
- Content Structure: Use clear markdown headings for slide organization
- Theme Selection: Preview themes before batch processing
- Project Management: Save project IDs for later exports
- Error Handling: Always check API key before batch operations
- Export Timing: Export after content finalization to avoid re-exports
Limitations
- Maximum file size: 10 MB per input file
- API rate limits apply (check Gamma plan)
- Batch processing requires manual loop (built-in coming soon)
- Theme customization via API is limited
version: 1.0.0
updated: 2026-01-31
reviewed: 2026-01-31
score: 4.5