Skip to content
cccskills
FreePublished on GitHub

fireflies-transcript

Fetch raw Fireflies.ai meeting transcripts. Use only when the user explicitly invokes /fireflies-transcript; for YouTube, use youtube-transcript.

The English summary is being prepared. Showing the original description.

Works withYouTube
See how to install

Files included (2)

  • SKILL.md2.8 KB
  • agents/openai.yaml43 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Fireflies Transcript

Fetch any meeting transcript from Fireflies.ai as raw text via GraphQL. Read-only.

Auth (state-check first)

Load the API key from a local environment file (mode 600, never commit or print it):

source "$SERVICE_ENV_FILE"   # exports API_KEY
[ -n "$API_KEY" ] || echo "MISSING KEY - stop and tell the user"

Every call is a POST to https://api.fireflies.ai/graphql with Authorization: Bearer <API_KEY> and a JSON body {"query": "..."}.

Step 1 - find the meeting id

curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{"query":"{ transcripts(limit: 25) { id title date duration } }"}' \
  | jq -r '.data.transcripts[] | "\(.id) | \(.title) | \(.date)"'
  • date is epoch milliseconds. Convert on macOS: date -r $((1784127600000/1000)).
  • The transcripts(title:) filter is EXACT-match — it returns [] for partial names. List recent meetings and grep locally instead.
  • Ad-hoc meetings have no proper title (e.g. Untitled - Wed, 15 Jul 2026 17:00:55 CEST). Identify those by date/time, then confirm via content or speakers, not the title.
  • Paginate older meetings with skip: (e.g. transcripts(limit: 50, skip: 25)).

Step 2 - pull the raw transcript

QUERY='{ transcript(id: "MEETING_ID") { title sentences { speaker_name text } } }'
curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d "$(jq -nc --arg query "$QUERY" '{query: $query}')" \
  > /tmp/ff.json

# speaker-labeled raw text (usual deliverable)
jq -r '.data.transcript.sentences[] | "\(.speaker_name): \(.text)"' /tmp/ff.json

# bare text only
jq -r '.data.transcript.sentences[].text' /tmp/ff.json

Transcripts run to hundreds of sentences — save to a file, never dump to stdout/chat.

Optional extras on the same transcript(id:) query: summary { overview short_summary keywords }, participants, duration, meeting_link.

Failure modes

  • sentences: null — recording still processing or no audio captured; nothing to pull.
  • errors[] in the response instead of data — usually a bad field name; fix the query.
  • 401/invalid key — key was rotated; ask the user for a new one (Fireflies dashboard: Settings -> Developer settings), update the local environment file.

Verify before reporting done

A pull is successful only if the sentence count is > 0 and the speakers/topic match the meeting the user asked about — check the first few lines, don't trust the title alone.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

4x4

Free

Pull 16 fast decisions out of the user with 4 sets of 4 open questions, then present an implementation plan. Only for risky changes, large product decisions, or large refactors. Run when the user types /4x4. Agents may suggest it in one line but never start it on their own.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

Record concise ADRs that preserve the user's decisions without conversational noise. Use for "adr-verbatim", "new ADR", "document that as an ADR", "record this decision", or supplied ADR wording.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

Keep a Mac awake for a set duration or while a process runs. Use only when the user explicitly invokes /anti-sleep.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

Clarify a feature, change, or refactor through questions, then write a build prompt for another agent. Use for /ask-then-build or requests to ask questions before producing an implementation prompt.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

bb-cli

Free

Use this when controlling bb. The bb CLI inspects and manages threads, environments, projects, machines, providers, skills, plugins, settings, terminals, and other BB services.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

Build, install, and debug bb plugins. Use when the user wants a bb plugin, a sidebar panel, a bb CLI subcommand, an agent tool, a theme, a provider, or to extend bb itself. For running threads and the core bb CLI, use bb-cli instead.

The English summary is being prepared. Showing the original description.

davidondrej/skills4.2KUpdated Oct 19, 2026

See all skills by davidondrej

Report a problem with this skill