Module 5 · Lesson 5.2

Inbox triage: reading before writing.

Your first real agentic work on an inbox is not a reply. It is read-only triage — reducing a label full of messages to a short, honest digest you can act on in two minutes. Write the five-part prompt, run it in the Cowork tab, and audit the digest with four checks. The drafting work in 5.3 sits on top of a categorization you trust.

Stage 1 of 3

Read & Understand

5 concept blocks

Why triage comes first, and why read-only CORE

You are about to do your first real agentic work on your inbox. The job is not to reply. It is to read — to reduce a label full of messages to a short, honest digest you can act on quickly. That is called triage, and doing it well is the highest-leverage thing an email agent does in a student’s life.

Triage comes first for two reasons that matter equally.

The first is skill. If you cannot direct an agent to categorize a day’s mail honestly — if you cannot write a prompt that produces “three messages that need a reply today, four FYIs, six newsletters, two I think are fine to archive” — you cannot direct it to draft replies honestly either. Categorize is the second move in the four-move flow. Every draft you write downstream sits on top of a categorization. A weak triage produces confident drafts on the wrong threads.

The second is safety. Triage is the one email-agent job that does not produce any outbound action. The agent reads; the agent summarizes; no message leaves your account. If you are going to misunderstand the agent’s judgment — and on the first day, you will — misunderstanding it in a read-only task is free. Misunderstanding it in a draft-and-send task costs you a message to a real person. You install the habit where the stakes are smallest, then carry it forward.

The rule for this lesson is simple and uniform: the agent has read-only access to the agent-access label. It writes nothing. It sends nothing. It does not create drafts, does not archive, does not mark as read, does not label. You are going to check this three times in the setup — when you configure the permissions, when you write the prompt, and when you read the digest. The first day with a new agent is the day to overdo this.

What a good digest looks like CORE

A good triage digest is a small number of clean categories, each with a few short lines, each line identifying a specific thread well enough that you can find it in under ten seconds.

Here is the shape of a triage digest that works. The categories and the order matter.

Reply needed today. One to five entries. For each: the sender’s relationship to you (not their name — the relationship, for your private notes), a one-sentence summary of the thread’s current state, and what a reply would roughly need to address. Example: “Thread with my teacher about the late assignment. She has asked whether I will submit Friday or Monday; reply needs one or the other.”

Reply needed this week, not today. One to five entries. Same shape. These are commitments you owe a response on, but the thread can wait a few days.

FYIs. Informational messages you should know about but do not need to reply to. One line each. Example: “Library hours shortened for the rest of April. No action needed.”

Archivable. Newsletters, confirmations, promotional emails that do not need to live in your triage workflow. The agent suggests archiving; you decide. Never: the agent archives for you.

Flagged as unclear. Anything the agent is not confident about. This category is required. If the agent has read ten messages and returns no flags, be suspicious — either the agent is pretending to certainty, or you have an unusually clean inbox. Ask it to name its two least-confident categorizations anyway.

Missed by the fence. If the agent notices a thread is referencing something it cannot see — a conversation that clearly started outside the agent-access label, a reply to an earlier message not in its scope — the agent names that missing context rather than inventing it. This is an honesty check.

What a bad triage digest looks like: a paragraph-long re-description of each email, written in a summarizing voice, with no categories. That is the agent being verbose instead of useful. Redirect it: “Give me five categories in the shape I just described, one line per entry, not paragraphs.” A good agent corrects fast.

The triage prompt pattern CORE

A triage prompt has five parts. Keep them in this order the first few times; once the pattern is internal, you can compress.

1. What you want done. Plain and specific. “Triage my agent-access label as it stands right now. Produce a daily digest.”

2. The categories you want. Name them. “Use these categories, in this order: Reply needed today, Reply needed this week, FYIs, Archivable, Flagged as unclear, Missed by the fence.” Do not assume the agent knows your categories. Every agent’s default categorizer is slightly different.

3. The shape of each entry. “For each entry, give me one line: sender relationship, one-sentence thread state, and for reply-needed entries, what the reply would address.” Shape matters. Without shape, the agent will give you paragraphs.

4. The honesty rails. “If you are not confident about a categorization, put the thread in Flagged as unclear and name your reason. If you see a thread that references material outside this label, list it under Missed by the fence. Do not invent subjects, senders, or thread content.”

5. The constraint. “Do not draft replies. Do not mark anything read. Do not archive. Read-only triage only.”

