FI

fireflies-core-workflow-b

Advanced workflow for interacting with meeting transcripts and generating data-driven insights.

Install

mkdir -p .claude/skills/fireflies-core-workflow-b && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5322" && unzip -o skill.zip -d .claude/skills/fireflies-core-workflow-b && rm skill.zip

Installs to .claude/skills/fireflies-core-workflow-b

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Search across Fireflies.ai transcripts, use AskFred AI, and build meeting
73 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Search transcripts using keyword and date filters
  • Query meeting content via AskFred AI
  • Aggregate meeting analytics for reporting
  • Manage AskFred conversation threads
  • Calculate total meeting duration and action items

How it works

It executes GraphQL queries to filter transcript metadata and uses AskFred mutation endpoints to perform natural language Q&A over meeting content.

Inputs & outputs

You give it
Search parameters or transcript ID
You get back
Meeting summaries, analytics reports, or AI-generated answers

When to use fireflies-core-workflow-b

  • Searching meeting history
  • Querying AskFred AI assistant
  • Aggregating meeting data for reports

About this skill

Fireflies.ai Core Workflow B -- Search, AskFred & Analytics

Overview

Secondary workflow: search across transcripts with keyword and date filters, use AskFred AI for natural language Q&A over meetings, and aggregate meeting analytics for reporting.

Prerequisites

  • Completed fireflies-install-auth setup
  • Familiarity with fireflies-core-workflow-a
  • AI credits for AskFred queries (check Fireflies dashboard)

Instructions

Step 1: Search Transcripts by Keyword

const SEARCH_TRANSCRIPTS = `
  query SearchMeetings(
    $keyword: String,
    $fromDate: DateTime,
    $toDate: DateTime,
    $participants: [String],
    $limit: Int
  ) {
    transcripts(
      keyword: $keyword
      fromDate: $fromDate
      toDate: $toDate
      participants: $participants
      limit: $limit
    ) {
      id title date duration
      organizer_email
      participants
      summary { overview action_items keywords }
    }
  }
`;

// Search for "quarterly review" in the last 30 days
const results = await firefliesQuery(SEARCH_TRANSCRIPTS, {
  keyword: "quarterly review",
  fromDate: new Date(Date.now() - 30 * 86400000).toISOString(),
  limit: 20,
});

console.log(`Found ${results.transcripts.length} matching meetings`);
for (const t of results.transcripts) {
  console.log(`  ${t.title} (${t.date}) - ${t.duration}min`);
}

Step 2: AskFred -- AI Q&A Over a Single Meeting

// Create a new AskFred thread tied to a transcript
const CREATE_THREAD = `
  mutation CreateThread($input: CreateAskFredThreadInput!) {
    createAskFredThread(input: $input) {
      id
      title
      messages {
        id
        answer
        suggested_queries
      }
    }
  }
`;

const thread = await firefliesQuery(CREATE_THREAD, {
  input: {
    query: "What were the key decisions made in this meeting?",
    transcript_id: "your-transcript-id",
  },
});

console.log("Fred says:", thread.createAskFredThread.messages[0].answer);
console.log("Suggested follow-ups:", thread.createAskFredThread.messages[0].suggested_queries);

Step 3: AskFred -- Continue a Conversation

const CONTINUE_THREAD = `
  mutation ContinueThread($thread_id: String!, $query: String!) {
    continueAskFredThread(thread_id: $thread_id, query: $query) {
      id
      answer
      suggested_queries
    }
  }
`;

const followUp = await firefliesQuery(CONTINUE_THREAD, {
  thread_id: thread.createAskFredThread.id,
  query: "Who is responsible for the action items?",
});

console.log("Follow-up:", followUp.continueAskFredThread.answer);

Step 4: AskFred -- Cross-Meeting Analysis

// Query across multiple meetings (no transcript_id = searches all)
const crossMeeting = await firefliesQuery(CREATE_THREAD, {
  input: {
    query: "What topics came up repeatedly across our sprint planning meetings?",
    // filters can narrow scope without tying to a single transcript
  },
});

Step 5: Meeting Analytics Aggregation

async function meetingAnalytics(days: number = 30) {
  const since = new Date(Date.now() - days * 86400000).toISOString();

  const data = await firefliesQuery(`
    query Analytics($fromDate: DateTime) {
      transcripts(fromDate: $fromDate, limit: 100) {
        id title date duration
        organizer_email participants
        summary { action_items keywords }
        analytics {
          speakers { name duration word_count questions }
          sentiments { positive_pct negative_pct }
        }
      }
    }
  `, { fromDate: since });

  const meetings = data.transcripts;
  const totalMinutes = meetings.reduce((s: number, m: any) => s + (m.duration || 0), 0);
  const totalActions = meetings.reduce(
    (s: number, m: any) => s + (m.summary?.action_items?.length || 0), 0
  );

  // Top keywords across all meetings
  const keywordCounts: Record<string, number> = {};
  for (const m of meetings) {
    for (const kw of m.summary?.keywords || []) {
      keywordCounts[kw] = (keywordCounts[kw] || 0) + 1;
    }
  }
  const topKeywords = Object.entries(keywordCounts)
    .sort((a, b) => b[1] - a[1])
    .slice(0, 10);

  return {
    period: `${days} days`,
    totalMeetings: meetings.length,
    totalHours: (totalMinutes / 60).toFixed(1),
    totalActionItems: totalActions,
    avgDuration: Math.round(totalMinutes / meetings.length),
    topKeywords,
  };
}

