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.md
source 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

  • FATHOM_API_KEY
    stored in secrets manager (not environment files)
  • 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

CheckRisk if SkippedPriority
API key rotationExpired key halts transcript pipelineP1
Webhook verificationSpoofed payloads inject bad dataP1
PII retention policyGDPR/CCPA violation on meeting dataP1
Empty transcript handlingDownstream systems crash on nullP2
Rate limit backoffBulk meeting import blocked by 429P3

Resources

Next Steps

See

fathom-security-basics
for meeting data privacy and consent patterns.