Morning brief skill

The morning brief skill lays out your day before it starts. It reads your calendar, the mail that needs you and your open work, then writes 1 page you can read in 60 seconds.

Navid Moazzezby Navid MoazzezUpdated Sept. 10, 2026Beginner, 5 min

Install

$ npx degit thenavidm/ai-os my-ai-os

Run it

$ /morning-brief

What it does

It replaces 30 minutes of opening apps with 1 page. It gathers today's calendar, the mail that needs a reply, your open work and 3 to 5 news items about your field, then names the 3 things that matter today, ranked, with a line of why for each.

It writes the brief twice: a self-contained HTML page that opens in your browser, and a markdown copy for the terminal and your phone. For the urgent emails it drafts the reply in your voice, ready for you to send.

How to use it

Type /morning-brief, or just ask. It also runs when you say "morning brief", "brief me", "what does today look like" or "what is on today". If your AGENTS.md says you want a brief every day, it runs on the first message of the day.

When a source is not connected, the brief says so in 1 line at the top and carries on with what it can reach. It never asks you to paste your calendar.

The SKILL.md file

This is the complete file. Everything the skill does is in it.

---
name: morning-brief
description: When the user wants the day laid out before it starts: "morning brief", "what does today look like", "brief me", "what is on today", or the first message of the day when AGENTS.md says a brief is wanted. Reads the calendar, the mail that needs a reply, open work and the news that matters, and writes 1 page the user can read in 60 seconds.
user-invocable: true
---

# Morning brief

You replace 30 minutes of opening apps with 1 page. Calendar, the mail that needs the user, what is open, the 3 things that matter today, and the news that touches their business. Read in 60 seconds, then the day starts.

## Step 1: gather

- Calendar: today's events in order, attendees when known, back-to-back runs, the free blocks.
- Mail: what needs a reply today, grouped as urgent, needs a reply, for information. Skip newsletters, receipts and notifications. For the urgent ones, draft the reply in the user's voice, ready for them to send.
- Open work: `inbox/open-work.md`, and the Next section of yesterday's daily note.
- News: 3 to 5 items about the user's field, from what `context/my-company.md` says the business is. 1 sentence each with a link. Skip anything that does not touch their work.

When a source is not reachable, say so in 1 line at the top of the brief and go on with what is. Never ask the user to paste their calendar. The brief is worth less than the interruption.

## Step 2: the 3 things

From everything gathered, name the 3 things that matter today, ranked. Deadlines first, then the open item that has waited longest, then what the calendar makes possible. Each gets 1 line of why.

## Step 3: write it

1 self-contained HTML file at `outputs/morning-brief/<date>.html`, all CSS inline, no external files, opened in the browser. And a markdown version at `outputs/morning-brief/<date>.md` for the terminal and the phone.

Layout, top to bottom: the greeting and the date, the 3 things, the schedule as a timeline with free blocks marked, the mail grouped with the drafted replies folded under "show reply", open work, news.

Design: read `context/design.md` first and use its colors, fonts and radius. When it is empty: a warm off-white ground, near-black text, 1 accent for the urgent marker, system fonts, cards with a soft shadow and a 16-pixel radius, 720 pixels wide, no borders.

Rules for the page: no paragraph longer than 2 lines, every time and every name exact, the greeting from the clock (before 12 "Good morning", before 5 "Good afternoon", after that "Good evening"), links open in a new tab.

## Before returning

- Every event and every email in the brief exists in the source. Nothing invented to fill a section.
- The 3 things point at real items, each with a reason.
- The drafted replies went past `brand-guardian`.
- The page opened.
- Say in 2 lines what is in it and what was unreachable. Then stop.

Download SKILL.md

Morning brief skill FAQs

Have questions about the morning brief skill? Find answers to the most common ones below.

The morning brief skill lays out your day on 1 page before it starts, so you do not spend 30 minutes opening apps.

It reads today's calendar, the mail that needs a reply, your open work and a few news items about your field. The 3 things that matter today sit at the top, ranked, and the whole page reads in about 60 seconds.

You run the morning brief skill by typing /morning-brief, or by asking for it in plain words such as "brief me" or "what does today look like".

If your AGENTS.md says you want a brief every day, it also runs on the first message of the day, so opening your agent in the morning is enough.

The morning brief needs your calendar and your mail, plus a few files in your AI OS.

It reads your open-work file and yesterday's daily note for what is still open, and your company context file to decide which news matters to you. The more of these it can reach, the more complete the page is.

The brief still gets written. It says in 1 line at the top which source it could not reach, then builds the page from everything else.

It never stops to ask you to paste your calendar or your inbox, because a brief that interrupts you is worth less than one that arrives slightly incomplete.

The morning brief ranks deadlines first, then the open item that has waited longest, then what the calendar makes possible today.

Each of the 3 things comes with 1 line explaining why it made the list, and each one points at a real item from your calendar, your mail or your open work.

The news comes from what your company context file says your business is. The brief picks 3 to 5 items about your field.

Each item is 1 sentence with a link to the source. Anything that does not touch your work is left out, so it reads like a briefing rather than a news feed.

No. The morning brief never sends anything. It groups your mail into urgent, needs a reply, and for information.

For the urgent ones it drafts a reply in your voice and folds it under that email in the brief. You read the draft, change what you want, and send it yourself.

The morning brief is told not to, and it checks before it finishes.

Every event and every email in the brief has to exist in the source it came from, and nothing is added just to fill a section. If your day is quiet, the brief is short.

The morning brief is saved twice, both named after the date, in the outputs/morning-brief folder of your AI OS.

The HTML page opens in your browser and shows your schedule as a timeline with the free blocks marked. The markdown copy is for reading in the terminal or on your phone.

Yes. The morning brief reads your design file, context/design.md, and uses its colors, fonts and corner radius.

When that file is empty it falls back to a plain default: a warm off-white page, near-black text, 1 accent color for anything urgent, and soft cards 720 pixels wide.