pm-morning-brief — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pm-morning-brief (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 first thing the agent does each day. Pulls signal from multiple sources (calendar, email, pm-state TODOs, Granola transcripts from yesterday) and surfaces what needs attention today.
The brief is written to pm-state/inbox/YYYY-MM-DD-morning-brief.md so it persists and the user can refer back. The user reads it in five minutes, decides what to act on, and moves into the day.
This skill can be run manually or on a scheduled task (typically 7:30 to 8:00 weekdays).
Don't use when:
pm-weekly-review or just ask what's outstanding.pm-context-loaderFirst step. Load you.md, the active project list, cross-project stakeholders.
Use the calendar MCP to fetch today's events. For each event, capture:
A meeting needs prep if any of:
you.md or stakeholders.md)open-questions.md)For each meeting needing prep, note the specific reason. Don't flag every meeting — internal team standups usually don't need prep.
Read each active project's todos.md. Identify items:
[me] entries)List them with project tag: [project] item due today.
Also surface commitments others owe the user that are due today. These are different — the action is "follow up" rather than "do it."
Items in todos.md with dates before today and not marked done. These are the highest-priority signal in the brief — most projects slip silently, and the morning brief is where the slip gets named.
Group slipped items by project. For each, note how many days overdue.
Pull recent Gmail threads via the Gmail MCP. Focus on:
Don't classify or draft replies in the morning brief — that's pm-inbox-triage. Just count and surface the high-attention ones.
Read Granola transcripts from yesterday (use the Granola MCP). For each transcript:
pm-meeting-debrief patternstodos.mdThis catches the most common slippage: a verbal commitment made in a meeting that never made it to a written list.
Across all the signals above, name the three things that matter most today. Be opinionated. The user has limited attention; the brief should prioritize, not just list.
Criteria for "top 3":
If everything looks fine and nothing is urgent, say so. A clean brief is a useful signal too.
Save to pm-state/inbox/YYYY-MM-DD-morning-brief.md using the output structure below. Use the user's local date.
If a brief for today already exists, surface that to the user before overwriting: "You already have a brief for today. Regenerate or refer to existing?"
# Morning brief — YYYY-MM-DD (weekday)
## Top 3 today
1. [the most important thing, with the why]
2. ...
3. ...
## Meetings (N today)
For each meeting:
**HH:MM — Meeting title**
- Attendees: [named list]
- Owner: [me / them]
- Prep needed: [yes — reason / no]
- Prior context: [last interaction with these people, if relevant]
## Commitments due today
[project tag] item — owed by [me / name]
...
## Slipped (overdue commitments)
[project tag] item — [N days overdue], owed to [name]
...
## Inbox attention
[N threads received yesterday, M from named stakeholders]
- [sender]: [subject] — [why it matters, if not obvious]
...
## Yesterday's loose threads
From [meeting]: [commitment that wasn't captured in any project's todos.md]
...
## Notes for context
[Any one-line context: tomorrow is a holiday, you're traveling Thursday, etc.]
---
*Brief generated [HH:MM]. Update `pm-state/projects/<name>/todos.md` as items get done.*pm-inbox-triage. The morning brief surfaces what needs attention; it doesn't do the work yet.Common invocation patterns:
If invoked outside of morning hours, ask: "This is the morning brief skill. It's already [HH:MM] — do you want to regenerate the morning brief, or would you rather run `pm-weekly-review` or just check what's outstanding?"
If pm-state doesn't exist, defer to pm-context-loader's handling of that case.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.