---
name: daily-news-brief
description: A twice-daily breaking-news brief — 🌍 Global, 💼 Business & Markets (with a live Market Glance), 🤖 AI, 🇹🇭 Thailand — with strict fresh-only coverage windows, exact BKK timestamps, and a "what it means" takeaway. Delivered to the Claude app by a cloud routine at 9 AM & 11 PM Bangkok.
---

# Daily News Brief

A twice-daily **breaking-news** digest delivered to the **Claude app**, generated by a scheduled **Claude cloud routine** ("Daily News Brief") that fires at **9:00 AM and 11:00 PM Bangkok time**. Every story is plain-language, tagged with its exact Bangkok publication time, and followed by a short, simple "what it means" that ends with our own call on what happens next. **Keep it simple and easy to read** — no jargon, no run-on sentences. **Freshness is priority #1** — each run covers only news inside a strict, non-overlapping window.

## Categories
1. 🌍 **Global** — biggest breaking world news
2. 💼 **Business & Markets** — a **Market Glance** (always shown) + **Breaking Business** (only when real)
3. 🤖 **AI** — top artificial-intelligence news
4. 🇹🇭 **Thailand** — top Thailand / Bangkok news

Target **3–5 breaking stories** per category — fewer if quiet (down to "No major … news in this window"), more if a lot is breaking. Never padded.

## Coverage windows (Bangkok, strict & non-overlapping)
- **Morning** (before noon): yesterday **11:00 PM → now (~9:00 AM)**
- **Evening** (noon or later): today **9:00 AM → now (~11:00 PM)**

Each story appears in only ONE brief.

## Format (plain text, no markdown)
```
📰 YOUR DAILY BRIEF — <Weekday DD Mon YYYY>, <time> BKK

🌍 GLOBAL
1. <Headline> (🕐 <exact date + clock time BKK>)
   📰 Story: <ONE short, focused sentence that sums up the story>
   💡 What it means: <2–3 short sentences; the LAST sentence is OUR call on what happens next>
   (source-domain.com)

💼 BUSINESS & MARKETS
📊 MARKET GLANCE (as of <time> BKK)      ← ALWAYS shown, even on a quiet day
   Six sub-sections, each written as a mini market-NEWS item:
   1) US STOCKS & RATES  2) CRYPTO  3) GOLD  4) FOREX  5) OIL  6) GLOBAL EQUITY MARKETS
   <LABEL> — <news headline> (🕐 <exact date + clock time BKK>)
      📰 Story: <ONE short sentence: what's driving it, with the live level + % move + (as of <time> BKK)>
      💡 What it means: <2–3 short sentences; the LAST sentence is OUR call on what happens next>
      (source-domain.com)
📈 BREAKING BUSINESS
1. <Headline> (🕐 <exact date + clock time BKK>)
   📰 Story: <ONE short sentence>
   💡 What it means: <2–3 short sentences; LAST sentence is OUR call on what happens next>
   (source-domain.com)
   <aim for ≥1 story; if nothing is truly breaking, 1 notable business story is fine; only if genuinely nothing → "No major breaking business news in this window">

🤖 AI
1. <Headline> (🕐 <exact date + clock time BKK>)        (then 📰 Story / 💡 What it means / source)

🇹🇭 THAILAND
1. <Headline> (🕐 <exact date + clock time BKK>)        (then 📰 Story / 💡 What it means / source)
```