This is a lot of scaffolding for a short job. That is the point. The first day you run triage on your real mail, you want the agent to know exactly what you expect and exactly what it may not do. Over time, your prompt will shorten — most students end up with a two-sentence version saved as a snippet after a week. You do not start there. You start with scaffolding.

One thing not in the pattern: do not ask the agent to rank the replies-needed entries by “importance.” Importance is your call, not the agent’s; the categorization already tells you what needs your attention. Ranking is where the agent starts making judgment calls about your life and your relationships. You keep those.

Auditing the digest CORE

The digest arrives. Now audit it. The audit is the equivalent of the “review every diff” habit from Module 3, applied to a categorization.

Four audit checks, in order.

Count. Are there as many entries across all categories as there are messages in the label? Open the label, count. If the digest has fewer entries than there are messages, the agent dropped something. Ask it directly: “Are there any messages in the label you did not include in the digest? List them.” Good agents will admit to this. Tonight is one of the two or three times in the module where “ask the agent about its own completeness” is worth doing explicitly.

Placement. For each entry, ask: does the category match the message? Open the actual thread for two or three entries — especially the ones in Reply needed today — and confirm the agent’s one-line summary is what the thread actually says. Mis-placement is the most common triage error, and it is almost always in the direction of making the thread sound more urgent than it is.

Invention. Does any entry reference a sender, a subject, or a thread state that does not match reality? An agent with read access to real messages will hallucinate much less than one without — but it will still occasionally invent something plausible, especially when a real message is short or ambiguous. If you see an entry that rings wrong, open the thread.

Missing context. If the agent placed something under Missed by the fence, good — it is being honest. If the agent did not flag anything as missing context but you know from your own memory that one of the threads in the label references an earlier conversation not in scope, the agent missed the missingness. Add the item to your mental note.

After the audit, you will know two things. First, whether the digest is usable — whether you can act on it as-is or whether you need to re-prompt. Second, how reliable this agent’s triage is at this scope. The second answer is the one that matters long-term; it tells you whether to widen the access surface in the next module or keep it where it is.

Where to run triage: the Cowork tab is home base CORE

The Cowork tab in the Claude desktop app is the home base for Module 5 — and for triage specifically. It is the right shape for the work: a session you open, a conversation that runs the prompt, a digest you can read and follow up on (“okay, tell me more about the thread with my teacher”) before you move into drafting in 5.3. Chat-shaped. Document-oriented. The agent runs in a cloud VM and reaches your Gmail through the MCP connector you set up in Lesson 5.1. You spend most of your time looking at a conversation panel.

For students with terminal comfort, the Claude Code CLI is an Optional Advanced alternative — useful when you want triage to be scriptable and repeatable. A prompt you check into a small repo, re-run Monday through Friday, and maintain over time. The CLI path produces a digest file you can commit to git and re-run with one command tomorrow. It comes back into its own in Modules 6 and 8 where scheduled and orchestrated work runs from a folder. For this lesson, the Cowork tab is enough; the CLI is offered as a collapsed Optional Advanced sidebar in the recipe below if you want to try the scriptable path.

One honest note on picking a model: triage is a job where a smaller, cheaper model is often fine. You are asking for categorization, not creative writing. If you have a local-model option and the content in the label is sensitive — a parent’s small-business mail, for instance — this is a good lesson to try the local model and see whether it holds up. The capability weight for triage is smaller than for drafting.

Stage 2 of 3

Try & Build

2 recipes + activity

Running the triage in the Cowork tab RECIPE

Tool Claude desktop app — Cowork tab (primary) + Gmail MCP connector. Optional advanced: Claude Code CLI.
Last verified 2026-04-17
Next review 2026-07-17
Supported OSes macOS, Windows
Dated walkthrough /recipe-book/daily-inbox-triage-digest.md

In the Cowork tab (primary path):

  1. Open the Claude desktop app and switch to the Cowork tab. Open a new session. Confirm the Gmail connector is connected. If it is not, the search_mcp_registry tool will surface it; install and authenticate before continuing.
  2. When authenticating, confirm the OAuth scope is read-only and, if the prompt supports it, restricted to the agent-access label you created in Lesson 5.1. If the provider does not expose per-label scoping at the OAuth layer, that is fine — you will enforce the fence in the prompt itself, and you will verify in the audit step that the agent did not read outside the label.
  3. Paste the five-part triage prompt from the section above into Cowork, with your own agent-access label name and today’s date.
  4. Let it run. Read the digest. Do not act on it yet.
  5. Run the four-step audit against the actual label. If any of the four checks fails, re-prompt with a specific correction — for example: “I count twelve messages in the label and your digest has ten; list the two you did not include.”
  6. When the digest passes the audit, save it. Drop it into /capstone/inbox-and-calendar-log-v1-draft.md as Entry 1 — triage digest, with: the prompt you wrote, the digest the agent produced, your audit notes, the date, and a one-paragraph reflection.

