From gamma-pack
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".
npx claudepluginhub flight505/skill-forge --plugin gamma-packThis skill is limited to using the following tools:
Reference guide for debugging and resolving common Gamma API errors.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Reference guide for debugging and resolving common Gamma API errors.
// Error: Invalid API Key
{
"error": "unauthorized",
"message": "Invalid or expired API key"
}
Solutions:
echo $GAMMA_API_KEY// Error: Rate Limited
{
"error": "rate_limited",
"message": "Too many requests",
"retry_after": 60
}
Solutions:
X-RateLimit-Remainingasync 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;
}
}
}
// Error: Generation Failed
{
"error": "generation_failed",
"message": "Unable to generate presentation",
"details": "Content too complex"
}
Solutions:
// Error: Request Timeout
{
"error": "timeout",
"message": "Request timed out after 30000ms"
}
Solutions:
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
timeout: 60000, // 60 seconds # 60000: 1 minute in ms
});
// Error: Export Failed
{
"error": "export_failed",
"message": "Unable to export presentation",
"format": "pdf"
}
Solutions:
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
debug: true, // Logs all requests/responses
});
const status = await gamma.status();
console.log('API Status:', status.healthy ? 'OK' : 'Issues');
console.log('Services:', status.services);
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;
}
}
Proceed to gamma-debug-bundle for comprehensive debugging tools.