gamma-core-workflow-a

📁 jeremylongshore/claude-code-plugins-plus-skills 📅 10 days ago
8
总安装量
8
周安装量
#35195
全站排名
安装命令
npx skills add https://github.com/jeremylongshore/claude-code-plugins-plus-skills --skill gamma-core-workflow-a

Agent 安装分布

openclaw 7
gemini-cli 7
claude-code 7
codex 7
cursor 7
opencode 7

Skill 文档

Gamma Core Workflow A: AI Presentation Generation

Overview

Implement the core workflow for generating presentations using Gamma’s AI capabilities from various input sources.

Prerequisites

  • Completed gamma-sdk-patterns setup
  • Understanding of async patterns
  • Content ready for presentation

Instructions

Step 1: Prompt-Based Generation

import { GammaClient } from '@gamma/sdk';

const gamma = new GammaClient({ apiKey: process.env.GAMMA_API_KEY });

async function generateFromPrompt(topic: string, slides: number = 10) {
  const presentation = await gamma.presentations.generate({
    prompt: topic,
    slideCount: slides,
    style: 'professional',
    includeImages: true,
    includeSpeakerNotes: true,
  });

  return presentation;
}

// Usage
const deck = await generateFromPrompt('Introduction to Machine Learning', 8);
console.log('Generated:', deck.url);

Step 2: Document-Based Generation

async function generateFromDocument(filePath: string) {
  const document = await fs.readFile(filePath, 'utf-8');

  const presentation = await gamma.presentations.generate({
    sourceDocument: document,
    sourceType: 'markdown', // or 'pdf', 'docx', 'text'
    extractKeyPoints: true,
    maxSlides: 15,
  });

  return presentation;
}

Step 3: Structured Content Generation

interface SlideOutline {
  title: string;
  points: string[];
  imagePrompt?: string;
}

async function generateFromOutline(outline: SlideOutline[]) {
  const presentation = await gamma.presentations.generate({
    slides: outline.map(slide => ({
      title: slide.title,
      content: slide.points.join('\n'),
      generateImage: slide.imagePrompt,
    })),
    style: 'modern',
  });

  return presentation;
}

Step 4: Batch Generation Pipeline

async function batchGenerate(topics: string[]) {
  const results = await Promise.allSettled(
    topics.map(topic =>
      gamma.presentations.generate({
        prompt: topic,
        slideCount: 5,
      })
    )
  );

  return results.map((r, i) => ({
    topic: topics[i],
    status: r.status,
    url: r.status === 'fulfilled' ? r.value.url : null,
    error: r.status === 'rejected' ? r.reason.message : null,
  }));
}

Output

  • AI-generated presentations from prompts
  • Document-to-presentation conversion
  • Structured content transformation
  • Batch processing capability

Error Handling

Error Cause Solution
Generation Timeout Complex prompt Reduce slide count or simplify
Content Too Long Document exceeds limit Split into sections
Rate Limit Too many requests Implement queue system
Style Not Found Invalid style name Check available styles

Resources

Next Steps

Proceed to gamma-core-workflow-b for presentation editing and export workflows.