Skip to main content

Overview

A good butler reads every paper at dawn so you don’t have to. He throws out the gossip, double-checks the headlines against each other, and at breakfast hands you a single card: here is what actually happened, here is what’s still unconfirmed, here is who said it. No firehose. No doomscroll. Just the truth, filtered to what you care about. That’s this use case. You give Wolffish a list of topics — your beats — and it does an exhaustive sweep of the publicly available web for everything major that happened in the last 7 days, up to and including today. Then it does the part a feed never does: it cross-checks every significant claim against other outlets before printing it, flags what’s single-sourced or disputed, and runs a quick background check on each outlet it cites — what they are, where they’re based, who owns them, which way they lean, whether the industry trusts them. The result is one clean, modern, color-coded PDF with an executive summary up top, easy-to-digest numbers and charts, and just enough text — thorough where a story earns it, a single tight line everywhere else. The point is that you shouldn’t have to look anything else up. Open the PDF, read the executive summary in a minute, skim the color-coded sections, and you’re caught up on your world — with a clear signal next to every item telling you how much to trust it.
This is a read-only research workflow — web search and file generation only. It doesn’t post, send, click through your accounts, or touch your system. That also makes it a great heartbeat candidate: a fresh briefing waiting for you every morning.

Video Walkthrough

What Makes This a Butler, Not a Feed

Three things separate this from a generic “summarize the news” prompt:

Exhaustive on what matters

It keeps searching each topic until new searches stop surfacing new major stories — so you don’t miss anything significant — while ruthlessly cutting filler, SEO spam, and recycled wire copy.

Trusts nothing unverified

Every significant claim is cross-checked across independent outlets. Each story carries a badge: corroborated, single-source, or disputed — with the contradicting numbers shown side by side when outlets disagree.

Knows the messenger

A quick background check on every outlet cited — what it is, HQ, public or private, owner, rough revenue, political lean, and how trusted it is — so you can weigh the source, not just the story.
It all lands in one PDF, designed to be read in five minutes, not a wall of text you’ll never finish.

Capabilities Required

  • web-search — the engine of the whole thing. web_search runs the exhaustive multi-query sweep across your topics; web_fetch opens and reads the actual articles so claims are judged from full text, not snippets — and powers the cross-verification and the source background checks.
  • shell — renders the finished briefing. The agent writes styled HTML and prints it to PDF through a headless browser (Playwright/Puppeteer via npx) — the same pipeline behind PDFs Everywhere and CV Tailor. No LaTeX, no Word, no third-party PDF API.
That’s it — no computer-use, no OAuth, no destructive commands. Everything is read-only research plus writing one file. Everything ships with Wolffish.

Setup

Read the general Setting Up for Success guide first — what’s below is specific to this workflow. What matters here is reasoning effort, not price. The hard part isn’t summarizing — it’s judgment: deciding whether two outlets are independently confirming a story or just rerunning the same wire, spotting when death tolls or dollar figures don’t match, and weighing a source’s reliability. You want a model that deliberates.
  • DeepSeek V4 Pro on Max reasoning mode — the recommendation. Frontier-class agentic reasoning and tool-use reliability at a fraction of the cost, and Max mode gives it the full reasoning budget to make the “are these really independent sources?” calls instead of guessing. Set the reasoning effort to Max in Settings > Models. See DeepSeek configuration.
  • Claude Opus / Sonnet 4.x — strong alternatives if you’re on Anthropic; Opus is the most careful at the corroborated-versus-disputed boundary, at 10–20× the price.
  • Avoid low-effort configs for the verification pass — DeepSeek Flash, any model on None reasoning mode, or Haiku. They’re fine for a quick digest, but the whole value of a butler is the checking — and that’s exactly where a model that doesn’t deliberate will wave through a rumor.

