Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

213 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FrontBrief.AI β€” A Daily Brief from the AI Frontier

FrontBrief.AI

A daily brief from the AI frontier.

An autonomous AI news desk that researches the day's most important AI stories, writes a sharp 5-item brief, designs a social poster, and publishes the web edition. It also includes GitHub Actions delivery paths for LINE and Instagram when their secrets are configured and their workflows complete successfully.

Live site

Daily 05:00 London Multi-agent Operated by Codex Next.js Delivery paths


πŸ¦‰ Meet the desk

The FrontBrief.AI owl mascot

Say hello to the FrontBrief owl β€” the mascot for the desk. Owls watch the night shift, spot what matters in the dark, and carry the news at first light. That's the job: while you sleep, the desk reads the AI world and lands a tight, high-signal brief on your screen by breakfast.

No hype. No filler. Five stories that actually matter, each with a source link and a plain-English "why it matters."


What it is

FrontBrief.AI is an automated AI newsroom run by a daily Codex automation. Once a day it operates like a small news startup's AI desk:

  • πŸ”Ž Researches the last 24–48h of high-quality AI sources across four beats
  • πŸ—žοΈ Writes a 5-item brief β€” importance-first, with an investment angle and a Money Map
  • 🎨 Duplicates the locked Canva parent poster, preserving its typography and brand system
  • πŸ“€ Publishes the web edition; GitHub Actions can deliver the configured LINE digest and Instagram post after their required secrets are set and their workflows succeed

It's built for people who want a concise, high-signal view of the AI world: frontier models, infrastructure, research, startups, adoption, policy, and selected deeptech angles.

Not financial advice. Every "investment angle" is directional signal only β€” no price targets, no buy/sell calls, no live prices.


The daily poster series

Every brief ships with a poster for the single most feed-worthy story of the day (which may differ from the lead article). A few recent editions:


Chips coming for Nvidia

AI 'actor' lands a role

A robot played the World Cup

AI drone maker raises $1.2B

30+ posters live in social/poster/ β€” see index.md for the full run log.


How it works

Codex automation β€” daily 05:00 Europe/London (the Editor-in-Chief)
  β”œβ”€ Stage 1  Research pod β€” 4 parallel beat reporters
  β”‚            (Models & Products Β· Money & Markets Β· Deeptech/Research/People Β· Buzz/Trending)
  β”œβ”€ Stage 2  Assignment Editor β€” dedupes + scores on IMPORTANCE and ENGAGEMENT separately
  β”œβ”€ Stage 3  Audience/Social Editor β€” picks the engagement-first poster story + creative brief
  β”œβ”€ Stage 4  Producer/Writer β€” writes the article, LINE digest, and IG caption
  └─ Stage 5  EIC final pass β€” QA, duplicates/edits/exports the Canva parent, updates the ledger, ships
                 β”œβ”€ articles/YYYY-MM-DD-ai-brief.md          (brief + LINE digest + web edition)
                 β”œβ”€ social/poster/YYYY-MM-DD-ai-brief.poster.json (validated editorial metadata)
                 β”œβ”€ social/poster/YYYY-MM-DD-ai-brief.png     (Canva-exported production poster)
                 └─ social/caption/YYYY-MM-DD-ai-brief.txt    (Instagram caption)

GitHub Actions
  β”œβ”€ line-dispatch.yml    new article push β†’ validates + sends the LINE digest
  β”œβ”€ commit-poster.yml    historical .png.url compatibility only
  └─ post-instagram.yml   new poster PNG   β†’ posts the poster + caption to Instagram

Configured delivery paths
  β”œβ”€ Website   frontbrief-ai.vercel.app renders the public "Web Edition" of each brief
  β”œβ”€ LINE      sends the digest to LINE_TO when its workflow and secrets succeed
  └─ Instagram posts the poster and caption when its workflow and secrets succeed

Codex handles research, editorial judgement, writing, Canva parent-page production, the poster metadata, the caption, and the atomic commit. GitHub Actions provides deterministic LINE and Instagram delivery paths. The Next.js website (in web/) renders the reader-facing "Web Edition" of every article.

Operational status and verification

Committed articles and poster assets are the repository's evidence that the daily generation path is producing output. They do not by themselves verify that LINE messages or Instagram posts were delivered. After configuring the required secrets, verify each delivery path in GitHub Actions and confirm receipt in the destination channel before describing it as live.

Two-track selection

The desk runs two tracks on purpose:

  • Article / LINE = importance-first β€” the five most must-know stories of the day.
  • Poster / Instagram = engagement-first β€” the most shareable story, even if it isn't the #1 article. People & drama, surprises, and strong visuals win the feed.

Brief criteria

The brief picks exactly 5 items, interestingness-first β€” lead with the single most "must-know" story in AI that day, then rank the rest by importance Γ— how interesting/shareable they are. The five tracks below are a guide for breadth, not a quota; never pad with a weak story to fill a track.