## Rules
- **ACCURACY IS #1 — take the time, don't rush.** Every fact, name, and number must be correct and current. **Double-check market prices, especially Bitcoin**, against a live source (WebFetch on CoinGecko/Coinbase/finance pages) — never a stale search snippet. Better a few minutes late than wrong. Search as thoroughly as needed; do NOT cap the number of searches.
- **Market price timestamps:** every one of the 6 Market Glance prices shows the exact BKK time it was captured, e.g. `Bitcoin is $65,300, +2.1% (as of 10:42 PM BKK)`.
- **Sources — cast a wide net.** Reputable outlets **and** social media / forums (Reddit, X/Twitter, YouTube) are all fair game; verify a social claim before using it. Every item cites its source.
- 3–5 breaking stories per category (fewer if quiet, more if busy); the **Market Glance is exempt** — always shows all 6 sub-sections, each a mini market-news item (headline + 1 Story sentence with the live level/move + timestamp + a 2–3-sentence "What it means" + source).
- **Breaking Business: always try for at least 1 story** — if nothing is truly breaking, one notable business story is enough; only fall back to "No major breaking business news in this window" if there's genuinely nothing.
- **READING LEVEL — write for a middle-school student (age ~12-14).** Simple everyday words, easy to read at a glance. Avoid jargon; if a special term is needed (the Fed = the US central bank, tariff = import tax, ceasefire, bond yields, inflation), explain it in a few plain words. Be **precise and concrete** — exact who, what, and how much — never vague.
- **LABELS — for readability.** Every item has two labeled parts on their own lines: **`📰 Story:`** for the 1-sentence summary, then **`💡 What it means:`** for the takeaway. This keeps them visually separate instead of blending into one paragraph. No blank line between the two; source on its own line right after; blank line between stories.
- **SHORT & FOCUSED — this is the #1 style rule.** Keep **every sentence very short** — about **6–12 words**, one idea per sentence, simple everyday words; cut every extra word, no run-on sentences. Counts: the `📰 Story:` is **exactly 1 sentence**; the `💡 What it means:` is **2–3 sentences**, and the **LAST sentence is OUR OWN call on what happens next**. Applies to every news story AND every Market Glance item.
- **Exact BKK timestamps on EVERY headline in EVERY category** — Global, all 6 Market Glance items, Breaking Business, AI, and Thailand each end with `(🕐 <date + clock time BKK>)`. (Market Glance items also carry the `(as of <time> BKK)` price stamp.) Reject any story you can't time-stamp or that falls outside the window.
- **Quality:** hard news only — skip sports, entertainment, listicles/rankings, roundups. The sports exclusion means sports-**as**-sports (scores, results, match recaps); genuinely **breaking** hard news at or around a sporting event (crime, violence, disaster, security, casualties) IS allowed. Thailand tries hard but never pads with filler.
- Never invent facts/numbers/headlines; never repeat a previous-window story; plain text only.

## How it runs (cloud-only)
- **Delivery: the Claude app**, via a **Claude cloud routine** (`trig_01HBLwnFpMz1AYpNEp6GzG95`).
- Schedule: cron `0 1,15 * * *` UTC — fires at **8:00 AM & 10:00 PM Bangkok**, ~1 hr before the 9:00/11:00 target. **Accuracy is prioritized over speed**, so it researches thoroughly (no search cap) and takes ~40–60 min; the early fire absorbs that so it still lands near 9:00/11:00. Model `claude-sonnet-4-6`. Cloud timing has jitter, so this targets ~9:00/11:00, not to-the-second; nudge the cron minute to fine-tune.
- It gathers the news **and** the Market Glance figures via **WebSearch + WebFetch** (live price sources — CoinGecko/Coinbase for Bitcoin, Google/Yahoo/Investing for indices, gold, oil, forex) — no local machine needed — and posts the brief to the Claude-app conversation. Bitcoin and all prices are double-checked and timestamped.

## Retired: the Mac / iMessage path
This originally also ran locally on a Mac (Google News RSS + Yahoo Finance/CoinGecko → `claude` CLI → iMessage, `bin/generate-and-send.sh`). That path was **retired** because macOS can't reliably *generate* the brief with the lid closed — DarkWake throttles the streaming API call (it stalled ~1 hr and returned an `ECONNRESET`). The cloud routine is now the sole delivery.
- The script stays in the repo for **local preview only**: `bin/generate-and-send.sh` generates and prints a brief (sends nothing), using live Yahoo Finance/CoinGecko for the Market Glance.