Safety norms — verify before you close the session

Drafts, not sends. The agent does nothing outbound in this lesson. Triple-check: no drafts created, no threads archived, nothing marked read. If the agent did any of those, revoke access and re-scope before continuing.

Least access for the task. The Gmail connector’s OAuth token is scoped to the narrowest permission you can give it. Re-verify this in Lesson 5.5’s permission-posture audit.

Outlook equivalents

The Outlook connector authenticates slightly differently but accepts the same prompt. The agent-access folder replaces the label. Everything else in this recipe is unchanged.

Optional advanced — Running the triage in the Claude Code CLI

The Cowork tab is the home base for this lesson. The Claude Code CLI is offered here for terminal-comfortable students who want a scriptable, repeatable triage run — useful for the daily-habit shape and for the scheduled work in Modules 6 and 8. Skip this whole section if the Cowork tab is enough for you.

  1. Open a terminal and cd into a folder you are willing to keep around — a small repo called inbox-agent/ is a good pattern. Inside it, create triage-prompt.md containing the five-part prompt from the section above. $mkdir inbox-agent && cd inbox-agent $git init # create your triage prompt in triage-prompt.md $mkdir digests
  2. Launch the Claude Code CLI in that folder: $claude Run /status to confirm the Gmail MCP tool is live. If not, follow the Recipe Book entry to wire it up before continuing.
  3. Give the CLI the prompt:

    “Read triage-prompt.md and run it against the agent-access label. Write today’s digest to digests/<YYYY-MM-DD>.md. Read-only. No drafts, no sends, no archiving.”

  4. When the digest file appears, open it. Run the four-step audit against the actual label.
  5. Once the digest passes, commit the digest file. This is the scriptable version — tomorrow you can re-run the same command and get tomorrow’s digest in a new file. $git add digests/ $git commit -m "triage digest $(date +%Y-%m-%d)"
  6. Copy today’s digest into /capstone/inbox-and-calendar-log-v1-draft.md as a sub-entry of Entry 1. Note in the entry that this was the Optional Advanced CLI path so the capstone reflects what you actually ran.

Safety norms. Same two: drafts, not sends (re-verify: nothing outbound, nothing modified in Gmail; the only side effect should be the local digest file in your repo) and least access for the task (the MCP tool in the CLI runs against the same scoped token as the Cowork tab session — do not widen it for convenience).

Try it — Run triage, twice RECIPE

two-run deliverable · open the printable triage digest template →

  1. Run the triage once in the Cowork tab, following the recipe above. Audit the digest.
  2. Optional advanced. If you tried the Claude Code CLI sidebar in the recipe, run it there too and audit that digest. Compare the two side-by-side: did they produce the same categorization? If there are differences, which of the two was right — check against the actual label.
  3. Write a half-page reflection: did the digest catch what mattered? Which audit check was hardest to actually do? If you ran both paths, which would you reach for a second time?

Deliverable. One digest (Cowork tab) and the reflection, saved into your capstone draft as Entry 1. Screenshot it for the capstone. If you also ran the CLI sidebar, attach that digest as a sub-entry.

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.

Stage 3 of 3

Check & Reflect

key concepts, quiz, reflection, checkpoint, instructor note

Quick check

Five questions. Tap a question to reveal the answer and the reasoning.

Q1. Why is read-only triage the first email-agent job a student runs, rather than drafting a reply?
  • A It is faster.
  • B Triage produces no outbound action, so misunderstanding the agent’s judgment is free; and categorize is the step every later draft depends on.
  • C It is cheaper in API tokens.
  • D It requires no permission.
Show explanation

Answer: B. The reason is about safety and skill together — you install the habits on the read-only task where mistakes do not leak, and you validate the categorization step that all drafts downstream depend on. A and C are true but beside the point. D is false — triage requires read permission; the point is that read-only is the safest first scope.

Q2. You ask the agent to triage your label. It returns six beautifully formatted paragraphs, each summarizing one message. What is the correct next step?
  • A Use the summaries as-is; paragraphs are fine for a digest.
  • B Re-prompt: ask for categorized one-line entries in the six-category shape, not paragraphs.
  • C Ask the agent to rewrite each paragraph shorter.
  • D Accept the format and add categories manually yourself.
Show explanation

