daily-brief
Daily brief — cited, ranked, draft-only
Weekday 07:00: today’s meetings and what each needs, mail and chat that need a decision (ranked, with why), PRs and issues waiting on you, your own open promises and open alerts — from every connected Google/Microsoft account and GitHub identity via apl. Every line cites its source and a calibrated classifier removes unsupported lines; unreadable sources are named. Nothing is sent without approval.
| Source | templates/daily-brief/workflow.yaml |
| Category | general |
| Trigger | manual (wfx run) · schedule 0 7 * * 1-5 |
| Steps | 6 |
| Human approval before | deliver |
| Providers named | claude-cli |
Use it
Section titled “Use it”wfx templates daily-briefwfx new daily-brief --as my-daily-briefwfx dryrun my-daily-briefWhat it does
Section titled “What it does”The leader’s morning page. A read-only collector runs apl-skill’s morning brief recipes across every connected account, an agent drafts a ranked brief in which every line cites a source item, a calibrated classifier checks each line against its source, and the verified brief is saved as a private draft. Delivery is a separate, approved step.
What you fill in
Section titled “What you fill in”- timezone (input tz) and the hour in the cron line
- gh_scope if your repositories are not all under your user and orgs
- delivery: deliver=gmail-draft|ms-draft to put the brief in your drafts after approval
Inputs
Section titled “Inputs”| Input | Type | Default | Required | Meaning |
|---|---|---|---|---|
day |
string | "" |
||
tz |
string | "" |
||
lookback_h |
integer | 0 |
||
accounts |
string | "" |
||
gh_identities |
string | "" |
||
gh_scope |
string | "" |
||
alert_label |
string | "sre-alert" |
||
internal_domains |
string | "" |
||
save_dir |
string | "~/.local/share/wfx-lead/daily-brief" |
||
deliver |
string | "none" |
||
deliver_handle |
string | "" |
||
deliver_to |
string | "" |
||
dry_run |
boolean | false |
| # | Step | Kind | Skills | Gates |
|---|---|---|---|---|
| 1 | collectCollect the day (read-only, every account) |
shell (run:) |
exitCode = 3 → fail |
|
| 2 | draftDraft the brief |
agent on claude-cli |
leader-brief |
|
| 3 | verifyCheck every line against its source (JEV) |
shell (run:) |
exitCode = 2 → failexitCode = 4 → fail |
|
| 4 | settleRecord the run; is delivery wanted? |
shell (run:) |
exitCode = 10 → skip to finish |
|
| 5 | deliverDeliver the brief (approved) |
shell (run:) |
human approval first | |
| 6 | finishSuccess numbers |
shell (run:) |
Human gates
Section titled “Human gates”deliverwaits forwfx approve <run-id>(orwfx reject <run-id> -m "why") before it runs.