On This Day
Use this skill when the user wants a same-day historical briefing, a source-linked digest, or help building and refining the matching macOS-style web app.
Use on-this-day-bar for the native menu bar app.
Default product shapes:
- a desktop-first web app that feels at home on macOS, with glass panels, a date picker, curated historical cards, strong source linking, and resilient fallback behavior
- a deterministic helper that renders a compact brief or JSON snapshot from the official Wikimedia feed
Quick Start
- Decide the exact day, timezone, and feed slice the user wants.
- Prefer the official Wikimedia Feed API endpoint for the day:
https://api.wikimedia.org/feed/v1/wikipedia/en/onthisday/all/{MM}/{DD}
- Run
bash scripts/run_on_this_day.sh doctorbefore editing the web app or checking local preview readiness. - Run
bash scripts/run_on_this_day.sh inspectbefore changingapps/on-this-day/. - Use
bash scripts/run_on_this_day.sh fetch --date 2026-03-27 --type selected --limit 5for a deterministic local snapshot. - Use
bash scripts/run_on_this_day.sh runwhen you need the web app preview server and browser handoff. If the port cannot be bound, the runner falls back to openingindex.htmldirectly. - If the user wants the native menu bar app, hand them to
on-this-day-bar. - Return either an
on-this-day-brief, ahistory-day-digest, or anapp-refresh-plan, depending on the request.
Accepted Inputs
- a date like
2026-03-27or a relative date liketoday - the user timezone when the date should respect local midnight boundaries
- a slice such as
selected,events,births,deaths, orholidays - a preferred language, with English as the default when none is given
- a limit for how many entries should be shown
- whether the user wants a quick digest, a richer editorial brief, or app changes
- whether the result should favor concise fact cards, links, or visual presentation
Output Artifact
Primary artifacts:
on-this-day-briefhistory-day-digestapp-refresh-plan
Default on-this-day-brief sections:
- Date and timezone basis
- Curated entries with years
- Why each entry is interesting now
- Source links
Default history-day-digest sections:
- Day summary
- Selected highlights
- Secondary categories like births, deaths, or holidays
- Editorial note or takeaway
- Source and fallback notes
Default app-refresh-plan sections:
- User-facing goal
- Data source and fetch behavior
- UI changes
- Empty, loading, and error states
- Validation notes
Workflow
Lock The Date First
- Resolve relative dates like
todayagainst the user's timezone. - Use absolute dates in the final output when there is any ambiguity.
- If the request is date-sensitive, say which date you used.
Prefer Official Data
- Use the official Wikimedia Feed API instead of copying facts from arbitrary recap sites.
- Prefer the
allfeed when building UI so counts and category switching stay in sync. - Use
selectedwhen the user wants a tighter editorial cut. - Keep links back to the underlying Wikipedia pages whenever possible.
Use The Helper Script When Precision Matters
- Run
python3 scripts/fetch_on_this_day.py --date YYYY-MM-DD --type selected --limit 5for a clean deterministic brief. - Use
--format jsonwhen another tool or app needs structured output. - If
selectedis empty, the helper script falls back toeventsand makes that fallback explicit.
Shape The Presentation
- Default to a polished Mac-style reading experience, not a dump of bullets.
- Keep hierarchy clear:
- date and source confidence first
- strongest entries next
- secondary context after that
- Use restrained motion and strong spacing instead of generic card spam.
- Preserve a desktop-first macOS feel when editing the web app in
apps/on-this-day/.
Web App Workflow
- Open
apps/on-this-day/README.mdbefore editing the browser surface. - Prefer
bash scripts/run_on_this_day.sh runover a manualpython3 -m http.server 4173preview. When the machine cannot bind the preview port, the runner falls back to openingindex.htmldirectly. - Use
bash scripts/run_on_this_day.sh fetch --date YYYY-MM-DD --type selected --limit 5after changing feed logic, date handling, or digest formatting. - Keep the static app desktop-first and honest about live versus cached data.
Handle Failure Honestly
- If the live feed fails, prefer cached data in the web app and label it clearly.
- If no cached snapshot exists, say the request failed instead of inventing entries.
- Do not paraphrase historical claims as certain if the source could not be fetched.
Mac Product Shapes
- Prefer a polished web app with:
- faux macOS window chrome
Today, previous, next, and random-day navigation- a date picker
- segmented category controls
- a spotlight card and a scrollable historical timeline
- Keep the main layout readable between 1280 px desktop widths and narrower laptop screens.
- Use local storage for last date, last category, and cached day snapshots so the app feels dependable.
Safety Boundaries
- Do not invent historical facts, dates, or source links.
- Do not attribute a claim to Wikipedia if you did not fetch it from the official feed or linked page.
- Keep present-day commentary separate from historical event text.
- Be careful with violent or tragic entries: keep the tone factual, not sensational.
Example Prompts
Use $on-this-day to fetch today's official On This Day feed in Singapore and turn it into a polished daily history brief with five entries and source links.Use $on-this-day to build a macOS-style day browser that lets me switch between curated events, births, deaths, and holidays for any date.Use $on-this-day to give me the most interesting March 27 historical events, explain why they matter, and keep the output grounded in the official Wikimedia feed.Use $on-this-day to refine the web app UI, improve empty and error states, and keep the design professional on Mac.
Resources
scripts/run_on_this_day.sh: local doctor, inspect, fetch, serve, run, and stop helper forapps/on-this-day.scripts/fetch_on_this_day.py: deterministic CLI helper for the official On This Day feedreferences/product-spec.md: product family spec, fetch model, fallback states, and visual directionreferences/project-map.md: web app target map, main files, and preview notes../../apps/on-this-day/: the matching web app codebase