Skip to main content
AI/MLjeremylongshore

fireflies-debug-bundle

'Collect Fireflies.ai debug evidence for support tickets and troubleshooting.

Stars
2,267
Source
jeremylongshore/claude-code-plugins-plus-skills
Updated
2026-05-31
Slug
jeremylongshore--claude-code-plugins-plus-skills--fireflies-debug-bundle
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/HEAD/plugins/saas-packs/fireflies-pack/skills/fireflies-debug-bundle/SKILL.md -o .claude/skills/fireflies-debug-bundle.md

Drops the SKILL.md into .claude/skills/fireflies-debug-bundle.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Fireflies.ai Debug Bundle

Current State

!node --version 2>/dev/null || echo 'N/A' !python3 --version 2>/dev/null || echo 'N/A'

Overview

Collect all diagnostic information needed to resolve Fireflies.ai integration issues. Generates a redacted bundle safe for sharing with support.

Prerequisites

  • FIREFLIES_API_KEY environment variable set
  • curl and jq available
  • Permission to collect environment info

Instructions

Step 1: Create Debug Bundle Script

#!/bin/bash
set -euo pipefail

BUNDLE_DIR="fireflies-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"

echo "=== Fireflies.ai Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"

# 1. Environment
echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt"
echo "Node: $(node --version 2>/dev/null || echo 'N/A')" >> "$BUNDLE_DIR/summary.txt"
echo "Python: $(python3 --version 2>/dev/null || echo 'N/A')" >> "$BUNDLE_DIR/summary.txt"
echo "OS: $(uname -s) $(uname -r)" >> "$BUNDLE_DIR/summary.txt"
echo "API Key: ${FIREFLIES_API_KEY:+SET (${#FIREFLIES_API_KEY} chars)}" >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"

# 2. API Connectivity
echo "--- API Connectivity ---" >> "$BUNDLE_DIR/summary.txt"
curl -s -o "$BUNDLE_DIR/api-response.json" -w "HTTP %{http_code} | %{time_total}s\n" \
  -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query": "{ user { name email is_admin } }"}' \
  >> "$BUNDLE_DIR/summary.txt" 2>&1

# 3. User & Plan Info
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Account Info ---" >> "$BUNDLE_DIR/summary.txt"
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query": "{ user { name email is_admin num_transcripts minutes_consumed is_calendar_in_sync integrations } }"}' \
  | jq '.data.user | {name, is_admin, transcripts: .num_transcripts, minutes: .minutes_consumed, calendar_sync: .is_calendar_in_sync}' \
  >> "$BUNDLE_DIR/summary.txt" 2>/dev/null

# 4. Recent Transcripts (metadata only)
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Recent Transcripts (last 5) ---" >> "$BUNDLE_DIR/summary.txt"
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -d '{"query": "{ transcripts(limit: 5) { id title date duration organizer_email } }"}' \
  | jq '.data.transcripts[]? | {id, title, date, duration}' \
  >> "$BUNDLE_DIR/summary.txt" 2>/dev/null

# 5. GraphQL package versions
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Dependencies ---" >> "$BUNDLE_DIR/summary.txt"
npm list graphql graphql-request 2>/dev/null >> "$BUNDLE_DIR/summary.txt" || echo "No npm packages found" >> "$BUNDLE_DIR/summary.txt"
pip freeze 2>/dev/null | grep -i "request\|graphql" >> "$BUNDLE_DIR/summary.txt" || true

# 6. Config (redacted)
echo "" >> "$BUNDLE_DIR/summary.txt"
echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
if [ -f .env ]; then
  cat .env | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE_DIR/config-redacted.txt"
fi

# Package
tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
rm -rf "$BUNDLE_DIR"
echo "Bundle created: $BUNDLE_DIR.tar.gz"

Step 2: Quick Health Check

set -euo pipefail
echo "=== Fireflies Quick Health Check ==="

# Auth
echo -n "Auth: "
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ user { email } }"}' | jq -r '.data.user.email // .errors[0].message'

# Calendar sync
echo -n "Calendar: "
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ user { is_calendar_in_sync } }"}' | jq -r '.data.user.is_calendar_in_sync'

# Recent meeting
echo -n "Last meeting: "
curl -s -X POST https://api.fireflies.ai/graphql \
  -H "Authorization: Bearer $FIREFLIES_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ transcripts(limit: 1) { title date } }"}' | jq -r '.data.transcripts[0] | "\(.title) (\(.date))"'

Sensitive Data Handling

ALWAYS REDACT before sharing:

  • API keys and tokens
  • Meeting content and transcripts
  • Attendee emails and names
  • PII in action items

Safe to include:

  • Error codes and messages
  • HTTP status codes and latency
  • Package versions
  • Account metadata (admin status, transcript count)

Error Handling

Item Purpose Included
API connectivity Is the endpoint reachable? HTTP status + latency
Auth check Is the API key valid? User email or error code
Calendar sync Is the bot getting invites? Boolean sync status
Recent transcripts Is processing working? Metadata only (no content)
Dependencies Version conflicts? Package versions

Output

  • fireflies-debug-YYYYMMDD-HHMMSS.tar.gz archive with:
    • summary.txt -- environment, connectivity, account info
    • api-response.json -- raw API response
    • config-redacted.txt -- configuration with secrets masked

Resources

Next Steps

For rate limit issues, see fireflies-rate-limits.