Morning Message
Writes Ben's daily Reuters News Apps morning message.
Morning Message
Generates Ben's daily good-morning message for the Reuters News Applications Desk Teams channel. The message follows a strict format with four or five lines. The message is them shared with Ben via Telegram. He will tidy it up and post it to Teams himself.
Message Format
☀️ Good morning from <LOCATION>. It is <DAY_OF_WEEK>, <MONTH> <DAY>. The news time is <TIME>.
📰 The top story on Chartbeat is "<HEADLINE>"
🗓️ <NEWS_PEGS>
🪿 <SCHEDULE>
🏃 <RUN_LINE> (only if Ben ran that morning)
Line-by-line rules
Greeting & location — Always starts with "Good morning from". The location is usually one of:
the Thomson Reuters Building at 3 Times Square(the office)Studio 4D in moneymaking Manhattan(home studio)- A train, plane, or conference venue when traveling
Ask Ben where he is if not obvious. Include the day of week, full date
(e.g. "Wednesday, May 14"), and current time formatted as
H:MM a.m.orH:MM p.m.(AP style — lowercase, periods, no leading zero).
Chartbeat top story — Fetch the #1 story using the chartbeat skill:
{{HOME}}/bin/chartbeat-top-stories.sh stories 1Extract just the headline and wrap it in quotes with a hyperlink over the entire headline text.
News pegs — Mention any known news pegs for the day (economic data releases, scheduled events, team member assignments like "Grant has a forecast"). If none are known, use:
I don't know of any pegs today.Ask Ben if you are unsure.Schedule — Lead with the gaggle (daily 2 p.m. Eastern meeting). Default is
We gaggle at 2 p.m. Eastern.Then append any other meetings Ben mentions. If Ben cannot make gaggle, note that instead. This 2 p.m. default replaced the old 11 a.m. default after Casey Miller moved to Los Angeles.Run line (optional) — If Ben ran that morning, add a line describing the distance and route. Check the runs log for today's date:
gog --no-input -a "$GOG_ACCOUNT" sheets get 1ybViNc3uJp9Be7Os5Cryu6E83VTxB0ZqWPRYYiQAMfA "Sheet1!A1:D5" --jsonUse natural phrasing like "I ran 10k over the Queensborough Bridge and back." If no run is logged for today, omit this line entirely.
Workflow
- Ask Ben for anything you don't already know:
- Where is he today? (office, home, traveling)
- Any news pegs or special schedule items?
- Fetch the Chartbeat top story.
- Check the runs log for today.
- Check today's calendar for meetings:
vdirsyncer sync && khal list today - Assemble the message and share it here in Telegram by default.
Style Notes
- Use AP style for times:
8:42 a.m., not8:42 AMor08:42 - Day of week and month are spelled out:
Wednesday, May 14 - The Chartbeat headline is wrapped in straight double quotes with a hyperlink over it
- Emoji go at the start of each line with a space after
- Keep the tone casual and direct — this is a team chat, not a memo
- The gaggle emoji is always 🪿 (goose)
- The default gaggle time is
2 p.m. Eastern, not 11 a.m. - Preserve the format as separate visible lines. In Telegram rich text, insert literal newline characters between every emoji-led item; do not let the message collapse into one paragraph.
- If using rich HTML for the Chartbeat link, keep each emoji-led item separated by a literal newline, or wrap each item in its own block element such as
<p>...</p>. - Do not add sign-offs or pleasantries beyond the format
Examples
Typical office day
☀️ Good morning from the Thomson Reuters Building at 3 Times Square. It is Wednesday, May 14. The news time is 8:35 a.m.
📰 The top story on Chartbeat is "Fed signals rate decision is approaching as inflation cools"
🗓️ Grant has a forecast this morning.
🪿 We gaggle at 2 p.m. Eastern. I have my regular meeting with Simon at 12.
Home day with a run
☀️ Good morning from Studio 4D in moneymaking Manhattan. It is Thursday, May 7. The news time is 9:02 a.m.
📰 The top story on Chartbeat is "US and Iran explore short-term deal to end fighting"
🗓️ I don't know of any pegs today.
🪿 We gaggle at 2 p.m. Eastern. I have a GitHub tech meeting at 1. I'll walk into the office shortly.
🏃 I ran 10k over the Queensborough Bridge and back.
Travel day
☀️ Good morning from Acela 2910, which left New York Penn Station this morning at 5:27 a.m. It is Tuesday, May 5. The news time is 7:58 a.m.
📰 The top story on Chartbeat is "Middle East truce in doubt as US and Iran fight for control of Strait of Hormuz"
🗓️ Grant has some forecasts this morning.
🪿 I'll be presenting at RESPONSIBLE BUSINESS USA 2026 this morning, so I can't make the 2 p.m. Eastern gaggle. You should go on without me.
Notes
- This skill only generates the message. Ben reviews, tweaks, and posts it himself.
- In a direct Telegram chat with Ben, share the assembled morning message in the chat by default after drafting it. Do not make him ask twice.
- The Chartbeat headline changes constantly — fetch it right before assembling.
- If the chartbeat script fails, ask Ben to supply the headline manually.
- News pegs and schedule details beyond the calendar often require Ben's input. Don't guess — ask.
