pm-inbox-triage — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pm-inbox-triage (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The inbox is where stakeholder relationships live or die. Most PMs let it become noise; this skill turns it back into signal.
The skill reads recent threads, classifies them, drafts replies for the ones that need substantive responses, and surfaces the threads going stale. The user reviews, edits drafts, and decides what to send. Nothing leaves the agent.
pm-morning-brief's inbox section (called implicitly)Don't use when:
pm-context-loaderLoad you.md, the active project list, cross-project stakeholders.
Use the Gmail MCP to pull threads:
For each thread, capture:
Four categories:
Be conservative on "ignore." When in doubt, classify as FYI.
For each thread in the "substantive response" category:
you.md style preferences)Critical: drafts only. Never auto-send.
A two-line acknowledgment. Bulk-draft these together so the user can approve them in a single pass.
Two stale-thread patterns to surface:
For each stale thread, propose either a follow-up draft (case 1) or surface to the substantive-response queue (case 2).
Read through the substantive threads. Identify commitments the user made in those threads — these often don't make it to project todos. Cross-reference the relevant project's todos.md. Surface any commitments that aren't captured. Propose adding them (with explicit user approval, same pattern as pm-meeting-debrief).
Use the structure below. Optimize for review-and-decide speed: the user should be able to act on the whole triage in 15 minutes or less.
# Inbox triage — [HH:MM]
## Summary
- [N] threads reviewed
- [N] need substantive response
- [N] need quick reply
- [N] FYI
- [N] can ignore
- [N] stale (you awaiting), [N] stale (they awaiting)
## Substantive responses needed
For each:
**From [sender] — [subject]**
- The ask: [what they want]
- Draft reply:[draft body in user's voice]
- [Approve / edit / defer]
## Quick replies (batch)
**To [sender] re [subject]:**[two-line acknowledgment]
[Repeat. Approve all at once or individually.]
## Stale threads — you awaiting reply
For each:
- [name], [subject], sent [N days ago]
- Draft follow-up: [optional one-line nudge]
## Stale threads — they awaiting your reply
For each:
- [name], [subject], you've been silent [N days]
- Why this is uncomfortable: [the relationship risk]
- Suggested: respond now, or set a deadline to respond by
## Commitments found that aren't in project state
For each:
- [project] — [commitment] — found in email thread [subject]
- Propose adding to: `pm-state/projects/<name>/todos.md`
- [Write / skip]
## FYI — keeping in scope
Short list. Just senders and subjects. No drafts needed.
## Threads you can ignore
Even shorter list. Just count or representative samples.you.md).Common invocation patterns:
If invoked with no Gmail MCP available, respond: "I can't reach Gmail. Make sure the MCP server is connected. If it's intentional that I can't see your inbox, you can paste the threads here for triage."
If the user asks the skill to auto-send a draft, refuse: "I draft, you send. The asymmetric downside of an auto-sent wrong reply is too large to take. Want me to draft and you send from your client?"
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.