jeremylongshore/claude-code-plugins-plus-skills
deepgram-pack
plugins/saas-packs/deepgram-pack/skills/deepgram-local-dev-loop/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-local-dev-loop/SKILL.md -a claude-code --skill deepgram-local-dev-loopInstallation paths:
.claude/skills/deepgram-local-dev-loop/# Deepgram Local Dev Loop
## Overview
Set up an efficient local development workflow for Deepgram integration with fast feedback cycles.
## Prerequisites
- Completed `deepgram-install-auth` setup
- Node.js 18+ with npm/pnpm or Python 3.10+
- Sample audio files for testing
- Environment variables configured
## Instructions
### Step 1: Create Project Structure
```bash
mkdir -p src tests fixtures
touch src/transcribe.ts tests/transcribe.test.ts
```
### Step 2: Set Up Environment Files
```bash
# .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
```
### Step 3: Create Test Fixtures
```bash
# Download sample audio for testing
curl -o fixtures/sample.wav https://static.deepgram.com/examples/nasa-podcast.wav
```
### Step 4: Set Up Watch Mode
```json
{
"scripts": {
"dev": "tsx watch src/transcribe.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
```
## Output
- Project structure with src, tests, fixtures directories
- Environment files for development and testing
- Watch mode scripts for rapid iteration
- Sample audio fixtures for testing
## Error Handling
| 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 |
## Examples
### TypeScript Dev Setup
```typescript
// 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),