Required

  • Wolffish installed and running — the desktop app with a configured brain workspace.
  • A capable cloud API key — DeepSeek (V4 Pro) recommended, or Anthropic (Claude); configured in Settings > Models.
  • Brave Search API key — configured in Settings > Services > Brave Search. This is “optional” for the lighter PDF prompts, but for an exhaustive seven-topic sweep with cross-verification it’s close to essential: the workflow fires dozens of searches, and the default search will rate-limit partway through and leave gaps. With a Brave key, Wolffish prefers it automatically and the sweep runs clean. The free tier is plenty for a daily run.

Optional

  • filesystem — for a cleaner audit trail when writing the HTML and saving the PDF (the shell pipeline works without it).
  • A headless browser — Wolffish installs Playwright/Puppeteer on first use if neither is present. Having npm/npx on your PATH makes that instant.

What the Butler Tracks

These are the default beats baked into the prompt — the topics in this example. Each becomes its own color-coded section in the PDF. Swap them for your own (see Customize It).
#TopicScopeSection color
1Saudi ArabiaAnything major at the country level — policy, economy, Vision 2030 / NEOM / PIF / Aramco, diplomacy, major national eventsEmerald
2AI industryMajor news and breakthroughs of any kind — model releases, research milestones, landmark funding, big lab moves, regulationIndigo
3Fable 5The situation around Fable 5 being blocked in the US, and what Anthropic actually did about it — what happened, when, why, and the company’s responseAmber
4GamingMajor industry news only — blockbuster announcements, release dates, big studio/publisher moves, major acquisitions or shutdownsViolet
5Anime, TV & moviesMajor news only — big announcements, major releases, renewals/cancellations, notable box-office or streaming milestonesRose
6Elon Musk & SpaceXMajor Musk news, and especially any SpaceX IPO developments — filings, timing, valuation, official statementsTeal
7USA / Israel / IranThe conflict — strikes, escalation or de-escalation, diplomacy and talks, ceasefire status, US involvement, major casualtiesCrimson

The Verification Model

This is the heart of the butler. Every significant claim gets a badge, and the badge means something precise:

Corroborated

Two or more independent outlets report the same core facts. Syndication doesn’t count — three sites rerunning one AP wire is one source, not three. The butler looks for genuinely separate reporting.

Single-source / developing

Only one outlet has it, or it’s thin and early. It’s printed — you should know it exists — but flagged so you treat it as a lead, not a fact.

Disputed

Outlets contradict each other on the facts or the numbers. Both versions are shown, with who said which, so you can see the disagreement instead of being handed one side of it.
When figures differ between outlets — death tolls, dollar amounts, dates, valuations — the butler gives you the range and notes who disagrees, preferring the primary source’s number. Primary sources (official announcements, filings, government statements) outrank commentary about them.

The Prompt

Send this to Wolffish on-demand, or put it on your heartbeat. It’s long because “exhaustive, verified, and beautifully laid out” is a real contract — every block below earns its place. The topics in the middle are the only part you’ll routinely change.
You are my News Butler. Your job: make sure I know
EVERYTHING that matters to me that happened in the last 7
days — up to and including today — across the exact topics
I care about, and nothing I don't. Be exhaustive on what's
major; be ruthless about cutting filler. Then deliver it as
ONE clean, modern PDF I can read in five minutes.

Work like an old-school news desk with a trusted editor:
gather widely, then TRUST NOTHING until you've checked it
against other outlets. You are the person who knows
everyone, reads everything, and verifies the truth before
printing it.

FIRST, fix the window. Run `date +%F` to get today. The
window is the last 7 days through today. Anything older
than 7 days is out — unless it's the one line of backstory
needed to understand something that broke this week.

=== TOPICS I CARE ABOUT (each is its own PDF section) ===
1. SAUDI ARABIA — anything major at the country level:
   policy, economy, Vision 2030 / NEOM / PIF / Aramco,
   diplomacy, major national events.
2. AI INDUSTRY — major news and breakthroughs of any kind:
   model releases, research breakthroughs, landmark
   funding, big lab/company moves, regulation.
3. FABLE 5 — the situation around Fable 5 being blocked in
   the US, and what Anthropic (the company) actually did
   about it. Find what happened, when, why, and Anthropic's
   official response and actions. If you cannot confirm it,
   say so plainly — do NOT invent or assume it.
