# quill-export > Extract meeting recordings and transcripts from the Quill macOS app database. Outputs formatted markdown with speaker identification, transcripts, and metadata. Use when working with Quill meeting data. - Author: Em - Repository: emdashcodes/claude-code-plugins - Version: 20260108142429 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/emdashcodes/claude-code-plugins - Web: https://mule.run/skillshub/@@emdashcodes/claude-code-plugins~quill-export:20260108142429 --- --- name: quill-export description: Extract meeting recordings and transcripts from the Quill macOS app database. Outputs formatted markdown with speaker identification, transcripts, and metadata. Use when working with Quill meeting data. --- # Quill Meeting Export ## Overview Extract meeting data from Quill (macOS meeting recording app) and generate formatted markdown output with speaker-identified transcripts, meeting metadata, and Quill's AI-generated notes. This skill provides: 1. Database extraction from Quill's SQLite database 2. Speaker name mapping from contact records 3. Transcript formatting with speaker identification 4. Markdown generation with YAML frontmatter 5. Meeting search by ID or fuzzy name matching ## When to Use This Skill Activate when working with Quill meeting data: - Extracting meeting transcripts - Converting Quill recordings to markdown - Searching for meetings by name - Getting meeting metadata and participants ## Workflow ### Step 1: List Available Meetings Show recent meetings from Quill: ```bash python3 ~/.claude/skills/quill-export/scripts/export_meeting.py list [limit] ``` **Output** (to stderr): - Meeting ID (UUID) - Title - Date and time - Duration - Meeting type ### Step 2: Export Meeting Export meeting by ID or search term: ```bash # By exact ID python3 ~/.claude/skills/quill-export/scripts/export_meeting.py export 76490ffc-d751-4a2a-9ef5-df4d3ddce442 # By fuzzy search term python3 ~/.claude/skills/quill-export/scripts/export_meeting.py export "orchestrator" ``` **Output** (to stdout): - Complete markdown document - YAML frontmatter with metadata - Transcript with real speaker names (if tagged in Quill) - Original Quill-generated notes - Audio file links **Fuzzy Search Behavior:** - Case-insensitive partial matching - If single match: Exports automatically - If multiple matches: Lists options (stderr) and exits - If no matches: Error message and exit ### Step 3: Use the Markdown Output The markdown is printed to stdout, allowing flexible usage: ```bash # Save to file python3 export_meeting.py export "meeting name" > output.md # Pipe to other tools python3 export_meeting.py export | pbcopy # Capture in a variable (from another script/tool) markdown=$(python3 export_meeting.py export ) ``` ## Database Schema The script queries Quill's SQLite database at `~/Library/Application Support/Quill/quill.db`. See `references/quill-schema.md` for complete schema documentation including: - Meeting table structure - Transcript JSON format - ContactMeeting speaker mapping - Meeting type classifications ## Speaker Name Mapping The script automatically maps anonymous speaker IDs to real names: **How it works:** 1. Queries `ContactMeeting` table for speaker IDs 2. Looks up contact names in `Contact` table 3. Replaces speaker IDs (e.g., `SPK-abc123`) with real names in transcript **When names are available:** ```markdown **James LePage:** Hello, how are you? **Ember:** I'm doing well, thanks! ``` **When names are not available:** ```markdown **SPK-mvjxhzyf43:** Hello, how are you? **SPK-h6xiau6chjv:** I'm doing well, thanks! ``` ## Meeting Type Classification Meetings are categorized as `work` or `personal` based on type: **Work types:** - `1on1`, `internal_product`, `internal_sync`, `internal_standup` - `existing_vendor:customer`, `other` **Personal types:** - `personal`, `self_note`, `medical:patient` Category appears in YAML frontmatter `type` field. ## Markdown Output Format ```markdown --- meeting_id: {UUID} type: work|personal date: YYYY-MM-DD start_time: HH:MM duration: X minutes participants: ["Name 1", "Name 2"] tags: ["meeting", "type", ...] --- # {Meeting Title} ## Summary _AI summary will be generated here_ ## Key Discussion Points _Key points will be extracted here_ ## Action Items _Action items will be extracted here_ ## Related _Links to related tasks and projects_ ## Original Quill Notes {Quill's AI-generated meeting notes} ## Transcript **Speaker:** Transcript text... ## Audio [Recording](file:///path/to/audio.m4a) ``` ## Audio File Handling Audio files remain in Quill's directory: - Location: `~/Library/Application Support/Quill/meetings/` - Linked using `file://` absolute URLs - Only the combined audio file is linked (`*-combined.m4a`) ## Error Handling **Meeting not found:** - Prints error to stderr - Exit code 1 **Multiple search matches:** - Lists all matching meetings to stderr - Prompts user to be more specific - Exit code 1 **Database errors:** - Connection failures reported to stderr - Exit code 1 ## Usage Examples **List recent meetings:** ```bash python3 export_meeting.py list 10 ``` **Export by ID:** ```bash python3 export_meeting.py export 76490ffc-d751-4a2a-9ef5-df4d3ddce442 > meeting.md ``` **Export by name search:** ```bash python3 export_meeting.py export "AI Discussion" > meeting.md ``` **Integration with other tools:** ```bash # Copy to clipboard python3 export_meeting.py export "sync meeting" | pbcopy # Save with custom filename python3 export_meeting.py export > ~/Notes/$(date +%Y-%m-%d)-meeting.md ``` ## Resources ### scripts/export_meeting.py Python script for extracting meeting data and generating markdown. **Functions:** - `connect_db()` - Connect to Quill database - `get_speaker_names(conn, meeting_id)` - Map speaker IDs to names - `list_recent_meetings(conn, limit)` - List meetings - `search_meetings(conn, search_term)` - Fuzzy search by title - `get_meeting(conn, meeting_id)` - Fetch meeting data - `format_transcript(transcript, speaker_names)` - Format with names - `format_meeting_markdown(meeting)` - Generate markdown output ### references/quill-schema.md Complete Quill database schema documentation. ### assets/meeting-template.md Template showing markdown structure and formatting.