Track Focus
🌐 Global AI / Frontier Models Frontier labs, model releases, agents, multimodal, reasoning, safety, regulation, policy
πŸ—οΈ AI Infrastructure / Markets NVIDIA, AMD, TSMC, Broadcom, hyperscaler capex, data centres, HBM, energy, inference economics
πŸ”¬ Research / Technical Signal Landmark papers and technical releases from high-quality labs, journals, and conferences
πŸš€ Product / Startup / Adoption Enterprise AI, dev tools, robotics, healthcare, finance, legal AI, funding, M&A, adoption
πŸ§ͺ Deeptech Lens Surrogate modelling, neural operators, physics GNNs, FEA/CFD acceleration, aerospace, digital twins

Each item carries an investment angle (signal, not advice) and closes with a Money Map. The desk ignores generic chatbot news, prompt-engineering tips, duplicated stories, vague hype, and low-signal opinion pieces. Freshness gate: nothing older than 5 days; no repeat story or poster shape within the window.


Repository layout

.github/workflows/line-dispatch.yml      # sends the LINE digest on article push
.github/workflows/commit-poster.yml       # historical .png.url compatibility workflow
.github/workflows/post-instagram.yml      # posts poster + caption to Instagram
articles/                                 # daily briefs (+ sample-ai-brief.md)
social/poster/                            # daily posters (PNG + .poster.json + index.md + ledger.json)
social/caption/                           # daily Instagram captions
web/                                      # Next.js public site (frontbrief-ai.vercel.app)
web/public/mascot/                        # the FrontBrief owl
assets/brand/                             # logo + footer brand assets
docs/codex-routine-prompt.md              # active Codex newsroom and publishing procedure
docs/claude-routine-prompt.md             # historical Claude routine prompt
scripts/validate_newsroom.py              # deterministic freshness/dedup/channel gates
scripts/render_poster.py                   # non-production renderer retained for tests/fallback development
scripts/extract_line_digest.py            # pulls the ## LINE Digest section verbatim
scripts/send_line.py                      # sends one LINE message
scripts/post_instagram.py                 # posts the poster + caption
AGENTS.md                                 # active Codex repository instructions
CLAUDE.md                                 # historical Claude instructions
requirements.txt

Setup

Required GitHub secrets

Add these under GitHub Settings β†’ Secrets and variables β†’ Actions:

LINE_CHANNEL_ACCESS_TOKEN
LINE_TO                    # user, group, or room ID
INSTAGRAM_USER_ID          # only needed once you enable Instagram auto-posting
INSTAGRAM_ACCESS_TOKEN     # long-lived Instagram Graph API token

LINE_TO can be a user ID, group ID, or room ID. For a small group of readers, the simplest setup is to add the LINE Official Account to a LINE group and use the group ID as LINE_TO. The two INSTAGRAM_* secrets are optional until you turn on Instagram posting.

Codex automation

The active schedule is a local-project Codex automation at 05:00 Europe/London, operating from this checkout. Its prompt is versioned in docs/codex-routine-prompt.md. The zero-duplicate start gate stops without publishing when that London date already exists.

CLAUDE.md and docs/claude-routine-prompt.md are preserved as migration history. Do not keep the Claude Routine enabled alongside the Codex publisher.

Website

The public site lives in web/ (Next.js 16, deployed on Vercel). It renders the ## Web Edition section of each article β€” the reader-facing narrative β€” at frontbrief-ai.vercel.app.

cd web
npm install
npm run dev        # http://localhost:3000

For a local website check that does not publish anything:

cd web
npm ci
npm run lint
npm run build

LINE dispatch

.github/workflows/line-dispatch.yml runs only when a new dated Markdown article is added to main. Historical edits do not resend the newest brief. Manual dispatch defaults to dry-run mode.

scripts/extract_line_digest.py sends the hand-written ## LINE Digest section verbatim when present, and otherwise degrades gracefully by building a digest from the TL;DR and Top 5 links. scripts/send_line.py sends one text message and caps it below 4,500 characters.

Manual test (from GitHub): add the LINE_* secrets β†’ open Actions β†’ select LINE Article Dispatch β†’ Run workflow with dry-run enabled. Disable dry-run only for an explicit delivery test.

Manual test (local):

python -m pip install -r requirements.txt
python scripts/extract_line_digest.py
export LINE_CHANNEL_ACCESS_TOKEN="..."
export LINE_TO="..."
python scripts/send_line.py --dry-run

Article format

Each brief follows the template in docs/codex-routine-prompt.md:

# FrontBrief.AI β€” YYYY-MM-DD

## LINE Digest     # standalone, punchy; sent to LINE verbatim
## TL;DR           # 3 standalone bullets
## Top 5           # per item: Category / Why interesting / Why it matters /
                   #           Investment angle / Tharm relevance / Action / Link
## Money Map       # where capital + pricing momentum moved
## Watchlist       # three catalysts to monitor next
## Web Edition     # public, journalist-voice narrative (rendered by the website)

The Top 5 is the full evidence trail; each item includes a direct Link:. The Tharm relevance and Action fields are internal β€” the website hides them and renders the ## Web Edition.


Security

Never commit secrets. Store LINE and Instagram credentials only as GitHub Actions repository secrets. If a token or channel secret is ever pasted into chat, logs, issues, or commits, rotate it in the provider's console before relying on it.


The FrontBrief.AI owl
FrontBrief.AI β€” a daily brief from the AI frontier.

About

Daily AI intelligence desk: five high-signal stories, a web edition, and configurable LINE/Instagram delivery paths.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages