Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

morning-briefing

verified

Generate comprehensive morning briefing with calendar, tasks, tickets, news, and weather. Saves to Obsidian, sends email with audio podcast attached.

View on GitHub

Marketplace

geoffrey

krishagel/geoffrey

Plugin

geoffrey

productivity

Repository

krishagel/geoffrey
3stars

skills/morning-briefing/SKILL.md

Last Verified

February 3, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/krishagel/geoffrey/blob/main/skills/morning-briefing/SKILL.md -a claude-code --skill morning-briefing

Installation paths:

Claude
.claude/skills/morning-briefing/
Powered by add-skill CLI

Instructions

# Morning Briefing Workflow

## Overview

Generates a daily morning briefing and delivers it three ways:
1. **Terminal**: Summary displayed immediately
2. **Obsidian**: Full briefing saved to daily note
3. **Email**: Briefing text + audio podcast attachment

## Location

- **Gig Harbor, WA** - Use for weather queries

## Phase 1: Gather Data

Execute these data gathering steps:

### 1.1 Calendar (Today's Events)

```bash
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun calendar/list_events.js psd --today
```

Returns JSON with today's events including:
- Event summary, location, start/end times
- Attendees and response status
- Hangout/meet links

**Account**: Use `psd` for work calendar

### 1.2 OmniFocus Tasks (Due & Flagged)

```bash
osascript -l JavaScript /Users/hagelk/non-ic-code/geoffrey/skills/morning-briefing/scripts/get_due_flagged.js
```

Returns tasks that are:
- Due today or overdue
- Flagged
- Available (not blocked, not deferred to future)

### 1.3 Recent Emails (Last 24 Hours)

```bash
# Get yesterday's date in Gmail query format
YESTERDAY=$(date -v-1d +%Y/%m/%d)
cd /Users/hagelk/non-ic-code/geoffrey/skills/google-workspace && bun gmail/list_messages.js psd --query "in:inbox after:$YESTERDAY" --max 15
```

Returns recent inbox messages with:
- From, subject, date, snippet
- Whether read or unread
- Thread ID for context
- Labels array

**Filtering**: Only show emails still in inbox (not already labeled/processed).
- Emails with custom labels (Label_XXXXX) have been sorted and should be excluded
- Exception: Include emails with SaneCC or SaneLater labels (worth knowing about)
- System labels (UNREAD, INBOX, CATEGORY_*, IMPORTANT) don't count as "processed"

**Philosophy**: Any email still in inbox from last 24 hours needs attention, read or not.

**Account**: Use `psd` for work email

### 1.4 Open Freshservice Tickets

```bash
bun /Users/hagelk/non-ic-code/geoffrey/skills/freshservice-manager/scripts/list_tickets.js '{"workspace_id

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
25912 chars