briefing
Briefing formatting guidelines for chat messages
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Briefing formatting guidelines for chat messages
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Calendar operations with CalDAV
Git repository management, GitLab merge requests, and GitHub pull requests
Location tracking, place recognition, visit history, and calendar attendance
Persistent memory writes โ USER.md (behavioral) and the knowledge graph (facts).
Accounting operations (ledger, invoicing, transactions, work log, investment portfolio) โ runs in-process via the vendored money package
Send a push notification to the user's configured ntfy device(s). One-way (bot to phone), no reply channel.
| name | briefing |
| description | Briefing formatting guidelines for chat messages |
| exclude_memory | true |
| exclude_persona | true |
| source_types | ["briefing"] |
| exclude_skills | ["email"] |
Briefings must be returned as a JSON object: {"body": "<content>"}. The body contains the full briefing text, one section per block, using \n for newlines. Do not output anything outside the JSON object. Do not write a title or subject line for the briefing as a whole โ the delivery layer supplies it. Do not send emails or use email commands โ delivery is handled by the scheduler.
The body is formatted for chat messages (markdown). Title each section with its block's title exactly as given โ the title may already include an emoji, in which case keep it; if it doesn't, do not add one. Only include sections that have data.
The prompt presents the briefing's content grouped into blocks, each with a title and its gathered source data (tagged by provenance). Produce one section per block, titled with the block's title verbatim (emoji only if the title itself carries one โ never invent one), in the exact order the blocks appear. Honor any per-block synthesis directive (story counts, tone, "include verbatim"). Omit a block that has no content โ never emit an empty header. Do not reorder sections to match the order data happened to arrive within a block.
A block may fan in several sources of different kinds (newsletters, RSS entries, a browsed frontpage, structured market/calendar data). Synthesize them into one coherent section: merge stories that recur across sources into a single entry with combined attribution, rather than stacking each source as its own sub-list. A source marked as pre-formatted / "include as-is" (market quotes, calendar events, a pre-selected reminder) must be reproduced verbatim โ do not reword its numbers, quotes, or details.
Apply the formatting below by content type โ a block's title names the section; its sources' content determines which of these patterns fits.
News (newsletters + frontpages)
General news โ politics, world events, policy, science, tech (non-market). Keep a global perspective. Lead with items that recur across multiple sources. One short paragraph per story (two or three sentences), bold uppercase topic, source attribution in brackets at the end. Place a story by topic โ tariff policy is news, its market impact is a markets item.
Link each source in the attribution to the specific article it came from when the prompt gives that source an article URL. Two shapes carry one: an RSS/feed item ends in [article: <url>], and a newsletter body has its links inline as markdown [text](url). Make the source name a markdown link to that URL; keep the surrounding brackets. In a newsletter, use the link on the story you're summarizing โ not the newsletter's home page, web-version, or "read more from us" link; if a story has no link of its own, leave that source plain. Use a plain-text source name when no URL is available (browsed frontpages have none). Never invent, guess, or reuse a URL for a source that didn't provide one โ a plain [Source] is correct there.
<news_example> IRAN-US TENSIONS ESCALATE: Iran's foreign minister warned that Tehran's forces have their "fingers on the trigger" as Trump threatened a "massive Armada" heading toward Iran. The EU is expected to add Iran's Revolutionary Guard to its terror blacklist. [Semafor, NYT] </news_example>
Here Semafor's item carried an article URL so its name links to it; NYT stays plain text because its newsletter carried no link for that story. A story appearing in both a frontpage and a newsletter is one entry with combined attribution: [AP, Semafor], linking whichever sources supplied a URL.
Markets
One line per quote with a ๐ข/๐ด/โช indicator based on change direction, bold the name: ๐ข S&P 500 E-mini: 6,104.75 (+30.25, +0.50%) ๐ด Nasdaq 100 E-mini: 21,857.50 (-45.00, -0.21%) Copy the pre-fetched quote data exactly, preserving all numbers. No commentary. On weekends, quotes may be omitted. After quotes, summarize market/economic news (earnings, central-bank moves, sectors, commodities, data) โ short paragraphs, bold topic, bracketed attribution. Evening briefings include pre-formatted FinViz sections (headlines, movers, futures, forex/bonds, economic data, earnings) โ copy them as-is, in that order, within the markets section.
Calendar
Bullet list of events with times in the user's local timezone. Bold the event name.
Todos
Bullet list of pending items, copied verbatim.
Notes
Bullet list of relevant agenda items or reminders from the notes content.
Reminder
Copy any pre-selected reminder in the prompt verbatim โ do NOT generate, paraphrase, or replace it. Use italic for emphasis; keep any attribution. Never read reminder files yourself; if no reminder is provided, omit the section.
Derive source names from the provenance tags / "From:" headers: domain senders use the capitalized domain (semafor.com โ Semafor), email senders a recognizable short name (briefing@nytimes.com โ NYT, markets@wsj.com โ WSJ Markets), frontpages the source name (AP News โ AP, Financial Times โ FT). Format: [Source] or [Source, Source] at the end of the paragraph.
When a story is drawn from an item that carried an article URL โ [article: <url>] after an RSS/feed item, or an inline [text](url) link in a newsletter body โ make that source name a markdown link to the URL: [[Semafor](https://โฆ)]. For a newsletter, take the link belonging to that story; ignore its unsubscribe / web-version / social links. Link only the sources that supplied a URL โ leave the rest plain text, and never fabricate a URL. Only the news section links attributions this way; markets/calendar/todos/notes/reminder attributions stay as-is.