daily-briefing
Skill2 starsChanged 6 days agoMITView on GitHub
Workbench routine. Writes the morning briefing to Daily/YYYY-MM-DD_MORNING_BRIEFING.md (what today needs, replies owed, risks, focus, what the dream learned, questions) and, in midday mode, appends an intraday update below it. Runs as the "[Workbench] Morning Briefing" and "[Workbench] Midday Update" scheduled tasks; can be run by hand with /workbench:daily-briefing.
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
- 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
- mohitkhandelwal242/ai-pm-operatortheir own version, first seen Oct 20, 2026
Used with
Projects with it also use crm-lookup, spotify and 9 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
- +1 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 repository10 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- calendar-syncSkill
- captureSkill
- eod-recapSkill
- librarianSkill
- migrateSkill
- nightly-dreamSkill
- schedulesSkill
- setupSkill
- weekly-reviewSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 9 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 32 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Before composing anything, read Tracking/Signals/RUN_LEDGER.md and .workbench/schedules.json.
- Distinctive: line 28
Put the same one-line warning first in the digest.
- Distinctive: line 30
Never silently compose over a gap.
- Very specific: line 35
If unmerged claude/ branches are newer than the working copy, say so as a gap: the vault you're reading is behind.
- Distinctive: line 63
If a source can't be reached, say so in one line under Notes.
- Very specific: line 130
Run every name through NAME_VARIANTS.md before using it.
- Distinctive: line 131
Never mention a block listed in "Calendar blocks that never appear in a brief".
- Distinctive: line 132
Never surface a personal meeting or personal email in the briefing.
- Distinctive: line 133
Keep it to one screen where possible.
- Distinctive: line 158
Never edit anything above it.
- Very specific: line 161
If the update runs more than 2 hours after its scheduled time, say so in its heading: ## Intraday update — HH:MM (ran late.
- Very specific: line 166
After writing the file, send a short digest by delivery.channel:
- Distinctive: line 169
Never any other person or shared channel.
- Distinctive: line 199
Never put anything in a digest that the briefing itself must not show: private calendar blocks, personal meetings, secrets, guarded data.
- Very specific: line 208
If the morning briefing runs more than 2 hours after its scheduled time (a laptop that was asleep, a catch-up run), add late: true and …
“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
The briefing is the surface the owner reads to start the day. It is not the record (the recap is), so it can be opinionated about priorities, but every fact in it must trace to a source.
You own one file: Daily/<today>_MORNING_BRIEFING.md. In midday mode you append to it. You
write nothing else in the vault, except your one appended line in Tracking/Signals/RUN_LEDGER.md. The one thing you may send is the digest, to the owner only,
by the channel in .workbench/profile.json → delivery (the root CLAUDE.md standing exception).
Step 0: system health
Before composing anything, read Tracking/Signals/RUN_LEDGER.md and .workbench/schedules.json.
From the schedules, work out which routines should have run since the last briefing (normally
yesterday's recap and dream, the calendar syncs, and on the first workday the weekly). For each
one, look for its ledger line.
- A routine with no line, or a line marked
failed, is a gap. Name it in the briefing, first line under Urgent and at risk, in plain words with the consequence: "The dream didn't run last night, so 4 captures are unfiled." "Yesterday's recap didn't run, so this briefing has no record of yesterday afternoon." Count the consequence from the vault (unfiled capture lines, the missing file), don't guess it. - A
partialline: mention itsgaps:text under Notes. - Put the same one-line warning first in the digest.
Never silently compose over a gap. If the ledger itself is missing (a vault older than v0.2.0), fall back to checking for the files those routines write, and say under Notes that you did.
In a repo vault, if the root CLAUDE.md or the project instructions say cloud runs push to
claude/ branches, check that the working copy has merged them first (see the schedules skill).
If unmerged claude/ branches are newer than the working copy, say so as a gap: the vault you're
reading is behind.
Read first, in this order
Root
CLAUDE.md, thenContext/me.md(role lens, what urgent means, reachable tools, blocks that never appear), thenContext/surfacing.md, thenPeople/NAME_VARIANTS.md,Tracking/GOALS.md,Resources/GLOSSARY.md.Apply
surfacing.mdto everything that follows. Always surface topics go in even when there's little news on them. Never surface topics stay out of the file and the digest. During Quiet hours, hold proactive items (a midday update in quiet hours writes its file but sends nothing). Format preferences set the shape for their topic. Lines markedpendingorsupersededaren't rules yet; ignore them.- The ledgers, before any live source, so you don't re-report what the vault already knows:
- yesterday's (or the last workday's)
Daily/*_DAILY_RECAP.md, especially open follow-ups and tomorrow-prep - the newest entry in
Tracking/DREAM_LOG.md, especially Needs your yes ## Open commitments (mine)on active projects inProjects/INDEX.mdTracking/COMMITMENTS.md(see Commitments below)- today's
Daily/<today>_CALENDAR.mdif it exists and isn'tstale; otherwise the calendar connector
- yesterday's (or the last workday's)
- Then the live sources, only tools
Context/me.mdmarks reachable, since the last recap: email, chat DMs and mentions, tickets or tasks due today or tomorrow, the role-specific sources (CRM, code host, etc.). If meetings come through the recorder's connector (meetings_via: connectorin the profile), yesterday's meeting summaries and next steps there, never transcripts. IfMeetings/exists, yesterday's meeting files, above the## Transcriptmarker only.
If a source can't be reached, say so in one line under Notes. Never fill a gap with a guess.
Commitments
From Tracking/COMMITMENTS.md:
- A row past its
Duedate with noLast evidencein 7 or more days goes under Urgent and at risk, phrased as a question, never an assertion: "Did the Q4 draft go to [[Pat Lee]]? It was due 11-03 and nothing's mentioned it since 10-29." Forthem:<name>rows, ask whether to chase. - A row due within 2 days is mentioned once, in Today.
- Rows marked
looks-doneare not surfaced. The weekly closes them. - You never write to the register. If a question you ask gets answered, the answer comes back as a capture and the dream updates the row.
Morning mode: file shape
---
type: morning-briefing
date: YYYY-MM-DD
tags: [daily, briefing]
status: active
source: claude-routine
---
# Morning briefing — YYYY-MM-DD (Weekday)
## Today
Meetings worth attention, each with one line of context from People/Projects/Organizations
and what to bring. Skip routine internal meetings unless something is due in them.
## Urgent and at risk
Only things that match "what urgent means" in Context/me.md, or a hard date in GOALS.md within 7 days.
## Replies owed
Grouped by person, oldest first, with where it came from (email, DM, ticket).
## Due today or tomorrow
Tasks, tickets, deliverables, commitments from project pages.
## Role lens
The checks listed under "Role lens" in Context/me.md that have something to report today.
## From the dream
Two to five lines from the newest DREAM_LOG entry: what it changed, and anything under
**Needs your yes**, each answerable with one word.
## Suggested focus
Three things, in order, each tied to a goal or a deadline.
## Terms I didn't recognize
Only terms not in GLOSSARY.md and heard more than once.
## Questions
Numbered, one line each, answerable in one word where possible. Max five.
## Notes
Sources skipped or unreachable.
## Claims
- c-0001 | commitment | Send Pat the Q4 draft today | confidence: 0.85 | evidence: "can you get me the Q4 draft by Friday" (email from [[Pat Lee]] 09:12)
- c-0002 | status | Acme renewal call moved to Thursday | confidence: 0.95 | evidence: [[Acme Data]] Current state (dream)/line 1Rules:
- Link people, projects, orgs and tools with bare
[[wikilinks]], first mention only, and only to pages that exist. - Run every name through
NAME_VARIANTS.mdbefore using it. Unconfirmed variants are named as such. - Never mention a block listed in "Calendar blocks that never appear in a brief".
- Never surface a personal meeting or personal email in the briefing.
- Keep it to one screen where possible. The owner reads this on a phone sometimes.
- Claims lists every forward-looking assertion the recap can later check:
commitment(the owner owes it),status(a fact about the state of something),priority(what you said matters most),question. Number themc-0001upward per day, with your confidence 0–1. The recap grades them; that is how the system measures whether its briefings are right. - Every new claim carries its lineage.
confidence:is the 0–1 grade.evidence:is either a verbatim quote of 25 words or fewer in double quotes, with where it came from, or a page reference in the form[[Page]] section/line. Claims written before v0.2.0 have the confidence as a bare fourth field and no evidence; leave them as they are, never rewrite them.
Midday mode
Re-read the morning file, then only what changed since it was written: new email, DMs and
mentions, calendar changes (from the calendar file's ## Changes since last sync or the
connector), new actions. Append at the bottom:
## Intraday update — HH:MM
### New and needs a reply
### Calendar changes
### Newly surfaced actions
### Claims
- c-00NN | … | confidence: … | evidence: … (continue numbering)Never edit anything above it. What was known in the morning has value precisely because it wasn't rewritten. If nothing changed, append one line saying so.
If the update runs more than 2 hours after its scheduled time, say so in its heading:
## Intraday update — HH:MM (ran late; scheduled HH:MM).
Deliver the digest
After writing the file, send a short digest by delivery.channel:
- slack: a DM to the owner themselves (or the private channel named in
delivery.target). Never any other person or shared channel. - email: one email to the owner's own address, subject
Briefing — <Weekday> <date>. - claude: make the digest your final message for this run; the Claude app shows it.
- none: skip.
Digest shape, at most 15 lines, no tables:
Morning, <name>. <Weekday> <date>.
Focus: 1) … 2) … 3) …
Watch: <the one or two real risks>
Today: <N meetings>; prep needed for <meeting> (<what>)
From the dream: <one line>
Questions (reply with the number):
1. Is "Send Pat the draft" done? (yes/no)
2. Is "JT" Jamie Torres? (yes/no)
Full briefing: Daily/<date>_MORNING_BRIEFING.mdNumber questions Q1… to match the file's ## Questions, so replies like "1 yes, 2 no it's Jo
Tan" map back. Put Needs your yes items from the dream log first. On the first workday, also
carry the newest weekly plan's ## Needs reconciling questions, keeping their "Reconcile N" labels
so the answer ("reconcile 2: March") maps back. Record the channel and time
sent under ## Notes in the file (e.g. Delivered: slack 07:58). If sending fails, note the
failure there and in the digest's next successful send; don't retry in a loop.
In midday mode, send only if the update has something new that needs action (when
delivery.midday is if-changed, the default), as a reply in the same Slack thread or email thread
when possible.
Never put anything in a digest that the briefing itself must not show: private calendar blocks, personal meetings, secrets, guarded data.
If the file already exists in morning mode
The task ran twice or someone re-ran it. Don't overwrite. Append an ## Intraday update instead.
Late runs
If the morning briefing runs more than 2 hours after its scheduled time (a laptop that was asleep,
a catch-up run), add late: true and scheduled: HH:MM to the frontmatter and say it under the
title: "Ran at 11:40, scheduled 08:00." Items already past by then go under Notes, not Today.
Finish: the run ledger
Last, append exactly one line to the bottom of Tracking/Signals/RUN_LEDGER.md, and never edit or
delete an existing line. Every routine appends one line when it finishes, and none edits or deletes a line; the librarian reads it. The routine is daily-briefing in morning mode and midday-update in
midday mode. Include every gap Step 0 found.
- YYYY-MM-DD HH:MM | daily-briefing | <ok|partial|failed> | wrote: <file names, or "nothing"> | gaps: <none, or a short description>Example: - 2026-11-09 08:01 | daily-briefing | ok | wrote: 2026-11-09_MORNING_BRIEFING.md | gaps: nightly-dream missing for 11-06
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.

