From gamma-pack
Debugs common Gamma API errors including authentication (401/403), rate limits (429), generation failures (400/500), timeouts, and exports. Includes TypeScript retry/backoff code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gamma-pack:gamma-common-errorsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reference guide for debugging and resolving common Gamma API errors.
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.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin gamma-packDebugs Gamma API integrations with curl-based connectivity tests, auth verification, latency checks, and TypeScript diagnostics.
Provides error classification by severity/recoverability, recovery strategies, logging, and handlers for auth/rate-limit/timeout errors in resilient services.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.