jeremylongshore/claude-code-plugins-plus-skills
gamma-pack
plugins/saas-packs/gamma-pack/skills/gamma-migration-deep-dive/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/gamma-pack/skills/gamma-migration-deep-dive/SKILL.md -a claude-code --skill gamma-migration-deep-diveInstallation paths:
.claude/skills/gamma-migration-deep-dive/# Gamma Migration Deep Dive
## Overview
Comprehensive guide for migrating presentations and workflows from other platforms to Gamma.
## Prerequisites
- Gamma API access
- Source platform export capabilities
- Node.js 18+ for migration scripts
- Sufficient Gamma storage quota
## Supported Migration Paths
| Source | Format | Fidelity | Notes |
|--------|--------|----------|-------|
| PowerPoint | .pptx | High | Native import |
| Google Slides | .pptx export | High | Export first |
| Canva | .pdf/.pptx | Medium | Limited animations |
| Keynote | .pptx export | High | Export first |
| PDF | .pdf | Medium | Static only |
| Markdown | .md | High | Structure preserved |
## Instructions
### Step 1: Inventory Source Presentations
```typescript
// scripts/migration-inventory.ts
interface SourcePresentation {
id: string;
title: string;
source: 'powerpoint' | 'google' | 'canva' | 'other';
path: string;
size: number;
lastModified: Date;
slideCount?: number;
}
async function inventoryPresentations(sourceDir: string): Promise<SourcePresentation[]> {
const files = await glob('**/*.{pptx,pdf,key}', { cwd: sourceDir });
const inventory: SourcePresentation[] = [];
for (const file of files) {
const stats = await fs.stat(path.join(sourceDir, file));
const ext = path.extname(file).toLowerCase();
inventory.push({
id: crypto.randomUUID(),
title: path.basename(file, ext),
source: detectSource(file),
path: file,
size: stats.size,
lastModified: stats.mtime,
});
}
// Save inventory
await fs.writeFile(
'migration-inventory.json',
JSON.stringify(inventory, null, 2)
);
console.log(`Found ${inventory.length} presentations to migrate`);
return inventory;
}
```
### Step 2: Migration Engine
```typescript
// lib/migration-engine.ts
import { GammaClient } from '@gamma/sdk';
interface MigrationResult {
sourceId: string;
gammaId?: string;
success: boolean;
error?: string;
duration: number;