/briefing
Compile daily briefing with meeting context, active deals, and citation tracking
$ npx -y skills add garrytan/gbrain --skill briefing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/briefing
Context preview
The summary Claude sees to decide when to auto-load this skill.
Compile daily briefing with meeting context, active deals, and citation tracking
SKILL.md
briefing.SKILL.mdname: briefing
description: Compile daily briefing with meeting context, active deals, and citation tracking
triggers:
- "daily briefing"
- "morning briefing"
- "what's happening today"
tools:
- search
- query
- get_page
- list_pages
- get_timeline
mutating: false
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.
Phases
0. **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.
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:
- `gbrain search "<attendee name>"` -- find their brain page
- `gbrain get <slug>` -- load compiled truth, recent timeline, relationship context
- If no page exists, note the gap ("No brain page for Sarah Chen -- consider enrichment")
Before an email reply
Before drafting or triaging any email:
- `gbrain search "<sender name>"` -- load sender context
- Read their compiled truth to understand who they are, what they care about, and
your relationship history. This turns a cold reply into an informed one.
Daily briefing queries
Run these queries to populate the briefing sections:
- `gbrain query "active deals status"` -- deal pipeline snapshot
- `gbrain query "meetings this week"` -- recent meeting pages with insights
- `gbrain query "pending commitments follow-ups"` -- open threads and action items
- `gbrain search --type person --sort updated --limit 10` -- people in play
Output Format
DAILY BRIEFING -- [date]
========================
MEETINGS TODAY
- [time] [meeting name]
Participants: [name] (slug: people/name, [key context])
ACTIVE DEALS
- [deal name] -- [status], deadline: [date]
Recent: [latest timeline entry]
ACTION ITEMS
- [item] -- due [date], related to [slug]
RECENT CHANGES (24h)
- [slug] -- [what changed]
PEOPLE IN PLAY
- [name] -- [why they're active]
Back-Linking During Briefing
If the briefing creates or updates any brain pages (e.g., new meeting prep pages, updated entity pages), the back-linking iron law applies: every entity mentioned must have a back-link from their page. See `skills/_brain-filing-rules.md`.
Citation in Briefings
When presenting facts from brain pages, include inline citations:
- "Jane is CTO of Acme [Source: people/jane-doe, updated 2026-04-01]"
- This lets the user trace any claim back to the brain page and assess freshness
Anti-Patterns
- **Briefing without brain queries.** Never generate a briefing from memory alone; always query gbrain for current data.
- **Uncited facts.** Every claim must include `[Source: slug, updated DATE]`. A fact without a citation is unverifiable.
- **Stale context presented as current.** If a page hasn't been updated in 30+ days, flag the staleness explicitly rather than presenting it as fresh.
- **Modifying brain pages unprompted.** The briefing is read-only by default. Do not create or update pages unless the user explicitly requests it.
- **Ignoring coverage gaps.** When a meeting participant has no brain page, say so. Silence about gaps hides ignorance.
Tools Used
- Search gbrain by name (query)
- Read a page from gbrain (get_page)
- List pages in gbrain by type (li
Read more
name: briefing description: Compile daily briefing with meeting context, active deals, and citation tracking triggers: - "daily briefing" - "morning briefing" - "what's happening today" tools: - search - query - get_page - list_pages - get_timeline mutating: false
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.
Phases
0. **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.
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:
- `gbrain search "<attendee name>"` -- find their brain page
- `gbrain get <slug>` -- load compiled truth, recent timeline, relationship context
- If no page exists, note the gap ("No brain page for Sarah Chen -- consider enrichment")
Before an email reply
Before drafting or triaging any email:
- `gbrain search "<sender name>"` -- load sender context
- Read their compiled truth to understand who they are, what they care about, and
your relationship history. This turns a cold reply into an informed one.
Daily briefing queries
Run these queries to populate the briefing sections:
- `gbrain query "active deals status"` -- deal pipeline snapshot
- `gbrain query "meetings this week"` -- recent meeting pages with insights
- `gbrain query "pending commitments follow-ups"` -- open threads and action items
- `gbrain search --type person --sort updated --limit 10` -- people in play
Output Format
DAILY BRIEFING -- [date] ======================== MEETINGS TODAY - [time] [meeting name] Participants: [name] (slug: people/name, [key context]) ACTIVE DEALS - [deal name] -- [status], deadline: [date] Recent: [latest timeline entry] ACTION ITEMS - [item] -- due [date], related to [slug] RECENT CHANGES (24h) - [slug] -- [what changed] PEOPLE IN PLAY - [name] -- [why they're active]
Back-Linking During Briefing
If the briefing creates or updates any brain pages (e.g., new meeting prep pages, updated entity pages), the back-linking iron law applies: every entity mentioned must have a back-link from their page. See `skills/_brain-filing-rules.md`.
Citation in Briefings
When presenting facts from brain pages, include inline citations:
- "Jane is CTO of Acme [Source: people/jane-doe, updated 2026-04-01]"
- This lets the user trace any claim back to the brain page and assess freshness
Anti-Patterns
- **Briefing without brain queries.** Never generate a briefing from memory alone; always query gbrain for current data.
- **Uncited facts.** Every claim must include `[Source: slug, updated DATE]`. A fact without a citation is unverifiable.
- **Stale context presented as current.** If a page hasn't been updated in 30+ days, flag the staleness explicitly rather than presenting it as fresh.
- **Modifying brain pages unprompted.** The briefing is read-only by default. Do not create or update pages unless the user explicitly requests it.
- **Ignoring coverage gaps.** When a meeting participant has no brain page, say so. Silence about gaps hides ignorance.
Tools Used
- Search gbrain by name (query)
- Read a page from gbrain (get_page)
- List pages in gbrain by type (li
Search gives you raw pages. GBrain gives you the answer. It's the brain layer your AI agent has been missing — the only one that does synthesis, graph traversal, and gap analysis in one box.
Repo: garrytan/gbrain
Other skills on gbrain.
- /voice-persona-mars
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
Open skill - /voice-persona-venus
Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
Open skill - /voice-post-call
Post-call handling for a voice session — turn the transcript into a brain page, post the summary to the operator's messaging surface, archive the audio. Belt-and-suspenders: fires both from a tool the voice persona can call mid-call AND from the automatic call-end handler in
Open skill - /retrieval-reflex
When/what to retrieve — open the brain page for a salient entity before answering from memory.
Open skill - /academic-verify
Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a
Open skill - /archive-crawler
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml
Open skill

