Your calendar is a constraint graph CORE
Most people treat a calendar as a list of meetings. For agentic work, a list isn’t enough. A calendar is a constraint graph: a set of blocked times, windows of availability, priorities that override each other, and soft constraints (you do not take meetings before 9 a.m., your family eats dinner at 6, you keep Thursday afternoons for deep work). The agent works with the calendar well only if you give it the graph, not just the list.
Three things follow from the graph view.
Availability is derived, not listed. An agent asked “when am I free Friday?” should not just read the Friday events. It should compare Friday events against your working hours, your recurring personal blocks (the ones tagged as “soft” in your calendar), and any constraints you named in the prompt (“I do not take meetings in the hour before a class”). Free time is the absence of conflicts you count as conflicts, not just the absence of events.
Scheduling is a negotiation with yourself first. Before the agent proposes times to another person, it should propose times to you. “You have three windows that look free Friday afternoon; which do you want me to offer?” That second you is the chance to catch the window that is technically free and actually terrible — the 4:30 slot right before you pick up a sibling, the Tuesday morning block that collides with an unlisted travel day. The agent cannot see what is not in the graph.
Calendar events have side effects in the thread. Accepting a calendar invite is not a private action. It signals commitment to the person who sent it. Declining is also communication. An agent that RSVPs on your behalf — even to a “reasonable-looking” invite — has sent a message to a human who will treat the RSVP as you. This is why calendar actions fall under drafts, not sends exactly the way email replies do.
The practical version of this: you tell the agent what your calendar looks like (constraints, working hours, soft blocks), the agent reads the events, and you confirm every change.
Drafts, not sends, for calendar CORE
The drafts-not-sends rule applied to calendar work has three specific shapes.
Proposed events land on the Agent Access calendar first. When the agent creates an event based on a conversation — “let’s meet Tuesday at 3” pulled out of an email thread, a dentist appointment from a confirmation — it lands on your Agent Access calendar as a tentative event. You review, you confirm, and then you move it to your real calendar (or mark it confirmed on the Agent Access calendar if you have configured that calendar to count). The agent does not place events on your real calendar directly.
Calendar invites to other people go to drafts. When the agent prepares an invite that would send to a third party (your teacher, a friend, a mentor), it drafts the invite and lets you be the one to click Send. This is the same pattern as email replies. The invite is a message. The message does not go out without a human hand on the button.
RSVPs are yours. The agent can read a calendar invite and recommend accept, decline, or propose-new-time. The agent can even draft the propose-new-time message. The agent does not click accept or decline on your behalf. This is the one students most often relax — “but it’s just an RSVP, it’s fine” — and it is the one with the most direct relational signal. A friend whose invite you ignored for three hours because you wanted the agent to “just accept it” is a friend who felt ignored. You keep the click.
A note on recurring events. If the agent proposes a series — weekly tutoring, a standing check-in with a parent — you review and confirm the first instance and the recurrence rule. The recurrence is a commitment too; do not let the agent extend a commitment on your behalf by scheduling thirteen weeks out without your review.
The meeting-prep brief: what a useful one contains CORE
You have an upcoming meeting. You have a short window to prepare. The agent is going to help you produce a meeting-prep brief — a two-page document that pulls the scattered context around the meeting into one place so you walk in ready.
A good brief has five sections.
1. Meeting context. One paragraph. Who, when, where, how long. What is on the agenda — or what the agent inferred the agenda is from the thread. Who called the meeting and what outcome they are likely looking for. If there is a stated agenda, quote it; if there is none, note the absence honestly.
2. Recent thread history. A short summary of the last three to seven messages in the thread that led to this meeting. Names and dates. The goal is not a transcript; it is “here is the state of the conversation that the meeting is the next move in.” If the thread lives in the agent-access label, the agent can read it directly; otherwise, you may need to paste the relevant thread into the prompt.
3. Open questions. The questions still unresolved going into the meeting — from the other side (“you asked whether I can submit Friday or Monday; I have not answered yet”) and from your side (“I still do not know if the extension applies to the rubric”). Three to six questions, ranked roughly by importance.
4. Documents and references. A list of the documents the meeting is likely to reference — linked or named. A feedback document your teacher sent. A rubric. A draft you shared. If the agent can link to them, it does; if it cannot, it names them clearly so you can find them yourself.
5. What you want to leave with. One sentence. “At the end of this meeting, I want to have agreed on a submission date and a definition of ‘complete.’” This is the sentence you write yourself. The agent can draft it — it will usually draft something plausible — but you overwrite it with what you actually want, because the agent is guessing and you are not.
Two things the brief is not. It is not a script of what to say — writing one of those usually leads to a stilted meeting and the student stops using the tool. It is not a transcript of the thread — that would be longer than the meeting itself. The brief is pruned context, not exhaustive context. If you find yourself skimming your own brief in the meeting because there is too much in it, next time ask for half the length.
The meeting-prep prompt pattern CORE
Like the triage and drafting prompts, the prep prompt has a stable pattern.
1. The meeting. “I have a meeting with my teacher on Friday at 3 p.m. about my late assignment.” Name it; the agent cannot know which of your meetings you are prepping for.
2. The source material. Point the agent at the material it is allowed to read. “Read the thread in my agent-access label titled ‘Late assignment extension.’ Also pull in the rubric document linked in the third message.” If the material is outside the access surface, you paste it in directly.
3. The brief shape. “Produce a meeting-prep brief in five sections: Meeting context, Recent thread history, Open questions, Documents and references, What I want to leave with — filled in for the first four, and leave the last one blank for me to fill in.”
4. The honesty rails. “Quote the stated agenda if there is one; if there is not, say so. Do not invent quotes from the teacher or myself. If a document is referenced in the thread but you cannot access it, list it under Documents and say you could not read it. Do not guess its contents.”
5. The constraint. “Read-only for email. Do not create calendar events, do not send messages, do not modify the thread’s read state.”
Same five-part shape as the triage prompt. The one difference: the brief’s fifth section (What I want to leave with) is the one you fill in after the agent produces the rest. You own the intention; the agent prepares the context.
A secondary prompt, worth using: after the agent produces the brief, ask it “what context did you omit that a careful reader would want?” and read the answer. The agent’s own sense of its gaps is sometimes useful, and it is a good prompt-discipline habit — asking the agent to critique its own output is a cheap check that costs nothing and catches occasional real omissions.
Calendar sweeps: the weekly rhythm CORE
Meeting prep is per-meeting. A calendar sweep is the weekly rhythm that keeps the whole system honest.
A calendar sweep is a read-only agent pass over the upcoming week. The agent reports:
- Conflicts or near-conflicts — overlapping events, back-to-back meetings with no buffer, travel times that do not fit in the gaps.
- Uncommitted items — tentative events on the Agent Access calendar that have been sitting there for more than a few days. Each needs a confirm or a decline.
- Open loops — threads in the agent-access label that reference meetings not yet on the calendar. “You agreed to call your grandmother this week; no event is on the calendar for it.”
- Stale commitments — recurring events that have not happened in weeks and probably should be cleaned up.
The sweep is short — a quick read of the agent’s report, plus whatever follow-through the report surfaces. It is the equivalent of the Sunday-night calendar review a careful person does by hand, but faster. The sweep produces no outbound actions. You decide, after reading, what to act on.
Run the sweep once before the end of this lesson, as part of your capstone Entry 3 setup. Make it a weekly rhythm going forward. A calendar without a weekly sweep drifts; the sweep is how you catch the drift early.
Building a meeting-prep brief in the Cowork tab RECIPE
| Tool | Claude desktop app — Cowork tab + Gmail MCP + Google Calendar MCP. Optional advanced: Claude Code CLI. |
| Last verified | 2026-04-17 |
| Next review | 2026-07-17 |
| Supported OSes | macOS, Windows |
| Dated walkthrough | /recipe-book/meeting-prep-brief-workflow.md |
- Confirm both MCPs are connected. Email MCP: read-only scope to the agent-access label. Calendar MCP: read access to your primary calendar for the date range of the meeting, plus write access only to the Agent Access calendar.
- Pick a real upcoming meeting you have this week or next. If you do not have one, either schedule one (a conversation with a parent counts) or borrow a meeting one of your parents has and prep it for them with their permission.
- Paste the five-part meeting-prep prompt from the section above into Cowork, customized for your meeting.
- Read the brief. Run the shorter audit: check the quoted thread lines against the actual thread; verify linked documents exist; confirm no content is invented.
- Fill in the fifth section — What I want to leave with — yourself. One sentence.
- Save the brief to your capstone as Entry 3 — meeting-prep brief. Include the prompt you used, the brief the agent produced, your fifth-section sentence, and a one-paragraph reflection on what the brief surfaced that you would have missed without it.
Safety norms
Drafts, not sends. The agent reads and drafts the brief. It does not send, invite, RSVP, or create events on your real calendar. The only write the agent is allowed is to Agent Access calendar for drafted events — and we are not using that capability in this prep step.
Least access for the task. Narrow email scope, narrow calendar scope. Re-verify that the calendar MCP does not have write access to your primary calendar. If it does, reduce now.
Drafting a calendar invite (drafts-to-Agent Access-calendar) RECIPE
| Tool | Claude desktop app — Cowork tab + Google Calendar MCP. Optional advanced: Claude Code CLI. |
| Last verified | 2026-04-17 |
| Next review | 2026-07-17 |
| Supported OSes | macOS, Windows |
| Dated walkthrough | /recipe-book/drafting-calendar-invites.md |
- From your drafted replies in Lesson 5.3 or from a thread in the agent-access label, identify a conversation that needs a scheduled meeting. A tutoring session with a mentor, a family call.
-
Ask the agent:
“Read the thread. Propose three times for a 30-minute meeting that fit both sides’ availability. Use my primary calendar for conflict-checking only. Draft the invite on the Agent Access calendar as a tentative event. Draft the email that would send the invite, but put it in my drafts folder — do not send.”
- Review the three proposed times against your own sense of what you want; this is the “negotiation with yourself first” step. Pick one or none.
- Review the drafted email invite with the five-check review from Lesson 5.3. Review the tentative event on the Agent Access calendar: title, duration, description, location or link.
- If you are sending: send the email yourself from Gmail, and after the recipient accepts, move the event from Agent Access to your primary calendar yourself (or confirm it in place, depending on how you have set your Agent Access calendar up). If you are not: delete the tentative event and reply by hand.
Safety norms
Drafts, not sends. The invite is a message. The RSVP reply (whether yours or the recipient’s) is a message. The agent handles the preparation; humans handle the send and the accept.
Weekly calendar sweep RECIPE
| Tool | Claude desktop app — Cowork tab + Gmail MCP + Google Calendar MCP. Optional advanced: Claude Code CLI. |
| Last verified | 2026-04-17 |
| Next review | 2026-07-17 |
| Supported OSes | macOS, Windows |
| Dated walkthrough | /recipe-book/weekly-calendar-sweep.md |
-
Once, at the end of this lesson — and once a week thereafter — run the sweep prompt:
“Read my calendar for the next seven days and my agent-access label. Produce a short report in four sections: Conflicts or near-conflicts, Uncommitted items on Agent Access calendar older than three days, Open loops (threads referencing meetings not on the calendar), Stale recurring events. No outbound actions. No edits. Read-only.”
- Read the report. Confirm any claims by opening the thread or the calendar.
- Do the follow-through yourself: confirm or decline tentative events, create events for open loops, clean up stale recurrences. The agent does not.
- Save this week’s sweep report in /capstone/inbox-and-calendar-log-v1-draft.md as a sub-section of Entry 3.
Try it — Prep one real meeting RECIPE
one-brief deliverable · open the printable brief template →
- Pick a real upcoming meeting. A teacher check-in, a mentor call, a conversation with a parent about the capstone itself is a valid choice. If none exists, schedule one (count a 20-minute video call with a family member).
- Produce the meeting-prep brief using the five-part prompt in the Cowork tab. (The Claude Code CLI is an Optional Advanced alternative for terminal-comfortable students; the Cowork tab is the primary path and is usually faster for a first brief.)
- Review and audit the brief against the actual thread. Fill in What I want to leave with yourself.
- Go into the meeting. Keep the brief open. After the meeting, take a moment to write a short follow-up note: did the brief help? What was in it that was useful? What was missing?
- If the brief suggested a calendar invite (for a follow-up meeting), run the calendar-invite recipe once.
- Run the weekly sweep once.
Deliverable. Entry 3 of the capstone log: the meeting-prep brief, your fifth-section sentence, a one-paragraph post-meeting note, and the sweep report for the upcoming week. The calendar invite (if any) appears as a sub-entry with the drafted-vs.-sent pair, same format as Lesson 5.3’s reply pairs.
Done with the hands-on?
When the recipe steps and any activity above are complete, mark this stage to unlock the assessment, reflection, and project checkpoint.
Quick check
Five questions. Tap a question to reveal the answer and the reasoning.
Show explanation
Answer: B. The constraint-graph framing is about the information the agent needs, not about visualization or storage. An agent that knows only “you have no event at 4:30 Friday” does not know the 4:30 is useless to you because you pick up a sibling then. You name the constraints in the prompt so the agent’s availability proposals match your real availability. A, C, and D miss the conceptual point.
Show explanation
Answer: B. Tentative events live on Agent Access first; you confirm and move them. A bypasses the review step — the agent is making a commitment on your primary calendar without a human click. C is the right pattern for outbound invites, but this is an incoming conversation that needs an event on your calendar, not an invite to the other party. D abandons the safety rail.
Show explanation
Answer: D. The agent can reasonably draft context, history, questions, and the references list because those are summaries of material the agent can read. What you want to leave with is your intention for the meeting — a one-sentence goal only you know. The agent can guess; you overwrite. This is exactly parallel to the research-agent lesson: scope is yours, context is the agent’s.
Show explanation
Answer: C. The module’s rule is uniform: outbound actions another human will read are not auto-sendable, regardless of how “routine” they look. An RSVP is a signal to the inviter. A is the exception the lesson warns against. B introduces a probation model that Module 5 does not use. D makes an exception by relationship type, which does not change the rule.
Show explanation
Answer: C. The sweep surfaces drift; you respond to it. Tentatives that sit uncommitted are a known pattern of silent failure — you meant to confirm, you forgot, and now the commitment’s state is ambiguous to both you and the person waiting for it. A lets drift accumulate. B bypasses review. D is drafts-not-sends inverted — the agent does not clean up what needs a human confirm.
Reflection prompt
What the brief surfaced — and the one calendar action you would be tempted to auto-send.
In 6–8 sentences: What did the meeting-prep brief surface that you would not have thought to prepare yourself? Was there anything in the brief that was wrong or misleading enough that you had to correct it before the meeting? Looking at the weekly sweep, what kind of drift showed up most on your calendar — conflicts, stale recurrences, uncommitted tentatives, or open loops? And: which of the three calendar action shapes (tentative-to-primary, draft-invite-to-send, RSVP) would you be most tempted to let the agent do automatically after this module, and what is the specific cost you would accept if the agent got it wrong once?
The last sentence is the practical one. A student who can say “I would let the agent RSVP yes to my tutoring sessions because the cost of a wrong yes there is only that I show up and reschedule” has built a real, nuanced posture. A student who says “I trust the agent everywhere” has not noticed the category-of-cost question yet.
Project checkpoint
Add Entry 3 — meeting-prep brief to inbox-and-calendar-log-v1-draft.md.
Entry 3 — Meeting-prep brief. Meeting date: [date]. Brief date: [today].
Prompt. [The full five-part meeting-prep prompt you used.]
Brief. [The brief the agent produced, including your fifth section.]
Audit notes. [Quotes verified? Documents verified? Invented content? What was missing?]
Post-meeting reflection. [3–4 sentences: did the brief help; what it caught; what was missing.]
Optional sub-entries. A calendar-invite pair (draft vs. sent). The week’s sweep report.
Safety norm line. Drafts, not sends. Least access for the task.
Do not proceed to Lesson 5.5 until Entry 3 is drafted. The capstone freeze work in 5.5 audits what you did across Entries 0, 1, 2, and 3, and formalizes the permission posture that has been implicit until now.
Next in Module 5
Lesson 5.5 — Safe patterns and the capstone freeze.
Cloud-vs.-local decision rule. Prompt injection, stated simply. The five-row permission-posture audit (What / Who / Why / When reviewed). The revocation ritual. Freeze your capstone from draft to v1 and walk out of the module with a system you trust.