From fathom-pack
Builds Fathom meeting analytics pipelines: exports transcripts/summaries, extracts action items, analyzes patterns, syncs to CRM/task tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fathom-pack:fathom-core-workflow-aThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build automated meeting analytics: extract action items, sync to project management tools, analyze meeting patterns, and create follow-up workflows.
Build automated meeting analytics: extract action items, sync to project management tools, analyze meeting patterns, and create follow-up workflows.
from fathom_client import FathomClient
from datetime import datetime, timedelta
client = FathomClient()
# Get all meetings from last 7 days
week_ago = (datetime.utcnow() - timedelta(days=7)).isoformat() + "Z"
meetings = client.list_meetings(
limit=50,
created_after=week_ago,
include_summary="true",
)
for meeting in meetings:
print(f"Meeting: {meeting['title']}")
print(f" Date: {meeting['created_at']}")
print(f" Summary: {meeting.get('summary', 'N/A')[:100]}...")
for item in meeting.get("action_items", []):
print(f" Action: {item['text']} -> {item.get('assignee', 'unassigned')}")
print()
def extract_action_items(meetings: list[dict]) -> list[dict]:
items = []
for meeting in meetings:
for action in meeting.get("action_items", []):
items.append({
"meeting_title": meeting["title"],
"meeting_date": meeting["created_at"],
"action_text": action["text"],
"assignee": action.get("assignee", "unassigned"),
"meeting_id": meeting["id"],
})
return items
# Sync to task tracker
def sync_to_linear(items: list[dict], api_key: str):
for item in items:
# Create Linear issue from action item
pass
def analyze_meeting_patterns(meetings: list[dict]) -> dict:
total = len(meetings)
total_duration = sum(m.get("duration_seconds", 0) for m in meetings)
total_actions = sum(len(m.get("action_items", [])) for m in meetings)
return {
"total_meetings": total,
"total_hours": round(total_duration / 3600, 1),
"avg_duration_min": round(total_duration / total / 60, 1) if total else 0,
"total_action_items": total_actions,
"avg_actions_per_meeting": round(total_actions / total, 1) if total else 0,
}
For CRM sync and webhook automation, see fathom-core-workflow-b.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin fathom-packProvides reusable Fathom REST API client patterns in Python and TypeScript for listing meetings, fetching transcripts, and summaries. Use for data pipelines or API wrappers.
Searches Fireflies.ai transcripts by keyword/date/participants, queries AskFred AI for meeting Q&A and threads, aggregates data for analytics reports.
Extracts key decisions, takeaways, action items with DRIs, and open questions from meeting transcripts, notes, or Slack threads. Handles single meetings or weekly batches.