npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin gamma-packWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Upgrade Gamma SDK versions and migrate between API versions. Use when upgrading SDK packages, handling deprecations, or migrating to new API versions. Trigger with phrases like "gamma upgrade", "gamma migration", "gamma new version", "gamma deprecated", "gamma SDK update".
This skill is limited to using the following tools:
Gamma Upgrade & Migration
Current State
!npm list 2>/dev/null | head -20
!pip freeze 2>/dev/null | head -20
Overview
Guide for upgrading Gamma SDK versions and migrating between API versions safely.
Prerequisites
- Existing Gamma integration
- Version control (git)
- Test environment available
Instructions
Step 1: Check Current Version
set -euo pipefail
# Node.js
npm list @gamma/sdk
# Python
pip show gamma-sdk
# Check for available updates
npm outdated @gamma/sdk
Step 2: Review Changelog
set -euo pipefail
# View changelog
npm info @gamma/sdk changelog
# Or visit
# https://gamma.app/docs/changelog
Step 3: Upgrade SDK
set -euo pipefail
# Create upgrade branch
git checkout -b feat/gamma-sdk-upgrade
# Node.js - upgrade to latest
npm install @gamma/sdk@latest
# Python - upgrade to latest
pip install --upgrade gamma-sdk
# Or specific version
npm install @gamma/sdk@2.0.0
Step 4: Handle Breaking Changes
Common Migration Patterns:
// v1.x -> v2.x: Client initialization change
// Before (v1)
import Gamma from '@gamma/sdk';
const gamma = new Gamma(apiKey);
// After (v2)
import { GammaClient } from '@gamma/sdk';
const gamma = new GammaClient({ apiKey });
// v1.x -> v2.x: Response format change
// Before (v1)
const result = await gamma.createPresentation({ title: 'Test' });
console.log(result.id);
// After (v2)
const result = await gamma.presentations.create({ title: 'Test' });
console.log(result.data.id);
// v1.x -> v2.x: Error handling change
// Before (v1)
try {
await gamma.create({ ... });
} catch (e) {
if (e.code === 'RATE_LIMIT') { ... }
}
// After (v2)
import { RateLimitError } from '@gamma/sdk';
try {
await gamma.presentations.create({ ... });
} catch (e) {
if (e instanceof RateLimitError) { ... }
}
Step 5: Update Type Definitions
// Check for type changes
// tsconfig.json - ensure strict mode catches issues
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true
}
}
// Run type check
npx tsc --noEmit
Step 6: Test Thoroughly
set -euo pipefail
# Run unit tests
npm test
# Run integration tests
npm run test:integration
# Manual smoke test
node -e "
const { GammaClient } = require('@gamma/sdk');
const g = new GammaClient({ apiKey: process.env.GAMMA_API_KEY });
g.ping().then(() => console.log('OK')).catch(console.error);
"
Step 7: Deprecation Handling
// Enable deprecation warnings
const gamma = new GammaClient({
apiKey: process.env.GAMMA_API_KEY,
showDeprecationWarnings: true,
});
// Migrate deprecated methods
// Deprecated
await gamma.getPresentations();
// New
await gamma.presentations.list();
Migration Checklist
- Current version documented
- Changelog reviewed
- Breaking changes identified
- Upgrade branch created
- SDK upgraded
- Type errors fixed
- Deprecation warnings addressed
- Unit tests passing
- Integration tests passing
- Staging deployment verified
- Production deployment planned
Rollback Procedure
set -euo pipefail
# If issues occur after upgrade
git checkout main
npm install # Restores previous version from lock file
# Or explicitly downgrade
npm install @gamma/sdk@1.x.x
Resources
Next Steps
Proceed to gamma-ci-integration for CI/CD setup.
Output
- Configuration files or code changes applied to the project
- Validation report confirming correct implementation
- Summary of changes made and their rationale
Error Handling
| Error | Cause | Resolution |
|---|---|---|
| Authentication failure | Invalid or expired credentials | Refresh tokens or re-authenticate with migration |
| Configuration conflict | Incompatible settings detected | Review and resolve conflicting parameters |
| Resource not found | Referenced resource missing | Verify resource exists and permissions are correct |
Examples
Basic usage: Apply gamma upgrade migration to a standard project setup with default configuration options.
Advanced scenario: Customize gamma upgrade migration for production environments with multiple constraints and team-specific requirements.
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.