Debug and resolve common Gamma API errors. Use when encountering authentication failures, rate limits, generation errors, or unexpected API responses. Trigger with phrases like "gamma error", "gamma not working", "gamma API error", "gamma debug", "gamma troubleshoot".
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: gamma-common-errors description: | Debug and resolve common Gamma API errors. Use when encountering authentication failures, rate limits, generation errors, or unexpected API responses. Trigger with phrases like "gamma error", "gamma not working", "gamma API error", "gamma debug", "gamma troubleshoot". allowed-tools: Read, Write, Edit, Grep version: 1.0.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io compatible-with: claude-code, codex, openclaw tags: [saas, gamma, api, debugging, authentication]
Gamma Common Errors
Overview
Reference guide for debugging and resolving common Gamma API errors.
Prerequisites
- Active Gamma integration
- Access to logs and error messages
- Understanding of HTTP status codes
Error Reference
Authentication Errors (401/403)
// Error: Invalid API Key
{
"error": "unauthorized",
"message": "Invalid or expired API key"
}
Solutions:
- Verify API key in Gamma dashboard
- Check environment variable is set:
echo $GAMMA_API_KEY - Ensure key hasn't been rotated
- Check for trailing whitespace in key
Rate Limit Errors (429)
// Error: Rate Limited
{
"error": "rate_limited",
"message": "Too many requests",
"retry_after": 60
}
Solutions:
- Implement exponential backoff
- Check rate limit headers:
X-RateLimit-Remaining - Upgrade plan for higher limits
- Queue requests with delays
async function withRetry(fn: () => Promise<any>, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (err) {
if (err.code === 'rate_limited' && i < maxRetries - 1) {
const delay = (err.retryAfter || Math.pow(2, i)) * 1000; # 1000: 1 second in ms
await new Promise(r => setTimeout(r, delay));
continue;
}
throw err;
}
}
}
Generation Errors (400/500)
// Error: Generation Failed
{
"error": "generation_failed",
"message": "Unable to generate presentation",
"details": "Content too complex"
}
Solutions:
- Simplify prompt or reduce slide count
- Remove special characters from content
- Check content length limits
- Try different style setting
Timeout Errors
// Error: Request Timeout
{
"error": "timeout",
"message": "Request timed out after 30000ms"
}
Solutions:
- Increase client timeout setting
- Use async job pattern for large presentations
- Check network connectivity
- Reduce request complexity
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
timeout: 60000, // 60 seconds # 60000: 1 minute in ms
});
Export Errors
// Error: Export Failed
{
"error": "export_failed",
"message": "Unable to export presentation",
"format": "pdf"
}
Solutions:
- Verify presentation exists and is complete
- Check supported export formats
- Ensure no pending generation jobs
- Try exporting with lower quality setting
Debugging Tools
Enable Debug Logging
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
debug: true, // Logs all requests/responses
});
Check API Status
const status = await gamma.status();
console.log('API Status:', status.healthy ? 'OK' : 'Issues');
console.log('Services:', status.services);
Error Handling Pattern
import { GammaError, RateLimitError, AuthError } from '@gamma/sdk';
try {
const result = await gamma.presentations.create({ ... });
} catch (err) {
if (err instanceof AuthError) {
console.error('Check your API key');
} else if (err instanceof RateLimitError) {
console.error(`Retry after ${err.retryAfter}s`);
} else if (err instanceof GammaError) {
console.error('API Error:', err.message);
} else {
throw err;
}
}
Resources
Next Steps
Proceed to gamma-debug-bundle for comprehensive debugging tools.
More by jeremylongshore
View allGenerate production-ready Google Cloud code examples from official repositories including ADK samples, Genkit templates, Vertex AI notebooks, and Gemini patterns. Use when asked to "show ADK example" or "provide GCP starter kit". Trigger with relevant phrases based on skill purpose.
Build production Firebase Genkit applications including RAG systems, multi-step flows, and tool calling for Node.js/Python/Go. Deploy to Firebase Functions or Cloud Run with AI monitoring. Use when asked to "create genkit flow" or "implement RAG". Trigger with relevant phrases based on skill purpose.
Build and deploy production-ready generative AI agents using Vertex AI, Gemini models, and Google Cloud infrastructure with RAG, function calling, and multi-modal capabilities. Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.
Validate production readiness of Vertex AI Agent Engine deployments across security, monitoring, performance, compliance, and best practices. Generates weighted scores (0-100%) with actionable remediation plans. Use when asked to validate a deployment, run a production readiness check, audit security posture, or verify compliance for Vertex AI agents. Trigger with "validate deployment", "production readiness", "security audit", "compliance check", "is this agent ready for prod", "check my ADK agent", "review before deploy", or "production readiness check". Make sure to use this skill whenever validating ADK agents for Agent Engine.
