jeremylongshore/claude-code-plugins-plus-skills
deepgram-pack
plugins/saas-packs/deepgram-pack/skills/deepgram-core-workflow-a/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/deepgram-pack/skills/deepgram-core-workflow-a/SKILL.md -a claude-code --skill deepgram-core-workflow-aInstallation paths:
.claude/skills/deepgram-core-workflow-a/# Deepgram Core Workflow A: Pre-recorded Transcription
## Overview
Implement a complete pre-recorded audio transcription workflow using Deepgram's Nova-2 model.
## Prerequisites
- Completed `deepgram-install-auth` setup
- Understanding of async patterns
- Audio files or URLs to transcribe
## Instructions
### Step 1: Set Up Transcription Service
Create a service class to handle transcription operations.
### Step 2: Implement File and URL Transcription
Add methods for both local files and remote URLs.
### Step 3: Add Feature Options
Configure punctuation, diarization, and formatting.
### Step 4: Process Results
Extract and format transcription results.
## Output
- Transcription service class
- Support for file and URL transcription
- Configurable transcription options
- Formatted transcript output
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Audio Too Long | Exceeds limits | Split into chunks or use async |
| Unsupported Format | Invalid audio type | Convert to WAV/MP3/FLAC |
| Empty Response | No speech detected | Check audio quality |
| Timeout | Large file processing | Use callback URL pattern |
## Examples
### TypeScript Transcription Service
```typescript
// services/transcription.ts
import { createClient } from '@deepgram/sdk';
import { readFile } from 'fs/promises';
export interface TranscriptionOptions {
model?: 'nova-2' | 'nova' | 'enhanced' | 'base';
language?: string;
punctuate?: boolean;
diarize?: boolean;
smartFormat?: boolean;
utterances?: boolean;
paragraphs?: boolean;
}
export interface TranscriptionResult {
transcript: string;
confidence: number;
words: Array<{
word: string;
start: number;
end: number;
confidence: number;
}>;
utterances?: Array<{
speaker: number;
transcript: string;
start: number;
end: number;
}>;
}
export class TranscriptionService {
private client;
constructor(apiKey: string) {
this.client = createClient(apiKey);
}