技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
fathom-core-workflow-a【数据与研究】Build a meeting analytics pipeline with Fathom transcripts and summaries. Use when extracting insights from meetings, building CRM sync, or creating automated meeting follow-up workflows. Trigger with phrases like "fathom analytics", "fathom meeting pipeline", "fathom transcript analysis", "fathom action items sync".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: fathom-core-workflow-a description: 'Build a meeting analytics pipeline with Fathom transcripts and summaries.
Use when extracting insights from meetings, building CRM sync,
or creating automated meeting follow-up workflows.
Trigger with phrases like "fathom analytics", "fathom meeting pipeline",
"fathom transcript analysis", "fathom action items sync".
' allowed-tools: Read, Write, Edit, Bash(python3:), Bash(curl:), Grep version: 1.6.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
| Condition | Safe response |
|---|---|
| Meeting access or consent is uncertain | Stop processing/sharing and verify with the designated owner. |
| Summary/action item is wrong | Mark it for human review; do not auto-send it as a source of record. |
| Content is exposed incorrectly | Restrict access and follow the incident/data procedure. |
Use a synthetic meeting record to validate analytics fields, summary workflow, access restriction, and retention outcome. Record only opaque IDs and aggregate status; do not use participant recordings, transcripts, or personal data for testing.
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.