Step 6: List and Manage AskFred Threads

// List all threads
const threads = await firefliesQuery(`{
  askfred_threads {
    id title transcript_id created_at
  }
}`);

// Delete a thread (cleanup)
await firefliesQuery(`
  mutation DeleteThread($id: String!) {
    deleteAskFredThread(thread_id: $id)
  }
`, { id: "thread-id-to-delete" });

AskFred Credits

AskFred API calls consume AI credits. If you receive require_ai_credits, visit the Upgrade section in your Fireflies dashboard to add credits. Budget accordingly for production use.

Error Handling

ErrorCauseSolution
require_ai_creditsNo AI credits remainingPurchase credits in Fireflies dashboard
Empty search resultsNo matching transcriptsBroaden keyword or date range
Thread not foundInvalid thread IDList threads first to get valid IDs
Rate limit 429Too many requestsImplement backoff per fireflies-rate-limits

Output

  • Keyword search results across transcript history
  • AskFred AI-powered Q&A threads with suggested follow-ups
  • Cross-meeting analytics report with keyword trends

Resources

Next Steps

For common errors, see fireflies-common-errors.

When not to use it

  • When performing administrative workspace management
  • When the primary goal is simple transcript retrieval without analysis

Prerequisites

Completed fireflies-install-auth setupAI credits for AskFred queries

Limitations

  • AskFred queries consume AI credits
  • Search results depend on transcript availability

How it compares

This workflow automates cross-meeting analysis and data aggregation that would otherwise require manual review of individual transcripts.

Compared to similar skills

fireflies-core-workflow-b side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
fireflies-core-workflow-b (this skill)125dReviewIntermediate
korean-public-data-api59moNo flagsIntermediate
apollo-data-handling125dCautionIntermediate
azure-ai-contentunderstanding-py127dReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by jeremylongshore

View all by jeremylongshore

analyzing-logs

jeremylongshore

Analyze application logs to detect performance issues, identify error patterns, and improve stability by extracting key insights.

14123

ollama-setup

jeremylongshore

Configure auto-configure Ollama when user needs local LLM deployment, free AI alternatives, or wants to eliminate hosted API costs. Trigger phrases: "install ollama", "local AI", "free LLM", "self-hosted AI", "replace OpenAI", "no API costs". Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

1167

backtesting-trading-strategies

jeremylongshore

Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".

1071

generating-database-seed-data

jeremylongshore

Process this skill enables AI assistant to generate realistic test data and database seed scripts for development and testing environments. it uses faker libraries to create realistic data, maintains relational integrity, and allows configurable data volumes. u... Use when working with databases or data models. Trigger with phrases like 'database', 'query', or 'schema'.

1033

cursor-codebase-indexing

jeremylongshore

Execute set up and optimize Cursor codebase indexing. Triggers on "cursor index setup", "codebase indexing", "index codebase", "cursor semantic search". Use when working with cursor codebase indexing functionality. Trigger with phrases like "cursor codebase indexing", "cursor indexing", "cursor".

885

testing-mobile-apps

jeremylongshore

Execute mobile app testing on iOS and Android devices/simulators. Use when performing specialized testing. Trigger with phrases like "test mobile app", "run iOS tests", or "validate Android functionality".

810

You might also like

korean-public-data-api

swszz

Extract API request/response schema from Korean Public Data Portal (data.go.kr) documentation pages and generate structured JSON representation

596

apollo-data-handling

jeremylongshore

Apollo.io data management and compliance. Use when handling contact data, implementing GDPR compliance, or managing data exports and retention. Trigger with phrases like "apollo data", "apollo gdpr", "apollo compliance", "apollo data export", "apollo data retention", "apollo pii".

12

azure-ai-contentunderstanding-py

microsoft

Azure AI Content Understanding SDK for Python. Use for multimodal content extraction from documents, images, audio, and video. Triggers: "azure-ai-contentunderstanding", "ContentUnderstandingClient", "multimodal analysis", "document extraction", "video analysis", "audio transcription".

12

azure-ai-document-intelligence-dotnet

microsoft

Azure AI Document Intelligence SDK for .NET. Extract text, tables, and structured data from documents using prebuilt and custom models. Use for invoice processing, receipt extraction, ID document analysis, and custom document models. Triggers: "Document Intelligence", "DocumentIntelligenceClient", "form recognizer", "invoice extraction", "receipt OCR", "document analysis .NET".

03

fireflies-core-workflow-a

jeremylongshore

Execute Fireflies.ai primary workflow: Core Workflow A. Use when implementing primary use case, building main features, or core integration tasks. Trigger with phrases like "fireflies main workflow", "primary task with fireflies".

12

fireflies-cost-tuning

jeremylongshore

Optimize Fireflies.ai costs through tier selection, sampling, and usage monitoring. Use when analyzing Fireflies.ai billing, reducing API costs, or implementing usage monitoring and budget alerts. Trigger with phrases like "fireflies cost", "fireflies billing", "reduce fireflies costs", "fireflies pricing", "fireflies expensive", "fireflies budget".

12

Search skills

Search the agent skills registry