TheSimpleApp

meeting-to-tasks

0
0
# Install this skill:
npx skills add TheSimpleApp/agent-skills --skill "meeting-to-tasks"

Install specific skill from multi-skill repository

# Description

Extracts actionable tasks, bug reports, and feature requests from meeting recordings. Supports Fireflies.ai, Fathom, Loom, and public meeting URLs. Use after client calls to automatically create sprint tasks.

# SKILL.md


name: meeting-to-tasks
description: Extracts actionable tasks, bug reports, and feature requests from meeting recordings. Supports Fireflies.ai, Fathom, Loom, and public meeting URLs. Use after client calls to automatically create sprint tasks.
license: MIT
metadata:
author: thesimpleapp
version: "1.0"


Meeting to Tasks

Transform client meeting recordings into structured, actionable development tasks.

Smart URL Detection

When a URL is pasted, automatically detect and route:

URL Pasted
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  DETECT SOURCE                                  β”‚
β”‚                                                 β”‚
β”‚  fireflies.ai/view/* β†’ Try Fireflies API       β”‚
β”‚  fathom.video/*      β†’ Use Firecrawl (public)  β”‚
β”‚  loom.com/*          β†’ Use Firecrawl (public)  β”‚
β”‚  Other               β†’ Use Firecrawl (public)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  SMART FALLBACK                                 β”‚
β”‚                                                 β”‚
β”‚  1. Try Rube API (if available + connected)    β”‚
β”‚  2. If fails β†’ Fallback to Firecrawl scraping  β”‚
β”‚  3. If Rube not installed β†’ Notify user        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Input Methods

Source Primary Method Fallback
Fireflies.ai Rube API (richer data) Firecrawl scrape
Fathom Firecrawl scrape -
Loom Firecrawl scrape -
Other URLs Firecrawl scrape -
Pasted transcript Direct parse -

Pre-Flight Check

Before processing, verify available tools:

CHECK RUBE AVAILABILITY:
1. Try: RUBE_SEARCH_TOOLS with simple query
2. If success β†’ Rube is available
3. If error β†’ Rube not installed or not configured

CHECK TOOLKIT CONNECTIONS (if Rube available):
1. RUBE_SEARCH_TOOLS returns toolkit_connection_statuses
2. Check fireflies: has_active_connection
3. If not connected β†’ Offer to connect

NOTIFY USER:
- "Rube available, Fireflies connected βœ“"
- "Rube available, Fireflies needs connection - run auth?"
- "Rube not available - using Firecrawl for all URLs"

Quick Start

1. Connect Fireflies via Rube:
   RUBE_MANAGE_CONNECTIONS toolkit="fireflies"

2. List recent meetings:
   FIREFLIES_GET_TRANSCRIPTS limit=10

3. Get full transcript:
   FIREFLIES_GET_TRANSCRIPT_BY_ID id="<transcript_id>"

4. Or ask natural language questions:
   FIREFLIES_CREATE_ASK_FRED_THREAD
     query="What action items were discussed?"

Option 2: Fathom (API)

1. Connect Fathom via Rube:
   RUBE_MANAGE_CONNECTIONS toolkit="fathom"

2. List recent meetings:
   FATHOM_LIST_MEETINGS

3. Get summary + transcript:
   FATHOM_GET_RECORDING_SUMMARY recording_id=<id>
   FATHOM_GET_RECORDING_TRANSCRIPT recording_id=<id>

Option 3: Public URL (Scraping)

User pastes: https://app.fireflies.ai/view/Meeting-Name/...

1. Scrape the page:
   FIRECRAWL_SCRAPE url="<meeting_url>" formats=["markdown"]

2. Parse the extracted content for transcript

Option 4: Pasted Transcript

User pastes raw transcript text directly into chat.
No tools needed - parse immediately.

Extraction Framework

What to Extract

## From Meeting Content

### 1. Action Items (Explicit)
- "Can you add a button for..."
- "We need to fix the..."
- "Let's implement..."
- "Action item: ..."

### 2. Bug Reports (Problems Mentioned)
- "This doesn't work when..."
- "We're seeing an error..."
- "It's broken on..."
- "Users are complaining about..."

### 3. Feature Requests (Wishes/Wants)
- "It would be great if..."
- "Can we have..."
- "What if we could..."
- "Users are asking for..."

### 4. Decisions Made
- "Let's go with..."
- "We decided to..."
- "The approach will be..."

### 5. Questions to Follow Up
- "Can you look into..."
- "Let me know about..."
- "Need to research..."

### 6. Visual References (If Video Available)
- Screenshots of screens shared
- UI elements pointed at
- Error messages shown

Priority Signals

HIGH PRIORITY:
- "Urgent", "ASAP", "blocking", "critical"
- Client frustration in voice/text
- Revenue/deadline mentions

MEDIUM PRIORITY:
- "Soon", "next sprint", "when you can"
- Nice-to-have improvements
- Quality of life features

LOW PRIORITY:
- "Eventually", "someday", "if time permits"
- Future considerations
- Ideas for later

Output Format

MEETING_NOTES.md

# Meeting Notes: [Meeting Title]
**Date:** [Date]
**Attendees:** [Names]
**Duration:** [Length]

## Summary
[2-3 sentence overview of what was discussed]

## Key Decisions
- Decision 1
- Decision 2

## Action Items

### High Priority
- [ ] **[BUG]** Fix login timeout on mobile - Client experiencing this daily
- [ ] **[FEATURE]** Add export to CSV button on reports page

### Medium Priority
- [ ] **[ENHANCEMENT]** Improve loading speed on dashboard
- [ ] **[FEATURE]** Add dark mode toggle

### Low Priority
- [ ] **[IDEA]** Consider integration with Slack

## Visual References
- [Screenshot 1]: Dashboard showing the issue at 12:34
- [Screenshot 2]: Mobile view with layout problem

## Follow-Up Questions
- [ ] Research API rate limits for export feature
- [ ] Check if dark mode affects charts

## Raw Transcript
<details>
<summary>Click to expand full transcript</summary>

[Full transcript here]

</details>

SPRINT_TASKS.md (For Sprint Planning)

# Tasks from [Meeting Name]

## Batch 1 (Can Start Immediately)

### Task: Fix login timeout on mobile
- **Type:** Bug Fix
- **Priority:** High
- **Context:** Client experiencing daily. See transcript 12:34-13:02.
- **Acceptance Criteria:**
  - [ ] Session persists for 24 hours on mobile
  - [ ] No timeout during active use
  - [ ] Test on iOS and Android

### Task: Add CSV export to reports
- **Type:** Feature
- **Priority:** High
- **Context:** Requested for monthly reports. See transcript 18:45-19:30.
- **Acceptance Criteria:**
  - [ ] Export button on reports page
  - [ ] Includes all visible columns
  - [ ] Handles large datasets

## Batch 2 (After Batch 1)

[Additional tasks...]

## Blocked/Needs Clarification

### Task: Slack integration
- **Blocked by:** Need to confirm which Slack features needed
- **Follow-up:** Schedule call to clarify scope

Integration with Other Skills

/meeting-to-tasks     β†’ Extract tasks from meeting
       ↓
/sprint-planning      β†’ Organize into batches
       ↓
/orchestrator         β†’ Spawn agents for parallel work
       ↓
/code-review          β†’ Quality gate before ship

Visual Context Capture

When Video is Available

If the meeting URL includes video playback:

## Approach

1. Navigate to video player
2. Identify key moments from transcript:
   - When specific features are discussed
   - When bugs are demonstrated
   - When screens are shared

3. Capture screenshots at those moments:
   - Use browser automation
   - Save to project/docs/meeting-screenshots/

4. Reference in tasks:
   "See screenshot: meeting-2024-01-15/dashboard-bug.png"

Screenshot Naming Convention

{meeting-date}/
β”œβ”€β”€ {timestamp}-{description}.png
β”œβ”€β”€ 1234-dashboard-loading-issue.png
β”œβ”€β”€ 1845-export-button-location.png
└── 2030-mobile-layout-problem.png

Workflow Examples

Example 1: After Client Call (Fireflies URL)

User: "Just finished call with Acme Corp. Here's the Fireflies link:
       https://app.fireflies.ai/view/Acme-Weekly-Sync/..."

Agent:
1. Extract transcript ID from URL
2. Fetch full transcript via API
3. Parse for action items, bugs, features
4. Generate MEETING_NOTES.md
5. Generate SPRINT_TASKS.md
6. Offer to run /sprint-planning

Example 2: Pasted Transcript

User: "Here's the transcript from today's call:

       [00:00] John: Welcome everyone...
       [05:23] Client: The export feature isn't working...
       [12:45] Client: Can we add a dark mode?
       ..."

Agent:
1. Parse transcript directly
2. Identify speakers (Client vs Team)
3. Extract action items with timestamps
4. Prioritize based on client emphasis
5. Generate task files

Example 3: Fathom Recording

User: "Check my Fathom for the call with BuildCo from yesterday"

Agent:
1. FATHOM_LIST_MEETINGS (filter last 2 days)
2. Find "BuildCo" meeting
3. FATHOM_GET_RECORDING_SUMMARY β†’ Quick overview
4. FATHOM_GET_RECORDING_TRANSCRIPT β†’ Full details
5. Generate task files

Rube Connection Setup

First-Time Setup

# Connect Fireflies (one-time)
RUBE_MANAGE_CONNECTIONS toolkit="fireflies"
β†’ Opens OAuth flow β†’ Authorize β†’ Connected

# Connect Fathom (one-time)
RUBE_MANAGE_CONNECTIONS toolkit="fathom"
β†’ Opens OAuth flow β†’ Authorize β†’ Connected

Check Connection Status

# Via RUBE_SEARCH_TOOLS response
toolkit_connection_statuses shows:
- fireflies: ACTIVE or needs connection
- fathom: ACTIVE or needs connection
- firecrawl: ACTIVE (should already be connected)

Advanced: Meeting Patterns

Client Communication Patterns

STRONG SIGNAL (likely task):
- "We need..."
- "Can you..."
- "Please add..."
- "This is breaking..."
- "Users are complaining..."

MEDIUM SIGNAL (potential task):
- "It would be nice..."
- "What if..."
- "Have you thought about..."

WEAK SIGNAL (note for context):
- "I was wondering..."
- "Someday we might..."
- "Just thinking out loud..."

Speaker Identification

CLIENT INDICATORS:
- Questions about features
- Reports of issues
- Requests for changes
- Business context

TEAM INDICATORS:
- Technical explanations
- Timeline discussions
- Clarifying questions
- Commitment statements

File Outputs

File Purpose Location
MEETING_NOTES.md Full meeting summary docs/meetings/
SPRINT_TASKS.md Formatted for sprint planning docs/sprints/
Screenshots Visual references docs/meeting-screenshots/

Post-Processing

After generating tasks:

1. Review SPRINT_TASKS.md
2. Adjust priorities if needed
3. Run /sprint-planning to organize batches
4. Use /orchestrator for parallel execution

Tips

For Better Extraction

  • Ask clarifying questions if transcript is ambiguous
  • Flag items that need follow-up before implementation
  • Cross-reference with existing backlog to avoid duplicates
  • Note client's emotional emphasis (frustration = higher priority)

For Visual Context

  • Request screen share timestamps when possible
  • Ask client to circle/highlight problem areas
  • Save reference screenshots to project docs

For Follow-Up

  • Create a FOLLOW_UP.md for items needing clarification
  • Schedule follow-up call if major ambiguity
  • Document assumptions made for each task

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.