A daily AI-powered intelligence briefing system built on Claude Code. Ten specialized agents gather news, research, social trends, legal developments, and your calendar — then assemble everything into a personalized briefing with social posts and an interactive dashboard.
Every morning, one command (/today) runs a 10-agent pipeline:
- Research Agent — Pulls academic papers from arXiv matching your interests
- Calendar Agent — Fetches your schedule (supports Google, Outlook, Apple, or none)
- Intel Agent — Scans 20+ news sources, deduplicates against yesterday
- Social Agent — Monitors influencers across 6 platforms, scores trends
- Legal Agent — Searches court filings and rulings in your domain
- Briefing Agent — Assembles everything into a structured daily briefing
- Social Posts Agent — Generates ready-to-publish posts from today's trends
- Self-Update Agent — Learns from each run, tunes sources and scoring
- Dashboard Agent — Regenerates an interactive HTML dashboard
- Publish Agent — Pushes to GitHub/Vercel (optional)
The system improves itself daily — bad sources get paused, new ones get discovered, scoring weights adapt.
- Claude Code installed and working
- Python 3.10+ with pip
- A topic domain you care about (the setup wizard will ask)
# 1. Copy this folder as "daily-briefing" into your working directory
cp -r DISTRO /path/to/your/project/daily-briefing
# 2. Copy the Claude Code command so /today works
mkdir -p /path/to/your/project/.claude/commands
cp daily-briefing/.claude/commands/today.md /path/to/your/project/.claude/commands/today.md
# 3. Copy the Claude Code permissions
cp daily-briefing/.claude/settings.local.json /path/to/your/project/.claude/settings.local.json
# 4. Install Python dependencies
pip3 install arxiv pyyaml requests
# 5. Set up your environment
cp daily-briefing/.env.example daily-briefing/.env
# Edit .env with your API keys
# 6. Run it
cd /path/to/your/project
claude
# Then type: /todayOn first run, the system detects empty configs and walks you through setup:
- Your domain — What industry/topic do you want intelligence on?
- Your calendar — Which provider? (Google Calendar works out of the box with Claude Code's built-in MCP. Outlook needs Azure credentials. Apple Calendar uses an ICS feed. Or skip it.)
- Your voice — How do you write on social media?
- Your mission areas — What products/projects should intel map to?
It then auto-generates starter configs (news sources, influencers, research keywords, legal queries) tailored to your domain and runs the first briefing.
| Variable | Required? | Used By |
|---|---|---|
ANTHROPIC_API_KEY |
Yes (Claude Code needs it) | Runtime |
FIRECRAWL_API_KEY |
Recommended | Intel, Social, Legal agents (web scraping) |
OPENROUTER_API_KEY |
Optional | Social post image generation |
SLACK_WEBHOOK_URL |
Optional | Post intel to Slack |
VAULT_PASSPHRASE |
Optional | Dashboard password protection |
Calendar credentials are configured during the first-run setup wizard.
config/*.yaml → [5 gather agents] → output/.staging/*.json → [assembly agents] → output/briefings/ + output/dashboard/
↓
config/*.yaml (self-update writes back)
Each agent reads a config, fetches data, writes a staging JSON with a standard contract, and reports its status. The briefing agent combines everything. The self-update agent makes the whole system smarter over time.
While running, you see a live status display:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DAILY BRIEFING — 2026-04-02 — IN PROGRESS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PHASE 1: GATHER INTELLIGENCE
├─ 🟢 Research ✓ 14 papers pulled
├─ 🟢 Calendar ✓ 5 events loaded
├─ ⏳ Intel … Fetching sources (8/13)
├─ ⬜ Social · Waiting
└─ ⬜ Legal · Waiting
PHASE 2: ASSEMBLE
├─ ⬜ Briefing · Waiting
└─ ⬜ Social Posts · Waiting
PHASE 3: LEARN & PUBLISH
├─ ⬜ Self-Update · Waiting
├─ ⬜ Dashboard · Waiting
└─ ⬜ Publish · Waiting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This system works anywhere Claude Code runs. But the optimal setup is inside an Obsidian vault with the Claude Code sidebar extension.
Why Obsidian:
- Your daily briefings are markdown files — Obsidian renders them beautifully with wikilinks, tags, and backlinks
- Research papers, social posts, and briefings all cross-reference each other via
[[wikilinks]] - The briefing becomes part of your knowledge graph, not a throwaway document
- Inspiration images embed inline with
![[image.png]] - Tasks, wins, and ops logs are just markdown files you can search, link, and organize
Why the Claude Code sidebar:
- Run
/todaywithout leaving your vault — the sidebar opens Claude Code right inside Obsidian - Watch the mission board update in real time while you read yesterday's briefing
- Click through from the briefing to social posts, dashboard HTML, or config files without switching apps
- Edit your
voice.mdormission.yamlin one pane, run/todayin the other
Setup:
- Install Obsidian and create a vault (or use an existing one)
- Install the Claude Code sidebar extension from Obsidian's community plugins
- Drop
daily-briefing/into your vault folder - Copy
.claude/commands/today.mdto your vault's.claude/commands/ - Open the Claude Code sidebar and type
/today
Your briefings accumulate as daily notes. Your configs evolve over time. Your research papers build a library. It's not just a briefing system — it becomes your second brain's morning routine.
Not required. Just optimal.
Edit these files to shift to any industry:
| File | What to change |
|---|---|
config/mission.yaml |
Your products/projects and mission areas |
config/intel_sources.yaml |
News sources for your industry |
config/social_sources.yaml |
Influencers and companies to track |
config/research_keywords.yaml |
arXiv search terms |
config/legal_queries.yaml |
Court search queries |
config/voice.md |
Your writing style for social posts |
Each agent is a standalone markdown file in commands/agents/. The orchestrator (commands/today-v2.md) reads and executes them in order. Add a new .md file, add it to the orchestrator's phase list, done.
| Agent | Config File | Output |
|---|---|---|
| research | config/research_keywords.yaml |
research.json |
| calendar | config/calendar_config.yaml |
calendar.json |
| intel | config/intel_sources.yaml |
intel.json |
| social | config/social_sources.yaml |
social.json |
| legal | config/legal_queries.yaml |
legal.json |
| briefing | config/briefing_prefs.yaml |
briefing-meta.json |
| social-posts | config/post_performance.yaml |
posts-meta.json |
| self-update | All configs | updates.json |
| dashboard | Templates | Dashboard HTML |
| publish | scripts/sync_dashboard.sh |
ops.json |
Each /today run costs pennies in API credits. A full month of daily runs has been measured at under $0.50 total using Claude Haiku. Cost varies by model — Opus will cost more, but even heavy usage stays well under $5/month.
Built by Phil Komarny using Claude Code. Open-sourced so anyone can have their own AI-powered daily briefing.