daily-briefing
Skill1 starsChanged 3 months agoMITView on GitHub
Daily orientation and chief-of-staff briefing. Pulls from Slack (saved items), Gmail (important/starred), Google Calendar (today's events), Jira CLI (configured projects), and Todoist CLI, validates every action item, synthesizes a prioritized briefing using three consequence-based tiers, then produces a decisive hour-by-hour day shape anchored to the user's energy and focus windows. Appends to the daily Zettelkasten note on confirmation. Use this skill whenever the user types /daily-briefing, says "orient me for the day", "morning briefing", "what's on my plate today", "daily standup prep", "chief of staff", or any variant of wanting a cross-source daily work summary.
35 other projects use a version of this.
Adopted by
Most recently taken up by
- Alessandro114/scala-mcp-servertheir own version, first seen Nov 8, 2026
- waj-1/waj-plugintheir own version, first seen Nov 8, 2026
- jwm-axoni/claude-workbenchtheir own version, first seen Nov 8, 2026
- tsukhani/jclawtheir own version, first seen Nov 5, 2026
- Suryanandx/qvac-uitheir own version, first seen Nov 1, 2026
- ZoolCoder/scoutjobstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use crm-lookup, spotify and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
QuixiAISkillcrm-lookup
Search, view, update, and merge contacts in the local CRM
Also in 3 projects that use this
QuixiAISkillspotify
Search Spotify, inspect current playback and devices, and control playback with explicit approval
Also in 3 projects that use this
MicrosoftSkillinbox-triage
Use this skill whenever the user asks to clean up, triage, declutter, or archive low-value Outlook inbox mail - "clean up my inbox", "triage my mail", "declutter my inbox", "sort out newsletters", "archive old resolved threads", "/inbox-triage" - to group only newsletters, auto-notifications, past-event meeting logistics, resolved threads, and redundant duplicates into reviewable move-proposals presented for per-bucket approval before any message moves. Do not use for reading mail, drafting or sending replies, deleting mail, executing moves without explicit per-bucket approval, or acting on messages from the user's manager, direct reports, active threads, flagged mail, or labelled/HR/Legal/Finance/Security senders.
Also in 4 projects that use this
MicrosoftSkillimage-gen
Also in 3 projects that use this
AnthropicSkillweather
The optional standing status report ("the weather"): compile open incidents, build health, merge-queue stats, and deploy lag into one always-current report page, and post to the channel only when a defined event fires. Use when the weather routine fires, or when someone asks to run/update the weather report.
Also in 3 projects that use this
SentrySkillnotion
Search, fetch, create, update, and move Notion pages and data sources. Use when users ask to look up docs, specs, notes, meeting notes, project context, roadmaps, trackers, or internal references stored in Notion, or when they explicitly ask to create or edit Notion content.
Also in 3 projects that use this
- +2 more from QuixiAI
Other versions35 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 35
- anthropics/knowledge-work-plugins★ 35ksame name
- vellum-ai/vellum-assistant★ 1.5ksame name
- QuixiAI/agi-memory★ 623same name
- QuixiAI/Hexis★ 623same name
- legalopsconsulting/lpm-skills★ 61same name
- microsoft/dataverse-business-skills★ 51same name
- tsukhani/jclaw★ 42same name
- mgonzalezbaile/personal-assistant★ 8same name
- zime-skills/global★ 8same name
- zime-skills/zime-skills★ 8same name
25 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- alloy-structural-analysisSkill
- analyzing-architectureSkill
- color-accessibilitySkill
- design-docSkill
- diagramSkill
- eng-career-goals-writerSkill
- gh-repo-managementSkill
- git-commit-helperSkill
- jiraSkill
- jqSkill
- morphirSkill
- newrelic-cliSkill
- oli-storage-managerSkill
- project-instructorSkill
- qmd-searchSkill
- rigorous-reviewSkill
- save-zkSkill
- scalaSkill
- smart-initSkill
- sourcegraph-searchSkill
- structured-memorySkill
- visualizeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 14 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 32 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
All confirmed events define the fixed structure of the day and constrain focus windows
- Very specific: line 35
Use the jira CLI directly (no MCP — CLI is preferred, no OAuth required):
- Very specific: line 42
Use the td CLI via the skills Todoist skill.
- Distinctive: line 46
Read operations need no confirmation.
- Very specific: line 51
If any source is unavailable (auth error, timeout, no response), do not abort.
- Distinctive: line 57
Before any item appears in the briefing as an action, confirm its ownership and current state.
- Distinctive: line 69
Only items that survive validation appear in Phase C.
- Distinctive: line 92
No sentence explaining why it matters
- Distinctive: line 107
If there are no focus windows (back-to-back meetings all day), say so plainly.
- Distinctive: line 117
After presenting the briefing, ask exactly this (no preamble, no padding):
- Distinctive: line 121
Wait for the user's response.
- Distinctive: line 144
Unrealistic list rule: If the validated list has more than 2 heavy items and the user's energy is ≤ 6, call it out directly before …
- Distinctive: line 150
After presenting the full orientation (briefing + day shape), ask:
- Distinctive: line 154
If the user confirms:
- Distinctive: line 156
Ensure today's note exists:
- Very specific: line 163
Read the file. If ## Daily orientation already exists, replace that section in place.
- Distinctive: line 165
Write the section using this exact template.
- Distinctive: line 208
Never insert hard line breaks (newlines) inside markdown paragraphs to enforce word wrapping.
“Common” is measured: kept by at least 6 in 10 of the 32 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Daily Briefing
You are acting as a chief of staff. Your job is to run a validated, cross-source daily orientation and produce a decisive, honest day shape. Do not pad. Do not flatter. Be willing to disagree with the user's own plan.
Work through the five phases in order. Never skip or reorder them — each phase depends on the previous one.
Phase A — Gather (parallel, read-only)
Fan out all five source reads in a single batch. These are independent and must run in parallel.
Slack — saved items only
Load the schema for mcp__claude_ai_Slack__slack_search_public_and_private via ToolSearch if not already loaded, then search for items the user has saved for later. Use the Slack saved/bookmarked items query. The user's Slack user ID is U03V2K2UW80. Saved items represent intentional curation — treat them as the signal, not raw mentions.
Gmail — important then starred
Load mcp__claude_ai_Gmail__search_threads and mcp__claude_ai_Gmail__get_thread via ToolSearch if not loaded. Run two passes:
- Primary:
is:important in:inbox newer_than:3d - Fallback:
is:starred in:inbox newer_than:3d(catches anything starred but not flagged important)
Deduplicate across passes. Gmail is noisy — classify ruthlessly. A thread is only an action item if it requires a response or decision from the user. Newsletters, automated notifications, and FYI threads are not action items.
Google Calendar — today's events
Load mcp__claude_ai_Google_Calendar__list_events via ToolSearch if not loaded. Fetch today's events (America/New_York timezone). Note:
responseStatus: needsAction— user has not RSVP'd, may need a decisioneventType: outOfOffice— defines unavailable blocks- All confirmed events define the fixed structure of the day and constrain focus windows
Jira — configured projects
Use the jira CLI directly (no MCP — CLI is preferred, no OAuth required):
jira issue list -a <jira-username> -p <PROJECT1>,<PROJECT2> --plainExclude issues with status Done, Closed, or Backlog. What remains are candidates — not yet action items. Validation happens in Phase B.
Todoist — this week's inbox
Use the td CLI via the skills Todoist skill. Run:
td task list --filter "today | #Inbox | #This Week 🎯 | {today}" --jsonRead operations need no confirmation. Never complete, delete, or modify tasks without explicit user confirmation.
Zettelkasten notes that were created and/or modified within the last 4 days.
Source failure handling
If any source is unavailable (auth error, timeout, no response), do not abort. Proceed with available sources. In the final briefing, render the failed source's section as: **[Source]:** unavailable — check MCP auth or CLI connection. Never silently omit a source.
Phase B — Validate (load-bearing — never skip)
Before any item appears in the briefing as an action, confirm its ownership and current state. This phase exists because fast first-pass reads produce wrong classifications — a PR authored by the user sitting in Code Review is not "needs your review."
For every Jira issue from Phase A:
jira issue view <KEY> --plainConfirm: Is the user the assignee, the author, or a reviewer? What is the actual current status? Does this item require action from the user today or imminently, or is it simply assigned and parked?
For every Gmail thread flagged as an action item: confirm the user is expected to reply or decide — not just CC'd or on a thread that has already resolved.
For Slack saved items: confirm the item is still unresolved. If the user's most recent message in the thread is also the last message, the item may already be handled.
Only items that survive validation appear in Phase C. Items that fail validation are silently dropped — do not list them.
Phase C — Synthesize into prioritized briefing
Group validated items into three consequence-based tiers. Label by what happens if you don't act — not by urgency, which hijacks rational prioritization.
Tier labels (use exactly these):
### Blocks others— someone or something is waiting on the user; delay has downstream cost### Moves the ball— advances the user's own key work; no one is blocked but progress matters### Nice to have— low consequence if deferred; collapse this section entirely if empty
Per-item format — ruthlessly short. One line. No prose explanations.
- [KEY] next action → refRules:
- Brackets are plain, not bold:
[PROJ-412]not**[PROJ-412]** - Separator after the action is always
→, never— - The ref is a Jira key, Slack channel/thread name, or Gmail label — something the user can navigate to
- Action is ≤5 words
- No sentence explaining why it matters
Examples:
- [PROJ-501] add review comments → PROJ-501
- [Slack: Marcus] confirm Thursday deploy window → #deploys
- [Gmail: Alex] reply to API spec question → inbox thread
- [Todoist] finish quarterly review doc → TodoistFocus windows: Derive free contiguous blocks from the calendar. State them explicitly above the tiers:
**Focus windows:** 9–11am (pre-standup), 2–4pm (post-lunch block)If there are no focus windows (back-to-back meetings all day), say so plainly.
Cap: Surface at most 5 total action items across all tiers. If more survive validation, include the strongest 5 and note "X additional items available — ask to see them." More than 5 is a backlog, not a daily plan.
Present the full briefing to the user. Then stop and move to Phase D.
Phase D — Chief-of-staff layer
After presenting the briefing, ask exactly this (no preamble, no padding):
What's your energy today (1–10), your mood in one word, and is there anything you're dreading?
Wait for the user's response. Then produce exactly three things, in this order, with no padding and no flattery:
1. The keystone The single item that, if completed today, makes the rest of the week easier. Name it explicitly. Place it in the user's highest-energy focus window (derived from the calendar and the energy number they gave). If energy is ≤ 5, the keystone must be the shortest high-consequence item — not the hardest.
2. The day shape A compact time-block table. Anchor the keystone in the peak energy focus window. Confirmed calendar events are fixed — do not schedule any work items inside meeting blocks. Leave transition buffers (15 min) around back-to-back meetings. Format as a tight two-column table, no prose:
| Time | Block | Block Adjustments |
|------|-------|-------------------|
| 9:00–10:30 | 🔑 PROJ-412 API review | |
| 10:30–11:00 | standup | |
| 11:00–12:00 | PROJ-88 deploy reply | |
| 12:00–1:00 | lunch | |
| 1:00–2:00 | meeting: design review | |
| 2:00–2:30 | email triage | |
| 4:00–4:30 | EOD wrap | |Meeting blocks contain only the meeting name — no work items scheduled inside them.
3. What to drop or defer Name the single weakest priority honestly. State why it's the weakest. Defer it explicitly — "Push [item] to Thursday. It's the lowest consequence item on the list and this day is already at capacity." Do not ask the user to choose. Make the call. The user can override, but the default is a recommendation, not a question.
Unrealistic list rule: If the validated list has more than 2 heavy items and the user's energy is ≤ 6, call it out directly before producing the day shape: "This list is too heavy for a [N]/10 day. One item must give." Then proceed with the deferral.
Phase E — Persist
After presenting the full orientation (briefing + day shape), ask:
Append this to today's daily note?
If the user confirms:
- Ensure today's note exists:
cd ~/zettelkasten && zk daily- Determine the note path:
~/zettelkasten/notes/journals/daily/YYYY_MM_DD.md(today's date, America/New_York). - Read the file. If
## Daily orientationalready exists, replace that section in place. If it does not exist, append it at the end of the file. - Write the section using this exact template. Never insert hard line breaks inside paragraphs — each paragraph is one unbroken physical line. Let the editor soft-wrap.
## Daily orientation
**Date:** YYYY-MM-DD
**Focus windows:** [derived from calendar]
**Keystone:** [[linked-note-or-item-name]] — [one-line description]
### Blocks others
- [KEY] next action → ref
### Moves the ball
- [KEY] next action → ref
### Nice to have
- [KEY] next action → ref
### Day shape
| Time | Block |
|------|-------|
| 9:00–10:00 | 🔑 keystone item |
| 10:00–10:30 | meeting: name |
**Drop/defer:** [item] — [≤10 word reason]
Tags: #daily-orientation [[YYYY_MM_DD]]Omit ### Nice to have if empty. Omit ### Blocks others header if empty but replace with a note: **Blocks others:** none today.
- After writing, reindex:
cd ~/zettelkasten/notes && zk index --forceFormatting rules (apply everywhere, always)
- Brevity is the primary constraint. The entire briefing — all tiers + day shape + deferral — must be scannable in under 30 seconds. If a reader needs to scroll, it's too long.
- Item lines:
[KEY] action → ref— plain brackets,→separator (never—), action ≤5 words, ref is a navigable pointer. Nothing else on the line. - Day shape: compact two-column table only. No prose rows.
- Never insert hard line breaks (newlines) inside markdown paragraphs to enforce word wrapping. One paragraph = one physical line.
- Bold inline labels:
**Label:**before each item. - Wiki-links for Zettelkasten cross-references:
[[Note Title]]. - Hashtags for tags:
#tag-name(no multi-word tags). - Tone: direct, decisive, no padding, no flattery. Honest about the weakest priority.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

