Email Triage
Email triage is a shared construct, not a per-agent script habit. Keep one
audited workflow for how agents read mail, classify it, log what was seen, and
promote reusable filters back into the shared source of truth.
Operating Contract
- Read the canonical mail source with its supported API or local archive, using
read-only access unless the task explicitly requires state changes.
- Query a bounded recent window first. Prefer targeted queries by sender,
subject, list identifier, labels, and age over scanning a full mailbox.
- Normalize each message into a small record: stable message id, date, sender,
subject, labels/read state, source mailbox/archive, and a durable link or id.
- Deduplicate by stable message id before classification.
- Classify into action categories that match the agent's remit, such as
failed automation, security alert, review request, team message, customer
escalation, or informational update.
- Sort by severity first, then unread/actionable state, then recency.
- Fetch bodies only for the smallest actionable set, and extract concise
evidence lines instead of copying whole emails.
- Append a triage summary to the durable log or wiki with counts, categories,
message ids or links, and the next action for each actionable item.
Centralization Rule
- Reusable triage behavior belongs in this skill or a companion shared skill.
- Project-specific sender lists, labels, keywords, and escalation owners belong
in configuration or memory, not hard-coded in each agent script.
- Long-lived architecture notes belong in the wiki or docs and should point to
this skill for behavior.
- Config files should contain only a thin pointer to this skill, not a copied
triage procedure.
When a local script teaches you a better filter or category, promote the generic
rule here and leave only the local values in configuration.
Evidence Discipline
- Preserve message ids and source locations so another operator can re-check the
same email.
- Do not paste full private email bodies into logs, issues, or pull requests.
- Redact personal data unless it is required for the task and allowed by the
destination.
- Log negative runs too: the absence of actionable mail is operational evidence
when it includes the query window and source.
Failure Handling
- Authentication failure: report the credential or consent surface that failed,
then stop before changing mail state.
- Query failure: record the query, status code, and first diagnostic clue.
- Parser failure: keep the raw message id and headers, then quarantine the body
handling bug for a focused fix.
- Ambiguous relevance: classify as informational and capture why it was not
escalated.
Done Standard
An email triage run is done only when the durable log names the source, query
window, counts by category, highest-priority actionable items, and either the
next owner/action or a clear "no actionable mail" result.
1---2name: email-triage3description: Use when building or operating an agent email triage loop that turns recent inbox messages into prioritized, source-linked actions without duplicating project-specific rules across agents.4---56# Email Triage78Email triage is a shared construct, not a per-agent script habit. Keep one9audited workflow for how agents read mail, classify it, log what was seen, and10promote reusable filters back into the shared source of truth.1112## Operating Contract13141. Read the canonical mail source with its supported API or local archive, using15 read-only access unless the task explicitly requires state changes.162. Query a bounded recent window first. Prefer targeted queries by sender,17 subject, list identifier, labels, and age over scanning a full mailbox.183. Normalize each message into a small record: stable message id, date, sender,19 subject, labels/read state, source mailbox/archive, and a durable link or id.204. Deduplicate by stable message id before classification.215. Classify into action categories that match the agent's remit, such as22 failed automation, security alert, review request, team message, customer23 escalation, or informational update.246. Sort by severity first, then unread/actionable state, then recency.257. Fetch bodies only for the smallest actionable set, and extract concise26 evidence lines instead of copying whole emails.278. Append a triage summary to the durable log or wiki with counts, categories,28 message ids or links, and the next action for each actionable item.2930## Centralization Rule3132- Reusable triage behavior belongs in this skill or a companion shared skill.33- Project-specific sender lists, labels, keywords, and escalation owners belong34 in configuration or memory, not hard-coded in each agent script.35- Long-lived architecture notes belong in the wiki or docs and should point to36 this skill for behavior.37- Config files should contain only a thin pointer to this skill, not a copied38 triage procedure.3940When a local script teaches you a better filter or category, promote the generic41rule here and leave only the local values in configuration.4243## Evidence Discipline4445- Preserve message ids and source locations so another operator can re-check the46 same email.47- Do not paste full private email bodies into logs, issues, or pull requests.48- Redact personal data unless it is required for the task and allowed by the49 destination.50- Log negative runs too: the absence of actionable mail is operational evidence51 when it includes the query window and source.5253## Failure Handling5455- Authentication failure: report the credential or consent surface that failed,56 then stop before changing mail state.57- Query failure: record the query, status code, and first diagnostic clue.58- Parser failure: keep the raw message id and headers, then quarantine the body59 handling bug for a focused fix.60- Ambiguous relevance: classify as informational and capture why it was not61 escalated.6263## Done Standard6465An email triage run is done only when the durable log names the source, query66window, counts by category, highest-priority actionable items, and either the67next owner/action or a clear "no actionable mail" result.