4. GAMING — major industry news only: blockbuster game
   announcements, release dates, big studio/publisher
   moves, major acquisitions or shutdowns.
5. ANIME, TV & MOVIES — major news only: big
   announcements, major releases, renewals/cancellations,
   notable box-office or streaming milestones. Skip minor.
6. ELON MUSK & SPACEX — major Musk news, and ESPECIALLY any
   SpaceX IPO developments (filing, timing, valuation,
   official statements).
7. USA / ISRAEL / IRAN — the conflict: military strikes,
   escalation or de-escalation, diplomacy and talks,
   ceasefire status, US involvement, major casualties.

=== HOW TO RESEARCH (exhaustive, then verified) ===
For EACH topic run several web searches — a broad one plus
specific angles — e.g. "<topic> news this week", "<topic>
latest <current month year>", plus the named sub-topics
above. Keep searching until new searches stop turning up
NEW major items (diminishing returns). That is what
"exhaustive" means here: not every blog post, but nothing
significant missed. Then OPEN and READ the actual articles
with web_fetch — never judge a story from the snippet.

ONLY use free, publicly accessible sources. Good general
ones: Reuters, AP News, BBC, Al Jazeera English, The
Guardian, NPR, CNBC, The Verge, Ars Technica, TechCrunch,
VentureBeat, Arab News, Al Arabiya, IGN, GameSpot,
Eurogamer, Variety, The Hollywood Reporter, Anime News
Network, Space.com, and official company / government
pages. Prefer PRIMARY sources (official announcements,
filings, government statements) whenever they exist.

DO NOT fetch paywalled sites — Bloomberg, WSJ, NYT,
Financial Times, The Information, The Athletic. They return
403 and waste time; skip to the next result. Skip SEO spam,
content farms, and AI-generated rewrites with no original
reporting.

=== VERIFY LIKE YOU DON'T TRUST ANYONE ===
For every significant claim, cross-check it across outlets
before printing, and tag it:
- CORROBORATED (green): two or more INDEPENDENT outlets
  report the same core facts. Syndication does NOT count —
  if several sites rerun the same wire story, that is ONE
  source. Look for genuinely separate reporting.
- SINGLE-SOURCE / DEVELOPING (amber): only one outlet has
  it, or it's thin/early. Print it, but flag it.
- DISPUTED (red): outlets contradict each other on facts or
  numbers. Show BOTH versions and who says which.
When numbers differ (death tolls, dollar amounts, dates,
valuations), give the RANGE and say who disagrees; prefer
the primary source's figure and note who departs from it.

=== SIZE UP THE MESSENGER (minimal, not a deep dive) ===
For each outlet you END UP CITING, do ONE quick lookup —
not an investigation — and grab whatever is readily
available:
- what it is (wire service, newspaper, trade site, blog)
  and HQ location / country
- public or private, and who owns it (parent company)
- rough annual revenue, if it's publicly known
- editorial leaning — left / center / right — per
  reputable media-bias references, labeled approximate
- industry standing — widely trusted, mixed, or low-trust
- if it's quick: a one-line note on the article's author
  (who they are, what they cover)
One look per outlet, grab what's there, move on. Do NOT
rabbit-hole. If something isn't readily available, leave it
blank — never guess.

