/briefing
Compile daily briefing with meeting context, active deals, and citation tracking
Claude Code
$ npx -y skills add garrytan/gbrain --skill briefing --agent claude-code
Codex
$ npx skills add garrytan/gbrain --skill briefing -a codex -y
Cursor
$ npx skills add garrytan/gbrain --skill briefing -a cursor -y
Gemini CLI
$ npx skills add garrytan/gbrain --skill briefing -a gemini-cli -y
GitHub Copilot
$ npx skills add garrytan/gbrain --skill briefing -a github-copilot -y
OpenCode
$ npx skills add garrytan/gbrain --skill briefing -a opencode -y
Windsurf
$ npx skills add garrytan/gbrain --skill briefing -a windsurf -y
SKILL.md
briefing.SKILL.mdname: briefing
version: 1.3.0
description: Compile daily briefing with meeting context, active deals, and citation tracking
triggers:
- "daily briefing"
- "morning briefing"
- "what's happening today"
- "brain pulse"
- "pre-briefing pull"
tools:
- search
- query
- get_page
- list_pages
- get_timeline
mutating: false
upstream: briefing@fc834ee
Briefing Skill
Compile a daily briefing from brain context.
> **Filing rule:** When the briefing creates or updates brain pages, > follow `skills/_brain-filing-rules.md`.
Contract
- Every fact in the briefing includes an inline `[Source: slug, updated DATE]` citation.
- Meeting participants are resolved against the brain; gaps are explicitly flagged.
- Active deals and action items include deadlines and recency context.
- The briefing is read-only: no brain pages are created or modified unless the user explicitly requests it.
- Stale alerts surface pages relevant to today's context, not just all stale pages.
Pre-Briefing Context Pull
Run these BEFORE composing the briefing sections. All four pulls are read-only.
0a. **Salience scan.** Surface pages with high emotional or activity salience:
gbrain salience --days 7
Returns pages ranked by emotional weight and recent activity. Fold the top 5-10 into the briefing under a "High-Salience Pages" section — these are the entities and topics that are emotionally or operationally hot right now. Use this to prioritize which meetings/deals/people get the most briefing depth.
0b. **Anomaly detection.** Surface statistical anomalies in the brain:
gbrain anomalies
Defaults to today against a 30-day baseline; widen with `--lookback-days N` or lower the threshold with `--sigma 2`. Flags cohorts (by tag, by type) whose activity broke from their normal cadence — sudden spikes in mentions or pages updating far off their usual rhythm. Add hits to an "Anomalies" section after the brain pulse.
0c. **Personal recall.** Check stored personal facts and preferences before composing:
gbrain recall --query "current priorities and preferences" --json
Use recall to pull personal context — dietary preferences, communication preferences, prior commitments or promises made. This prevents the briefing from contradicting things the user has previously stated or decided.
0d. **Hot memory pulse (v0.32).** Before composing anything else, run:
gbrain recall --since-last-run --supersessions --pending --rollup --json
Fold the result into the briefing under a "Brain pulse" section at the top: 1. **Contradictions resolved overnight** — the `--supersessions` output. Lead with these because they're new corrections to your model of the world. 2. **Top mentions** — `top_entities` from `--rollup` (top 5 entity slugs by fact count in the window). 3. **New facts since last briefing** — group the `facts` array under each entity from the rollup; include `kind`, `notability`, and `confidence`. 4. **Pending consolidation footer** — when `pending_consolidation_count > 0`, note `N facts await dream-cycle consolidation` so the operator can decide whether to run `gbrain dream` before reading further.
The `--since-last-run` flag advances `~/.gbrain/recall-cursors/<source>.json` so the next briefing picks up exactly where this one left off. If you're running this as a cron job, pass `--source <slug>` or set `GBRAIN_SOURCE` explicitly — cron doesn't start in your repo-root cwd, so dotfile resolution may miss the right source. Thin-client installs (`gbrain init --mcp-only`) route through the remote brain transparently.
0e. **Open loops (when google sources exist).** Pull who is waiting on the user and what they promised:
gbrain waiting --json
Fold the top counterparties (what's owed, due dates, evidence quotes, deep links) into the ACTION ITEMS section — these are real loop rows, not inferred follow-ups, so they outrank prose heuristics. `waiting` refuses on stale google sources (no successful sync in 24h) and names the exact fix — that's by design: run the sync it names, then retry (see `skills/google-loops/SKILL.md`).
Phases
1. **Today's meetings.** For each meeting on the calendar:
- Search gbrain for each participant by name
- Read their pages from gbrain for compiled_truth context
- Summarize: who they are, recent timeline, relationship to you
2. **Active deals.** List deal pages in gbrain filtered to active status:
- Deadlines approaching in the next 7 days
- Recent timeline entries (last 7 days)
3. **Time-sensitive threads.** Open items from timeline entries:
- Items with deadlines in the next 48 hours
- Follow-ups that are overdue
4. **Recent changes.** Pages updated in the last 24 hours:
- What changed and why (read timeline entries from gbrain)
5. **People in play.** List person pages in gbrain sorted by recency:
- Updated in last 7 days
- Have high activity (many recent timeline entries)
6. **Stale alerts.** From gbrain health check:
- Pages flagged as stale that are relevant to today's meetings
GBrain-Native Context Loading
Before generating any briefing, load context from gbrain systematically.
Before a meeting
For every attendee on the calendar invite:
- Find their brain page by an exact match only: `gbrain whois <email> --json`,
then `gbrain whois "<name>" --json` when the address has no match; exactly one match counts ([identity rule](../conventions/brain-first.md#identity-exact-match)). A search's top hit is not the attendee.
- `gbrain get <slug>` -- load compiled truth, recent timeline, relationship context
- If no page exists, note the gap ("No brain page for alice-example -- consider enrichment")
Before an email reply
Before drafting or triaging any email:
- Resolve the sender with `gbrain whois <add
Read more
name: briefing version: 1.3.0 description: Compile daily briefing with meeting context, active deals, and citation tracking triggers: - "daily briefing" - "morning briefing" - "what's happening today" - "brain pulse" - "pre-briefing pull" tools: - search - query - get_page - list_pages - get_timeline mutating: false upstream: briefing@fc834ee
Briefing Skill
Compile a daily briefing from brain context.
> **Filing rule:** When the briefing creates or updates brain pages, > follow `skills/_brain-filing-rules.md`.
Contract
- Every fact in the briefing includes an inline `[Source: slug, updated DATE]` citation.
- Meeting participants are resolved against the brain; gaps are explicitly flagged.
- Active deals and action items include deadlines and recency context.
- The briefing is read-only: no brain pages are created or modified unless the user explicitly requests it.
- Stale alerts surface pages relevant to today's context, not just all stale pages.
Pre-Briefing Context Pull
Run these BEFORE composing the briefing sections. All four pulls are read-only.
0a. **Salience scan.** Surface pages with high emotional or activity salience:
gbrain salience --days 7
Returns pages ranked by emotional weight and recent activity. Fold the top 5-10 into the briefing under a "High-Salience Pages" section — these are the entities and topics that are emotionally or operationally hot right now. Use this to prioritize which meetings/deals/people get the most briefing depth.
0b. **Anomaly detection.** Surface statistical anomalies in the brain:
gbrain anomalies
Defaults to today against a 30-day baseline; widen with `--lookback-days N` or lower the threshold with `--sigma 2`. Flags cohorts (by tag, by type) whose activity broke from their normal cadence — sudden spikes in mentions or pages updating far off their usual rhythm. Add hits to an "Anomalies" section after the brain pulse.
0c. **Personal recall.** Check stored personal facts and preferences before composing:
gbrain recall --query "current priorities and preferences" --json
Use recall to pull personal context — dietary preferences, communication preferences, prior commitments or promises made. This prevents the briefing from contradicting things the user has previously stated or decided.
0d. **Hot memory pulse (v0.32).** Before composing anything else, run:
gbrain recall --since-last-run --supersessions --pending --rollup --json
Fold the result into the briefing under a "Brain pulse" section at the top: 1. **Contradictions resolved overnight** — the `--supersessions` output. Lead with these because they're new corrections to your model of the world. 2. **Top mentions** — `top_entities` from `--rollup` (top 5 entity slugs by fact count in the window). 3. **New facts since last briefing** — group the `facts` array under each entity from the rollup; include `kind`, `notability`, and `confidence`. 4. **Pending consolidation footer** — when `pending_consolidation_count > 0`, note `N facts await dream-cycle consolidation` so the operator can decide whether to run `gbrain dream` before reading further.
The `--since-last-run` flag advances `~/.gbrain/recall-cursors/<source>.json` so the next briefing picks up exactly where this one left off. If you're running this as a cron job, pass `--source <slug>` or set `GBRAIN_SOURCE` explicitly — cron doesn't start in your repo-root cwd, so dotfile resolution may miss the right source. Thin-client installs (`gbrain init --mcp-only`) route through the remote brain transparently.
0e. **Open loops (when google sources exist).** Pull who is waiting on the user and what they promised:
gbrain waiting --json
Fold the top counterparties (what's owed, due dates, evidence quotes, deep links) into the ACTION ITEMS section — these are real loop rows, not inferred follow-ups, so they outrank prose heuristics. `waiting` refuses on stale google sources (no successful sync in 24h) and names the exact fix — that's by design: run the sync it names, then retry (see `skills/google-loops/SKILL.md`).
Phases
1. **Today's meetings.** For each meeting on the calendar:
- Search gbrain for each participant by name
- Read their pages from gbrain for compiled_truth context
- Summarize: who they are, recent timeline, relationship to you
2. **Active deals.** List deal pages in gbrain filtered to active status:
- Deadlines approaching in the next 7 days
- Recent timeline entries (last 7 days)
3. **Time-sensitive threads.** Open items from timeline entries:
- Items with deadlines in the next 48 hours
- Follow-ups that are overdue
4. **Recent changes.** Pages updated in the last 24 hours:
- What changed and why (read timeline entries from gbrain)
5. **People in play.** List person pages in gbrain sorted by recency:
- Updated in last 7 days
- Have high activity (many recent timeline entries)
6. **Stale alerts.** From gbrain health check:
- Pages flagged as stale that are relevant to today's meetings
GBrain-Native Context Loading
Before generating any briefing, load context from gbrain systematically.
Before a meeting
For every attendee on the calendar invite:
- Find their brain page by an exact match only: `gbrain whois <email> --json`,
then `gbrain whois "<name>" --json` when the address has no match; exactly one match counts ([identity rule](../conventions/brain-first.md#identity-exact-match)). A search's top hit is not the attendee.
- `gbrain get <slug>` -- load compiled truth, recent timeline, relationship context
- If no page exists, note the gap ("No brain page for alice-example -- consider enrichment")
Before an email reply
Before drafting or triaging any email:
- Resolve the sender with `gbrain whois <add
Other skills on gbrain.
More skills from other plugins.
agent-cost-report
Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude…
bot-handoff
Keep a durable record of work passed between Bots in the shared Hindsight memory bank. Use when handing work to another Bot, when…
mempalace
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…
mempalace
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…
Questions about briefing.
- Which coding agents can use briefing?
- briefing installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

