agentleFS
jwm-axonijwm-axoni/claude-workbench/skills/daily-briefing/SKILL.md

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

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.
  • QuixiAISkill

    crm-lookup

    Search, view, update, and merge contacts in the local CRM

    Also in 3 projects that use this

  • QuixiAISkill

    spotify

    Search Spotify, inspect current playback and devices, and control playback with explicit approval

    Also in 3 projects that use this

  • MicrosoftSkill

    inbox-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

  • MicrosoftSkill

    image-gen

    Also in 3 projects that use this

  • AnthropicSkill

    weather

    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

  • SentrySkill

    notion

    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

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
  1. Very specific:

    Before composing anything, read Tracking/Signals/RUN_LEDGER.md and .workbench/schedules.json.

    line 17
  2. Distinctive:

    Put the same one-line warning first in the digest.

    line 28
  3. Distinctive:

    Never silently compose over a gap.

    line 30
  4. Very specific:

    If unmerged claude/ branches are newer than the working copy, say so as a gap: the vault you're reading is behind.

    line 35
  5. Distinctive:

    If a source can't be reached, say so in one line under Notes.

    line 63
  6. Very specific:

    Run every name through NAME_VARIANTS.md before using it.

    line 130
  7. Distinctive:

    Never mention a block listed in "Calendar blocks that never appear in a brief".

    line 131
  8. Distinctive:

    Never surface a personal meeting or personal email in the briefing.

    line 132
  9. Distinctive:

    Keep it to one screen where possible.

    line 133
  10. Distinctive:

    Never edit anything above it.

    line 158
  11. Very specific:

    If the update runs more than 2 hours after its scheduled time, say so in its heading: ## Intraday update — HH:MM (ran late.

    line 161
  12. Very specific:

    After writing the file, send a short digest by delivery.channel:

    line 166
  13. Distinctive:

    Never any other person or shared channel.

    line 169
  14. Distinctive:

    Never put anything in a digest that the briefing itself must not show: private calendar blocks, personal meetings, secrets, guarded data.

    line 199
  15. Very specific:

    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 …

    line 208

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 partial line: mention its gaps: 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

  1. Root CLAUDE.md, then Context/me.md (role lens, what urgent means, reachable tools, blocks that never appear), then Context/surfacing.md, then People/NAME_VARIANTS.md, Tracking/GOALS.md, Resources/GLOSSARY.md.

    Apply surfacing.md to 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 marked pending or superseded aren't rules yet; ignore them.

  2. 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 in Projects/INDEX.md
    • Tracking/COMMITMENTS.md (see Commitments below)
    • today's Daily/<today>_CALENDAR.md if it exists and isn't stale; otherwise the calendar connector
  3. Then the live sources, only tools Context/me.md marks 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: connector in the profile), yesterday's meeting summaries and next steps there, never transcripts. If Meetings/ exists, yesterday's meeting files, above the ## Transcript marker 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 Due date with no Last evidence in 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." For them:<name> rows, ask whether to chase.
  • A row due within 2 days is mentioned once, in Today.
  • Rows marked looks-done are 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 1

Rules:

  • Link people, projects, orgs and tools with bare [[wikilinks]], first mention only, and only to pages that exist.
  • Run every name through NAME_VARIANTS.md before 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 them c-0001 upward 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.md

Number 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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.