Chase AdamsChase Adams
AboutContentPromptsPlayground
Prompts

Extract Meetings from Calendar Screenshots

Parse calendar screenshots, create meeting notes, auto-create People notes, with dataview rollups

Prompt Details

Created
Jan 5, 2025
Category
productivity
Purpose
meeting extraction
Sensitivity
safe
Tags+4
Use Cases+3
Required Tools
image_analysisfile_system_access
Share
Ask ChatGPT
Ask Claude

Similar Posts

How To Modify Approvals in Claude Code

How To Modify Approvals in Claude Code

in automation

Guide to configuring Claude Code's permission and approval system for commands

Purpose

Extract meetings from calendar screenshots and create meeting notes. Automatically creates People notes for attendees and links everything for dataview queries.

How to Use

This skill activates when given calendar screenshots. It parses meetings and creates the appropriate notes.

Instructions

When given calendar screenshots:

  1. Read each screenshot to extract meetings (ignore LUNCH, OOO blocks)

  2. For each meeting, create a meeting note at 300 Entities/Meetings/YYYYMMDD <Title>.md:

    • Filename format: YYYYMMDD <Title>.md
    • 1:1 meetings: YYYYMMDD <Person> 1-1.md (use other person's name, not Chase)
    • Aaron Dignan meetings: YYYYMMDD Aaron D Sync.md
    • Other Aaron meetings: Use last name or initial to distinguish (e.g., Aaron B Sync)
  3. Meeting note frontmatter:

    ---
    type: meeting
    startTime: YYYY-MM-DDTHH:MM:00
    endTime: YYYY-MM-DDTHH:MM:00
    attendees:
      - "[[Person Name]]"
    ---
    
    • startTime and endTime are datetime fields (ISO 8601 format)
    • Attendees must be wiki-links to People notes: "[[Full Name]]"
    • Omit attendees field for group meetings without clear attendees
  4. Meeting note body:

    # Notes
    
    # Action Items
    
  5. Create People notes for any attendees that don't exist:

    • Location: 300 Entities/People/<Full Name>.md
    • Use the standard person template with dataview queries
  6. Daily notes auto-rollup meetings via dataview query - no manual linking needed:

    TABLE WITHOUT ID
      dateformat(startTime, "HH:mm") + "-" + dateformat(endTime, "HH:mm") AS "Time",
      file.link AS "Meeting"
    FROM "300 Entities/Meetings"
    WHERE type = "meeting" AND date(dateformat(startTime, "yyyy-MM-dd")) = this.date
    SORT startTime ASC
    

People Note Template (Professional)

For work contacts, set relationship to include professional:

---
type: person
name: Full Name
relationship:
  - professional
events:
---
# About

# Action Items
\`\`\`dataview
TASK
WHERE !completed AND contains(outlinks, this.file.link)
\`\`\`

# Notes
\`\`\`dataview
LIST L.text
FROM "100 Periodics"
WHERE contains(file.outlinks, this.file.link)
FLATTEN file.lists AS L
WHERE contains(L.outlinks, this.file.link) AND !L.task
\`\`\`

# Feedback Log

# Praise Log

# Meetings
\`\`\`dataview
TABLE WITHOUT ID
  file.link AS "Meeting",
  dateformat(startTime, "HH:mm") + "-" + dateformat(endTime, "HH:mm") AS "Time",
  dateformat(startTime, "yyyy-MM-dd") AS "Date"
FROM "300 Entities/Meetings"
WHERE contains(attendees, this.file.link)
SORT startTime DESC
\`\`\`

Note: Only add the Meetings section for People with professional in their relationship.

Known People Aliases

  • Aaron D -> Aaron Dignan
  • Ty -> Tyler Halstead
  • Lizzie -> Lizzie Gooding

Daily Note Location

Daily notes are at: 100 Periodics/Daily/YYYY-MM-DD ddd.md

Ask me anything

Loading...

Hi! Ask me anything about Chase's work.

I can answer questions based on his blog posts and articles.

Experimental: This chat is a side project I work on in my free time. Responses may vary in quality and accuracy.

AboutAI Workflow SpecContentStacksNewsletterPromptsRSS