From deepgram-pack
Configure Deepgram local development workflow with testing and iteration. Use when setting up development environment, configuring test fixtures, or establishing rapid iteration patterns for Deepgram integration. Trigger with phrases like "deepgram local dev", "deepgram development setup", "deepgram test environment", "deepgram dev workflow".
How this skill is triggered — by the user, by Claude, or both
Slash command
/deepgram-pack:deepgram-local-dev-loopThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up an efficient local development workflow for Deepgram integration with fast feedback cycles.
Set up an efficient local development workflow for Deepgram integration with fast feedback cycles.
deepgram-install-auth setupmkdir -p src tests fixtures
touch src/transcribe.ts tests/transcribe.test.ts
# .env.development
DEEPGRAM_API_KEY=your-dev-api-key
DEEPGRAM_MODEL=nova-2
# .env.test
DEEPGRAM_API_KEY=your-test-api-key
DEEPGRAM_MODEL=nova-2
set -euo pipefail
# Download sample audio for testing
curl -o fixtures/sample.wav https://static.deepgram.com/examples/nasa-podcast.wav
{
"scripts": {
"dev": "tsx watch src/transcribe.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
| Error | Cause | Solution |
|---|---|---|
| Fixture Not Found | Missing audio file | Run fixture download script |
| Env Not Loaded | dotenv not configured | Install and configure dotenv |
| Watch Mode Fails | Missing tsx | Install tsx: npm i -D tsx |
| API Rate Limited | Too many dev requests | Use cached responses in tests |
// src/transcribe.ts
import { createClient } from '@deepgram/sdk';
import { config } from 'dotenv';
config(); // Load .env
const deepgram = createClient(process.env.DEEPGRAM_API_KEY!);
export async function transcribeAudio(audioPath: string) {
const audio = await Bun.file(audioPath).arrayBuffer();
const { result, error } = await deepgram.listen.prerecorded.transcribeFile(
Buffer.from(audio),
{ model: process.env.DEEPGRAM_MODEL || 'nova-2', smart_format: true }
);
if (error) throw error;
return result.results.channels[0].alternatives[0].transcript;
}
// Dev mode: run with sample
if (import.meta.main) {
transcribeAudio('./fixtures/sample.wav').then(console.log);
}
// tests/transcribe.test.ts
import { describe, it, expect, beforeAll } from 'vitest';
import { transcribeAudio } from '../src/transcribe';
describe('Deepgram Transcription', () => {
it('should transcribe audio file', async () => {
const transcript = await transcribeAudio('./fixtures/sample.wav');
expect(transcript).toBeDefined();
expect(transcript.length).toBeGreaterThan(0);
});
it('should handle empty audio gracefully', async () => {
await expect(transcribeAudio('./fixtures/empty.wav'))
.rejects.toThrow();
});
});
// tests/mocks/deepgram.ts
export const mockTranscriptResponse = {
results: {
channels: [{
alternatives: [{
transcript: 'This is a test transcript.',
confidence: 0.99,
words: [
{ word: 'This', start: 0.0, end: 0.2, confidence: 0.99 },
{ word: 'is', start: 0.2, end: 0.3, confidence: 0.99 },
]
}]
}]
}
};
Proceed to deepgram-sdk-patterns for production-ready code patterns.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.
4plugins reuse this skill
First indexed Jul 11, 2026
npx claudepluginhub aiminnovations/claude-code-plugins-plus --plugin deepgram-pack