← All runbooks
gooseworks-ai / composites-meeting-brief

Meeting Brief

Prepare daily meeting briefs by checking the operator's calendar, filtering out internal attendees, researching each external participant, and generating concise context for upcoming conversations. This runbook converts the original Meeting Brief skill into a…

agent codexmodel gpt-5.5snapshot python312-uveval programmatic8 stepsv1.0.0

Deploy Meeting Brief to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

8 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    1. Create /app/results and ensure it is writable.
    2. Confirm config.json exists in the skill directory; if it does not, copy config.json.example and fill in team filters, timezone, destination email, and delivery preferences.
    3. Verify calendar access with gcalcli agenda today tomorrow.
    4. Verify optional integrations only when enabled: gh auth status for GitHub lookup, Gmail sender credentials for email, and slack_webhook for Slack.
    5. Write a setup stage to /app/results/validation_report.json.
  2. 2
    Step 2

    Load Configuration

    Read config.json and validate team_members, team_domains, schedule, timezone, your_email, send_email, send_slack, include_calendar_details, and research_depth. Fail fast if both send_email and…

  3. 3
    Step 3

    Fetch Today's Meetings

    Run scripts/check_calendar.sh or the equivalent gcalcli command for today's agenda in the configured timezone. Parse meeting title, time, location, description, and attendees into JSON. Store the…

  4. 4
    Step 4

    Filter External Attendees

    For each attendee, skip exact matches from team_members and any email ending in a configured team_domains entry. De-duplicate attendees across meetings and check data/sent/YYYY-MM-DD.json so the run…

  5. 5
    Step 5

    Research Each Person

    For every remaining external attendee, run node scripts/research_person.js "<name>" "<email>" "<company>". Use web search for LinkedIn, company information, recent news, and professional background…

  6. 6
    Step 6

    Generate and Deliver Briefs

    Run node scripts/generate_brief.js research_output.json meeting_context.json for each researched attendee. Produce email-style concise bullets and Slack-style narrative context. When enabled, send…

  7. 7
    Step 7

    Iterate on Errors (max 3 rounds)

    If calendar fetch, research, generation, or delivery fails, retry the failing stage with a targeted fix for max 3 rounds. Common fixes include refreshing gcalcli authentication, lowering…

  8. 8
    Step 8

    Persist Logs and Personal CRM Entries

    Save each researched person to supernotes/people/ with research data, meeting context, and run date. Update data/sent/YYYY-MM-DD.json only after a brief is generated and the selected delivery path…