Claude-code-plugins-plus-skills fathom-prod-checklist
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/fathom-pack/skills/fathom-prod-checklist" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-fathom-prod-checklist && rm -rf "$T"
manifest:
plugins/saas-packs/fathom-pack/skills/fathom-prod-checklist/SKILL.mdsource content
Fathom Production Checklist
Overview
Fathom provides AI-powered meeting intelligence with automated transcription, summaries, and action item extraction. A production integration ingests meeting recordings, processes transcripts, and syncs action items to downstream systems. Failures mean lost meeting context, missed follow-ups, or transcript data leaking outside authorized channels. This checklist ensures reliable, compliant meeting data pipelines.
Authentication & Secrets
-
stored in secrets manager (not environment files)FATHOM_API_KEY - OAuth app registered if building public-facing integration
- Key rotation schedule documented (90-day cycle)
- Separate credentials for dev/staging/prod environments
- Webhook signing secret configured for payload verification
API Integration
- Production base URL configured (
)https://api.fathom.video/v1 - Rate limit handling with backoff (60 req/min standard tier)
- Webhook endpoint registered and tested with sample payloads
- Meeting recording retrieval handles large file downloads
- Transcript pagination implemented for long meetings (>60 min)
- Action item extraction tested with various meeting formats
- Calendar integration sync verified (Google Calendar / Outlook)
Error Handling & Resilience
- Circuit breaker configured for Fathom API outages
- Retry with exponential backoff for 429/5xx responses
- Empty or partial transcript handling (silent meetings, poor audio)
- Webhook delivery failures trigger re-fetch via polling
- Meeting data PII handling documented (GDPR consent, retention)
- Backup webhook URL configured for failover
Monitoring & Alerting
- API latency tracked per endpoint (meetings, transcripts)
- Error rate alerts set (threshold: >5% over 10 minutes)
- Failed transcript processing triggers notification
- Webhook delivery success rate monitored
- Daily digest of processed meeting counts vs scheduled
Validation Script
async function checkFathomReadiness(): Promise<void> { const checks: { name: string; pass: boolean; detail: string }[] = []; // API connectivity try { const res = await fetch('https://api.fathom.video/v1/meetings?limit=1', { headers: { Authorization: `Bearer ${process.env.FATHOM_API_KEY}` }, }); checks.push({ name: 'Fathom API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` }); } catch (e: any) { checks.push({ name: 'Fathom API', pass: false, detail: e.message }); } // Credentials present checks.push({ name: 'API Key Set', pass: !!process.env.FATHOM_API_KEY, detail: process.env.FATHOM_API_KEY ? 'Present' : 'MISSING' }); // Webhook endpoint reachable const webhookUrl = process.env.FATHOM_WEBHOOK_URL; if (webhookUrl) { try { const res = await fetch(webhookUrl, { method: 'HEAD' }); checks.push({ name: 'Webhook Endpoint', pass: res.ok, detail: `HTTP ${res.status}` }); } catch (e: any) { checks.push({ name: 'Webhook Endpoint', pass: false, detail: e.message }); } } else { checks.push({ name: 'Webhook Endpoint', pass: false, detail: 'URL not configured' }); } for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`); } checkFathomReadiness();
Error Handling
| Check | Risk if Skipped | Priority |
|---|---|---|
| API key rotation | Expired key halts transcript pipeline | P1 |
| Webhook verification | Spoofed payloads inject bad data | P1 |
| PII retention policy | GDPR/CCPA violation on meeting data | P1 |
| Empty transcript handling | Downstream systems crash on null | P2 |
| Rate limit backoff | Bulk meeting import blocked by 429 | P3 |
Resources
Next Steps
See
fathom-security-basics for meeting data privacy and consent patterns.