Gamma Presentations

v1.0.0

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.

1· 2.5k·11 current·11 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The SKILL.md and description match (calling Gamma's API to generate presentations/documents/web pages). However the instructions require an API key (GAMMA_API_KEY) while the skill metadata declares no required environment variables or config paths — the skill's declared requirements do not match what it actually needs to operate.
!
Instruction Scope
Runtime instructions tell the agent to look for an API key in the environment ($GAMMA_API_KEY) or in TOOLS.md and to POST/poll the Gamma public API. Asking the agent to read or store secrets in TOOLS.md is out-of-band relative to the declared metadata and grants the agent a path to persistent storage of credentials that isn't documented in the registry.
Install Mechanism
There is no install spec and no code files — the skill is instruction-only, so nothing is written to disk by an installer. This is the lowest install risk.
!
Credentials
The instructions require a single API key (GAMMA_API_KEY), which is reasonable for the stated purpose, but the fact that the registry lists no required env vars is inconsistent. Additionally, suggesting putting the key in TOOLS.md (a persistent file) is disproportionate and risky for secret handling unless clearly documented and secured.
!
Persistence & Privilege
The skill does not request always:true and has no install, but the guidance to add the API key to TOOLS.md effectively asks for persistent storage of credentials outside the declared config. That increases the blast radius if the file is accessible to other skills or processes.
What to consider before installing
This skill appears to do what it says (call Gamma's public API) but its metadata omits the fact that it needs a GAMMA_API_KEY and it tells the agent to look in or write to TOOLS.md. Before installing or using it: (1) do not store secrets in shared files like TOOLS.md unless you control who can read them — prefer ephemeral environment variables or a secrets manager; (2) ask the publisher to update the skill metadata to declare GAMMA_API_KEY and any config paths so you can review required privileges; (3) verify the API base URL and the developer/source (there is no homepage listed); (4) only provide an API key with the minimum scope required and be cautious about letting the agent autonomously access persistent keys. If you cannot confirm the publisher or the missing metadata, treat this skill as untrusted.

Like a lobster shell, security has layers — review code before you run it.

latestvk97a4kxzwg4he8jgzyq8v2q1ax804q1v
2.5kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Gamma API Skill

Create presentations and documents programmatically via Gamma's API.

Setup

  1. Get API key from https://developers.gamma.app
  2. Store in environment: export GAMMA_API_KEY=sk-gamma-xxx Or add to TOOLS.md: Gamma 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

ParameterValuesNotes
textModegenerate, condense, preservegenerate=expand, condense=summarize, preserve=keep exact
formatpresentation, document, social, webpageOutput type
numCards1-60 (Pro), 1-75 (Ultra)Number of slides/cards
cardSplitauto, inputTextBreaksUse \n---\n in inputText for manual breaks
exportAspdf, pptxOptional 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

  • GET /themes — List available themes (use themeId in generation)
  • GET /folders — List folders (use folderIds in generation)

Workflow

  1. Check for API key in environment ($GAMMA_API_KEY) or TOOLS.md
  2. Build inputText with content (can include image URLs inline)
  3. POST to /generations → get generationId
  4. Poll /generations/{id} until status: "completed"
  5. Return gammaUrl to user

Comments

Loading comments...