=== NOW BUILD THE PDF ===
Write it as styled HTML, then render to PDF with a headless
browser. Save to the workspace as news-butler-YYYY-MM-DD.pdf
(today's date).

Design: clean, modern, minimal, COLOR-CODED, skimmable in
five minutes. Default to MINIMAL TEXT — earn every sentence.
Most stories are ONE tight summary line; write a real
paragraph ONLY when a story genuinely needs it. Let badges,
numbers, and charts carry the load — not prose.

Use color to MEAN things, and include a small legend:
- Each of the 7 topic sections gets its own accent color
  (distinct, readable palette).
- Verification badge per story: green = corroborated, amber
  = single-source/developing, red = disputed.
- Source-leaning chips in the ledger: blue = left, gray =
  center, red = right (the OUTLET's editorial lean, labeled
  neutral/approximate). Keep these visually distinct from
  the red "disputed" badge.

Structure, in this order:
1. MASTHEAD — "NEWS BUTLER" large, the date window ("Week
   of <start> – <today>"), and a one-line tagline.
2. EXECUTIVE SUMMARY — the handful of things I MUST know
   this week, one tight line each, each tagged with its
   topic color and verification badge. If I read only this,
   I'm caught up. Keep it to the genuinely major.
3. BY THE NUMBERS — a compact dashboard of easy, useful
   figures with simple charts drawn as inline SVG or CSS
   bars (NO external chart libraries or CDNs — they may not
   load in headless render):
   - total major stories, # sources consulted, # claims
     cross-checked
   - bar chart: number of stories per topic
   - verification mix: % corroborated / single / disputed
     (stacked bar or donut)
   - source-leaning spread: left / center / right
     (diverging bar)
   Only charts that actually tell me something — no
   chart-junk, no decoration masquerading as data.
4. SEVEN TOPIC SECTIONS — in the order above, each in its
   accent color. Per story: headline, a one-line summary
   (paragraph only if warranted), the verification badge
   with a short "who confirms / who disputes" note, and the
   source outlet name(s). Add a one-line "why it matters"
   ONLY when it isn't obvious. If a topic had nothing major
   this week, say so in ONE line — do not pad it.
5. SOURCE TRUST LEDGER — one compact table of every outlet
   you cited: Outlet | What it is | HQ | Public/Private
   (owner) | Revenue (approx) | Leaning | Standing | Author
   note. Leave cells blank when unknown.
6. METHODOLOGY & CAVEATS — short: the exact window, how
   many searches and sources, what corroborated / disputed
   mean, that paywalled sources were skipped, and that the
   outlet profiles are a light touch, not full vetting.

Footer on every page: "Generated by Wolffish" left, "Page X
of Y" right.

=== WHEN DONE ===
Tell me three things: the single biggest story of the week,
anything DISPUTED I should stay skeptical about, and any
topic where you came up nearly empty — so I know it's quiet,
not missed.
The seven numbered topics are the only part you’ll change regularly. Everything else — the research discipline, the verification rules, the PDF design — stays exactly as-is. Treat the topics block as your config and leave the rest alone.

Customize It

Change any of these to make the butler yours:
WhatWhere in the promptIdeas
Your topicsThe 7 numbered topicsSwap in your own beats — Formula 1, biotech FDA approvals, your portfolio tickers, your city's local news, your competitors
Time windowthe last 7 dayslast 24 hours for a daily pulse, last 30 days for a monthly review
Trusted sourcesThe “Good general ones” listAdd the trade press for your field, regional outlets, or specific blogs you rely on
Verification strictnesstwo or more for greenRequire three independent outlets for green (stricter), or drop to one for speed
Source profilingThe “size up the messenger” blockTurn it off entirely for a faster run, or expand it into a fuller dossier per outlet
Accent paletteThe color rulesMap sections to your brand colors
LanguageAdd a line at the endWrite the entire PDF in Arabic — the headless-browser pipeline renders RTL cleanly

How It Works

The prompt drives a five-stage pipeline. Prefrontal loads the web-search and shell capabilities into context, the model fixes today’s date, and runs:
StageWhat happensOutput
1 — GatherExhaustive multi-query sweep per topic via web_search (Brave when configured), until new searches stop surfacing new major itemsA raw candidate list of stories per topic
2 — Readweb_fetch opens the actual articles — full text, not snippets — across multiple outlets per storyThe real content, ready to compare
3 — VerifyEach significant claim cross-checked across independent outlets; tagged corroborated / single-source / disputed; mismatched numbers reconciled to a rangeA trust badge on every story
4 — ProfileOne quick background lookup per cited outlet — what/where/owner/revenue/leaning/standing/authorThe source trust ledger
5 — Design & renderStyled, color-coded HTML with executive summary, dashboard charts, and seven sections → printed to PDF via headless browsernews-butler-YYYY-MM-DD.pdf
Hippocampus logs the run as an episode and Basalganglia records the outcome, so each briefing is kept for reference — handy when you want to diff this week against last.

What’s in the PDF

The output is engineered to be read top-to-bottom in five minutes, or skimmed by color in one:
SectionWhat it gives youWhy it’s there
MastheadTitle + the exact week window + dateYou know precisely what period this covers
Executive SummaryThe must-know items, one line each, color + badge taggedCaught up in 60 seconds if that’s all you read
By the NumbersStory counts, sources consulted, claims checked + chartsThe shape of the week at a glance — no reading required
7 Topic SectionsYour beats, color-coded, each story badged and sourcedThe substance — minimal text, maximum signal
Source Trust LedgerEvery outlet: what/where/owner/lean/standingWeigh the messenger, not just the message
MethodologyWindow, counts, what the badges mean, caveatsKnow how the sausage was made — and its limits

The Color System

Color does work in this PDF — it’s not decoration. Three independent color languages, each with its own legend:
Color useMeaningExample palette
Section accentWhich topic you’re readingEmerald = Saudi, Indigo = AI, Amber = Fable 5, Violet = Gaming, Rose = Anime/TV, Teal = Musk/SpaceX, Crimson = USA/Israel/Iran
Verification badgeHow much to trust the story🟢 Corroborated · 🟡 Single-source · 🔴 Disputed
Leaning chipThe outlet’s editorial lean🔵 Left · ⚪ Center · 🔴 Right (approximate, in the ledger only)

Example Run

Here’s the shape of a finished briefing. This is an illustrative example of the layout and tone — your real run pulls live stories for the actual week. Note how most items are a single line, the badges carry the trust signal, and the disputed item shows both numbers.

NEWS BUTLER Week of 9–15 June 2026 — everything you care about, verified
EXECUTIVE SUMMARY
  • 🟢 🟦 AI: A major lab shipped a frontier model with a step-change on agentic benchmarks — confirmed across four independent outlets and the official release notes.
  • 🟢 🟩 Saudi Arabia: PIF announced a new multi-billion-dollar industrial venture tied to Vision 2030; figure consistent across Reuters and Arab News.
  • 🔴 🟥 USA / Israel / Iran: Reports of an overnight strike — outlets disagree on the casualty count (see section). Treat as developing.
  • 🟡 🟧 Fable 5: Claims of a US block on Fable 5 are circulating from a single outlet; Anthropic has not published an official statement I could verify. Flagged as developing.
  • 🟢 🟪 Gaming: A blockbuster sequel got a firm release date at a major showcase — confirmed by IGN, GameSpot, and the publisher.

BY THE NUMBERS
372114
major storiesoutlets consultedclaims cross-checked
Stories per topic AI ████████ 8 USA/Isr/Iran ███████ 7 Gaming █████ 5 Saudi Arabia █████ 5 Anime/TV ████ 4 Musk/SpaceX ████ 4 Fable 5 ███ 3Verification mix — 🟢 68% corroborated · 🟡 24% single-source · 🔴 8% disputedSource leaning — 🔵 Left 9 · ⚪ Center 8 · 🔴 Right 4
🟩 SAUDI ARABIAPIF launches new industrial venture under Vision 2030 — 🟢 Corroborated (Reuters, Arab News, official PIF release agree on scope and figure). One line each; no padding.Diplomatic visit produces an energy MoU — 🟢 Corroborated (AP, Al Arabiya).
🟦 AI INDUSTRYFrontier model released with agentic-benchmark jump — 🟢 Corroborated (The Verge, Ars Technica, VentureBeat + official notes). Why it matters: resets the bar competitors were targeting for Q3.Landmark open-weights funding round closes — 🟢 Corroborated (TechCrunch, Reuters).
🟧 FABLE 5Reported US block on Fable 5 — 🟡 Single-source / developing. One outlet reports Fable 5 access was restricted in the US; I could not find a second independent confirmation, and no official Anthropic statement was verifiable at press time. Treat as a lead, not a fact — I’ll catch any confirmation next run.
🟪 GAMINGBlockbuster sequel dated at showcase — 🟢 Corroborated (IGN, GameSpot, publisher).Major studio acquisition closes — 🟢 Corroborated (Eurogamer, Reuters).
🟥 USA / ISRAEL / IRANOvernight strike reported — 🔴 Disputed. Outlet A reports ~14 casualties; Outlet B reports “dozens.” No primary-source figure confirmed yet. Both numbers shown deliberately — do not anchor on either until it firms up.Talks reportedly scheduled — 🟡 Single-source / developing (one outlet, no confirmation).
SOURCE TRUST LEDGER
OutletWhatHQPublic/PrivateRevenueLeaningStandingAuthor
ReutersWire serviceLondon, UKPrivate (Thomson Reuters)~$7B (group)⚪ CenterHigh
AP NewsWire co-opNew York, USNon-profit~$0.5B⚪ CenterHigh
The VergeTech newsNew York, USPrivate (Vox Media)🔵 Lean leftTrusted (tech)
Arab NewsNewspaperRiyadh, SAPrivate (SRMG)⚪ CenterRegional, established
(…one row per cited outlet; blanks where not readily available.)
METHODOLOGY & CAVEATSWindow: 9–15 June 2026 (last 7 days incl. today). 21 outlets across 30+ searches; 14 significant claims cross-checked. Paywalled sources (Bloomberg, WSJ, NYT, FT) skipped by design. Outlet profiles are a quick background pass — directional, not a full audit. “Corroborated” = ≥2 independent outlets; “disputed” = outlets disagree on the facts.Generated by Wolffish — Page 1 of 4
The example above keeps story claims deliberately generic — your run fills them with real, sourced, dated stories. Notice the Fable 5 and strike items: rather than assert something it can’t confirm, the butler prints the lead and tells you it’s unverified or disputed. That honesty is the feature.

Limits

  • “Exhaustive” means exhaustive on major news, not every post on the internet. The butler stops each topic at diminishing returns — it won’t miss a significant story, but it deliberately skips minor filler, and very fresh breaking news (the last hour) may not be indexed by search engines yet.
  • Verification depends on coverage. A real story that only one outlet has covered correctly will still be tagged single-source — the badge reflects how many independent outlets reported it, not absolute truth. Rare stories and very local news will skew amber.
  • Source profiles are directional, not audited. Political-leaning labels come from public media-bias references and are approximate; revenue and ownership are “if readily available.” This is a quick background check, by design — not journalism-grade vetting. Don’t make high-stakes decisions on the ledger alone.
  • Paywalled outlets are skipped. Bloomberg, WSJ, NYT, FT and similar return 403 to web_fetch. Their reporting may be the primary source on a story; the butler works around them with free outlets, but occasionally that means a story is thinner than it would be with paywall access.
  • PDF rendering needs a headless browser. Wolffish uses Playwright or Puppeteer; if neither is installed it will try to install one, which usually works but needs npm/npx on your PATH.
  • It reports, it doesn’t advise. The butler tells you what happened and how trustworthy it is. The judgment calls — what to do about it — stay yours.

Cost & Model Guide

Heavier than a simple news digest — the exhaustive sweep, the cross-verification reads, and the per-outlet lookups mean many searches and many fetches. Still inexpensive on the recommended model.

Approximate Cost Per Run

ModelEst. Cost Per RunNotes
DeepSeek V4 Pro (Max mode)~$0.08–0.25Recommended. Frontier reasoning for the verification calls at a fraction of the price
DeepSeek V4 Flash~$0.03–0.08Cheaper and faster; weaker at the independent-source judgment — fine for a casual digest
Qwen 3.7 Max~$0.15–0.40Solid alternative
Claude Sonnet 4.x~$0.40–0.90Polished prose; strong verification
Claude Opus~$1.50–3.50Most careful at corroborated-vs-disputed; overkill for daily use

Token Budget

~250,000–600,000 tokens per run. The exhaustive multi-topic sweep and the full-text fetches dominate; the verification pass and source lookups add the rest. A configured Brave Search key keeps the run from stalling on rate limits, which is what otherwise inflates both time and tokens. Roughly 30–60 LLM calls (searches, fetches, the verification reasoning, the source profiles, and the HTML render). For a few cents a day to never miss anything you care about — and to know which claims to trust — it pays for itself the first time it flags a rumor you’d otherwise have repeated.

Automating with Heartbeat

This is one of the best heartbeat candidates in the whole library: it’s read-only research that writes a single file — no posting, no sending, no destructive commands, nothing that needs a human at the approval gate. Exactly the kind of reversible, low-blast-radius job the heartbeat is for. (For the general rule on what’s safe to automate, see What to Schedule.) Open Settings > Heartbeat, paste the block below, and a fresh briefing will be waiting in your workspace every morning before you open your laptop.
## News Butler | Daily (07:00)

You are my News Butler. Make sure I know EVERYTHING that
matters to me from the last 7 days — up to and including
today — across the topics below, and nothing I don't. Be
exhaustive on what's major, ruthless about filler. Deliver
ONE clean, modern, color-coded PDF I can read in five
minutes. Trust nothing until you've checked it against
other outlets.

Run `date +%F` for today; window is the last 7 days.

Topics (each its own color-coded section):
1. Saudi Arabia — anything major at the country level.
2. AI industry — major news and breakthroughs of any kind.
3. Fable 5 — the US-blocking situation and what Anthropic
   did; say so plainly if you can't confirm it.
4. Gaming — major industry news only.
5. Anime, TV & movies — major news only.
6. Elon Musk & SpaceX — esp. any SpaceX IPO developments.
7. USA / Israel / Iran — the conflict.

For each topic: several searches until new ones stop
surfacing new major items, then web_fetch the real
articles. Free sources only (Reuters, AP, BBC, Al Jazeera,
The Verge, Ars Technica, TechCrunch, Arab News, IGN,
Variety, Space.com, official pages); skip paywalls
(Bloomberg, WSJ, NYT, FT) and SEO spam. Prefer primary
sources.

Verify every significant claim: green = 2+ INDEPENDENT
outlets agree (syndication = one source); amber =
single-source/developing; red = outlets disagree (show both
numbers). For each cited outlet, ONE quick lookup: what it
is, HQ, public/private + owner, rough revenue, leaning
(left/center/right, approximate), standing, author note —
minimal, leave blanks, don't rabbit-hole.

Build the PDF as styled HTML then render via headless
browser; save as news-butler-YYYY-MM-DD.pdf. Minimal text —
earn every sentence; let badges, numbers, and charts carry
it. Sections: masthead; executive summary (must-knows, one
line each, color + badge); by-the-numbers dashboard with
inline-SVG/CSS charts (stories per topic, verification mix,
source leaning — no external chart libs); the 7 topic
sections (color-coded, each story badged + sourced, "nothing
major" in one line if quiet); source trust ledger; short
methodology + caveats. Footer: "Generated by Wolffish" /
"Page X of Y".
Daily (07:00) gives you a rolling 7-day catch-up every morning. Prefer a clean weekly digest? Use Weekly (Monday 07:00) and change the window line to “the last 7 days.” For a tighter pulse, Daily (07:00) with a “last 24 hours” window turns it into a true morning brief.

Make Your Own

The pattern generalizes to any “keep me informed, but verified” job:
  • Investor’s morning brief — your tickers, your sectors, earnings and filings, with the same corroborated/disputed discipline on rumors.
  • Competitive radar — your competitors’ launches, funding, hires, and outages — sourced and trust-tagged.
  • Regional desk — your country or city’s politics, economy, and events, leaning on local outlets you list as trusted.
  • Fandom desk — a sport, a studio, a franchise — major news only, no rumor-mill noise.
The discipline stays the same every time: exhaustive on what’s major, skeptical of everything, honest about the source. Change the beats; keep the butler.