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
<CANONICAL_TIMEZONE> — the time zone the idempotency key is computed in. Your home zone, not the machine’s current zone.
<AGENT_ACCESS_LABEL> — the Gmail label (or Outlook folder) you set up in Lesson 5.1.
<AGENT_ACCESS_CALENDAR> — the dedicated calendar you set up in Lesson 5.1.
<PRIMARY_CALENDAR> — your real calendar, read-only for conflict-checking.
<SENSITIVITY_LIST> — comma-separated keyword categories the agent must not open (example: medical, financial, legal, personal-family). You do not list specific subjects; you list categories. The agent errs on the side of skipping.
<ARTIFACT_PATH> — for example ~/ai-architect-academy/automation/briefs/brief-YYYY-MM-DD.md. The YYYY-MM-DD part is resolved by the Cowork tab on the primary path (or by the wrapper script on the Optional Advanced path).
<LOG_PATH> — for example ~/ai-architect-academy/automation/briefs/log.txt.
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.
Did section 2 name the right three things on each of the three days? If not, which day went wrong and what was missed?
Did the inbox summary match how you’d have categorized the messages if you’d scanned the label yourself?
Did the calendar preview miss any conflicts you know about? (It will, for calendars outside its scope — name them.)
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?
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.