"Normalize messy transcripts, detect meeting type, extract structured data, track commitments across weeks, and ship a weekly digest — one tool."
$ python main.py batch \ --dir ./transcripts/ --digest # Normalizing 3 transcripts (Zoom format)… # Processing: standup_mon.txt standup_wed.txt standup_fri.txt Batch complete: 3/3 succeeded Commitment check: [MISSED] Bob — Deploy runbook (due May 14, 1 meeting elapsed) Weekly Digest Meetings: 3 · Action items: 11 · Decisions: 6 Open items by owner: Alice (3), Bob (2), Charlie (2) Escalated risks: 2 (critical)
Messy transcript in. Structured accountability out — across every meeting this week.
Every feature targets the gap between a meeting happening and work actually getting done.
[00:02:14], Teams -->, Meet (00:02) timestamps. Normalises email addresses and ALL_CAPS speaker labels. Reports source format and speaker countpython main.py batch --dir ./transcripts/. Failures are isolated — one bad file never stops the restNOTION_API_KEY and NOTION_DATABASE_ID, then pass --push-notion to any extraction command[00:01:12] ALICE_CHEN_EXT: Morning. Redis still at 450ms — auth is blocked. [00:01:45] BOB_PATEL: I'll own the fix by Wednesday. [00:02:10] ALICE_CHEN_EXT: Deploy needs Priya's sign-off. Flag it. [00:02:30] BOB_PATEL: Should we pull in the infra team? [00:02:44] ALICE_CHEN_EXT: Not yet, let's see how Bob's fix lands first.
{ "meeting_type": "standup", "meeting_type_confidence": 0.94, "action_items": [{ "task": "Fix Redis latency", "owner": "Bob Patel", "deadline": "Wednesday EOD", "priority": "high" }], "risk_flags": [{ "description": "Deploy blocked on Priya's approval", "severity": "critical" }], "formatted_follow_up": "🔴 Blockers\n - Deploy pending Priya sign-off\n 🔄 In Progress\n- Redis fix (Bob)\n ✅ Done\n- Sprint kickoff" }
Each tool is a standalone CLI + REST API. Each one solves a real problem with Claude.