Answer: B. A digest is not a paragraph per message; it is a small number of categories, one line per entry. A accepts a format that is not a digest — you will re-read paragraphs forever. C makes the paragraphs shorter but does not fix the shape. D makes the agent less useful, not more; the whole point is for the agent to produce the usable shape, and the prompt pattern tells it to.

Q3. Your digest says: “Reply needed today: thread with your teacher about the late assignment.” You open the thread. The teacher has asked a different question — she is asking whether you received the feedback document she sent, not whether you will submit Friday or Monday. What went wrong, and what should you do?
  • A The agent is always right about thread state; trust the digest and reply as it suggested.
  • B The agent mis-summarized the thread’s current state — a placement-level triage error. Correct the digest entry, flag the category of error for next time, and reply based on what the thread actually says.
  • C The thread is unclear; drop it from the digest.
  • D This never happens with modern agents.
Show explanation

Answer: B. This is exactly the mis-summarization error the placement audit step exists to catch. The correction is to update the digest, reply to what the thread actually says, and keep an eye on this pattern next time — the agent over-summarized current state toward a plausible-sounding but incorrect reading. A is the reason the audit step is mandatory. C hides the error instead of learning from it. D is false; it happens often enough to be a named category of triage error.

Q4. “Least access for the task” applied to a triage session says the agent’s permissions should be:
  • A Read-only access to your whole Gmail account, so it can see context from outside the label.
  • B Read-only access to the agent-access label only, with no write, archive, or modify permissions.
  • C Full read-write access to the label.
  • D No access — triage in Cowork means pasting messages manually.
Show explanation

Answer: B. Least access is the narrowest scope that lets the task happen. Triage needs read; it does not need write; it does not need the whole account. A over-reads. C over-writes. D under-scopes — you lose the agent’s value. The correct posture is narrow read-only, per label.

Q5. Your digest has three categories populated (Reply needed today, FYIs, Archivable) and the Flagged as unclear category is empty. What should you do?
  • A Great — the agent is confident in everything.
  • B Be suspicious. An empty Flagged category on a real inbox usually means the agent is pretending to certainty; ask it to name its two least-confident categorizations anyway.
  • C Remove the category from the template; you do not need it.
  • D Rerun triage on a larger label.
Show explanation

Answer: B. An empty Flagged as unclear on a label with any real variety is a warning sign, not a success. Real inboxes have real ambiguity; an agent saying it is certain about every message is an agent that is not being honest about its own uncertainty. The follow-up prompt in the answer is the corrective. A trusts false certainty. C removes the instrument that catches the problem. D does not address the core issue.

Reflection prompt

The gap between the two digests — and the audit check you will be tempted to skip.

In 6–8 sentences: Describe the gap between your Cowork digest and your Claude Code digest — any category differences, any missed threads, any mis-summaries that one caught and the other did not. Which audit check caught the most errors for you today? If a week from now you re-ran triage on this same label, which of the four audit checks would you be most likely to skip under time pressure — and what would you do to prevent yourself from skipping it?

The last sentence matters. Skipping the audit is the most common failure mode in email agents among students who are comfortable enough with the tool to feel they can trust it. Naming the check you would skip, ahead of time, is the first step toward building a guard against skipping it.

Project checkpoint

Add Entry 1 — triage digest to inbox-and-calendar-log-v1-draft.md.

Open your capstone log file (create it if you have not: /capstone/inbox-and-calendar-log-v1-draft.md). Add Entry 1 with this shape:

Entry 1 — Triage digest. Date: [today].

Prompt. [Paste the five-part prompt you actually sent the agent.]

Digest. [Paste the agent’s digest from the Cowork-tab run, in the six-category shape. Tool used: Cowork tab. (If you also ran the Optional Advanced CLI sidebar, attach that digest as a sub-entry.)]

Audit notes. Count: [___]. Placement: [___]. Invention: [___]. Missing context: [___]. Be specific; “looked fine” is not an audit note.

Reflection. [One paragraph: what worked, what did not, what you would change for tomorrow.]

Safety norm line. Drafts, not sends. Least access for the task.

Do not proceed to Lesson 5.3 until Entry 1 is drafted in your capstone file. The drafting work in 5.3 sits on top of a categorization you trust.

Next in Module 5

Lesson 5.3 — Drafts, not sends: reply drafting with the human in the loop.

Now the agent writes. Three-context drafting prompt, honesty rails, draft-only rails, and the five-check review before you click Send. Three named failure modes — the smooth wrong claim, the off-voice paragraph, the over-committing reply — and what to do when you see them.

Continue to Lesson 5.3 →