Morning Brief — Prompt Template

Module 6, Lesson 6.2 · register entry 1 · daily cadence · concept shape + recipe delivery paths

What this is. The prompt block for the first scheduled task in your register: a one-page morning brief that you read, every day, on your own machine, before you do anything else.

How to use. Copy the block into your Cowork-tab scheduled task (primary path) or, if you took the Optional Advanced path, into your Claude Code CLI prompt file. Fill the bracketed <...> fields from your own setup. The honesty rails are pre-written — do not remove them on your first run. After three days of running, answer the retrospective at the end of this sheet and paste it into the register’s Notes field.

Audience = only you.

This brief lands on your machine, in your folder, for you to read. No other recipient. No “just in case I want to forward it.”

Prompt — copy this block

You are producing my morning brief for <CANONICAL_TIMEZONE, e.g., America/New_York>. Today’s date, computed in that time zone, is the idempotency key. OUTPUT CONTRACT Produce a single Markdown file with exactly five sections, in this order: 1. Header line — run timestamp (ISO-8601 with offset), task name “Morning brief”, run ID, today’s date, and the idempotency key as the artifact filename stem (brief-YYYY-MM-DD). 2. Three things that want my attention today — a numbered list, at most three items, exactly one sentence per item: what it is, why it matters today, what action it wants from me. If fewer than three items warrant the list, produce one or two — never fill space. 3. Inbox summary — categorized counts and one-line subjects for messages in the label <AGENT_ACCESS_LABEL> received since 18:00 yesterday. Categories: needs-reply, FYI, newsletter, waiting-on-me. Maximum 10 subjects per category. 4. Calendar preview — today and tomorrow, from <AGENT_ACCESS_CALENDAR> plus read-only conflict-check against <PRIMARY_CALENDAR>. One line per event. Flag any back-to-back items under 15 minutes apart. Flag any conflict between calendars. 5. Health footer — explicit list of what this brief could NOT do: attachments not read, scopes denied, sensitivity keywords that caused a thread to be skipped, API errors encountered. An empty footer is suspicious; if nothing was limited, say so explicitly (“no limits encountered, all scopes returned, all threads read”). SCOPE - Read <AGENT_ACCESS_LABEL> for messages with internal date since 18:00 yesterday in <CANONICAL_TIMEZONE>. - Read <AGENT_ACCESS_CALENDAR> for events today and tomorrow. - Read <PRIMARY_CALENDAR> read-only for conflict-checking only; do not summarize its contents. - Do not open, read, or reason about any thread whose subject or body contains any of the keywords in <SENSITIVITY_LIST>; record each such skip in the Health footer by keyword category (not by subject line). VOICE Direct. Not cheerful. Do not greet me. Do not sign off. No emojis. Sentences not exceeding 25 words each. HONESTY RAILS - Never invent an item for section 2 to fill space. If fewer than three items warrant the top-three list, produce one or two, not three. - Never attribute a quote, commitment, or claim to a sender unless the exact phrase appears in the message you read. - If a scope returns an error or is unavailable, produce the brief anyway with the sections you could produce, and record the missing scope in section 5. - If no new messages arrived since yesterday’s cutoff, produce the brief anyway with a zero-count section 3. - If the previous day’s run appears to have missed (no artifact for yesterday’s date), note that in section 5 but do not try to produce a back-fill brief for yesterday. DELIVERY Write the file to <ARTIFACT_PATH>, overwriting any existing file with the same name (idempotent; one date, one artifact). LOG After writing the artifact, append one line to <LOG_PATH> in the form: <ISO-8601 timestamp>, morning-brief, <status: success | error>, <artifact path>, $<cost>, <one-sentence message>

Fill-in checklist

Three-day retrospective prompt

After running the brief three days in a row, answer these five questions in the register’s Notes field. Be specific; vague answers mean you did not read the briefs carefully enough to be sure.

  1. Did section 2 name the right three things on each of the three days? If not, which day went wrong and what was missed?
  2. Did the inbox summary match how you’d have categorized the messages if you’d scanned the label yourself?
  3. Did the calendar preview miss any conflicts you know about? (It will, for calendars outside its scope — name them.)
  4. Did section 5 report at least one real limit each day? Or is it going “no limits” — and if so, which limit should the prompt make visible?
  5. Did anything in any of the three briefs cause you to take a specific action you would not otherwise have taken? Name the action.

Closeout

Three consecutive daily briefs have landed at the expected artifact path, each named brief-YYYY-MM-DD.md.
Three log lines exist in log.txt, one per run, each with status success and a cost figure.
At least one day’s section 5 reports a real limit (a scope denied, a sensitivity skip, an attachment not read).
The retrospective is written into the register’s Notes field with specifics, not generalities.
Register entry 1 is fully populated with every column — purpose, schedule, scope, idempotency key, ceilings, retirement trigger, next-review date within 90 days.

Run three days. Read three days. Then decide if the brief earns its place or needs a prompt change.