Awesome-openclaw-skills gamma-2
Create presentations, documents, social posts, and websites using Gamma's AI API. Use when asked to create slides, presentations, decks, documents, or web content via Gamma.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/gamma-2" ~/.claude/skills/sundial-org-awesome-openclaw-skills-gamma-2 && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/gamma-2" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-gamma-2 && rm -rf "$T"
manifest:
skills/gamma-2/SKILL.mdsource content
Gamma API Skill
Create presentations and documents programmatically via Gamma's API.
Setup
- Get API key from https://developers.gamma.app
- Store in environment:
Or add to TOOLS.md:export GAMMA_API_KEY=sk-gamma-xxxGamma API Key: sk-gamma-xxx
Authentication
Base URL: https://public-api.gamma.app/v1.0 Header: X-API-KEY: <your-api-key>
Generate Content
curl -X POST https://public-api.gamma.app/v1.0/generations \ -H "Content-Type: application/json" \ -H "X-API-KEY: $GAMMA_API_KEY" \ -d '{ "inputText": "Your content here", "textMode": "generate|condense|preserve", "format": "presentation|document|social|webpage" }'
Response:
{"generationId": "xxx"}
Check Status
curl https://public-api.gamma.app/v1.0/generations/<generationId> \ -H "X-API-KEY: $GAMMA_API_KEY"
Response (completed):
{"status": "completed", "gammaUrl": "https://gamma.app/docs/xxx", "credits": {...}}
Poll every 10-20s until
status: "completed".
Key Parameters
| Parameter | Values | Notes |
|---|---|---|
| , , | generate=expand, condense=summarize, preserve=keep exact |
| , , , | Output type |
| 1-60 (Pro), 1-75 (Ultra) | Number of slides/cards |
| , | Use in inputText for manual breaks |
| , | Optional export format |
Optional Parameters
{ "additionalInstructions": "Make titles catchy", "imageOptions": { "source": "aiGenerated|unsplash|giphy|webAllImages|noImages", "model": "imagen-4-pro|flux-1-pro", "style": "photorealistic, modern" }, "textOptions": { "amount": "brief|medium|detailed|extensive", "tone": "professional, inspiring", "audience": "tech professionals", "language": "en" }, "cardOptions": { "dimensions": "fluid|16x9|4x3|1x1|4x5|9x16" } }
Note:
textOptions.tone and textOptions.audience are ignored when textMode is preserve.
Other Endpoints
— List available themes (useGET /themes
in generation)themeId
— List folders (useGET /folders
in generation)folderIds
Workflow
- Check for API key in environment (
) or TOOLS.md$GAMMA_API_KEY - Build
with content (can include image URLs inline)inputText - POST to
→ get/generationsgenerationId - Poll
until/generations/{id}status: "completed" - Return
to usergammaUrl