A personalized, source-disciplined AI + markets briefing that runs in Claude Code or Codex—and keeps its evidence trail local.
AI Frontier Dispatch gathers frontier releases, builder signal, repositories, markets, deals, and career developments, then filters them against one reader's interests and explicit exclusions. It is a self-run skill: no hosted backend, subscriber list, or shared personal profile.
- The distribution layer is now a first-class stream: router new-and-trending listings, usage leaderboards ranked by token share, and independent benchmark aggregators.
- Unannounced and codenamed model releases are detectable. Announcement-shaped sweeps miss them by construction.
- Vendor leaderboard claims must be checked against an independent aggregator before they are repeated, or labelled self-reported.
- Zero-cost inference is flagged for its data-retention implication alongside its capability.
- One portable dispatch protocol instead of a Claude-only method.
- Thin Claude and Codex adapters for tool and orchestration differences.
- Optional append-only local state for run history and source health.
- Explicit claim records that distinguish facts, theses, and changing deal status.
- JSON Schemas and a dependency-free state CLI with tests.
The digest still works without state. Persistence improves freshness, failure routing, and auditability without turning the project into a hosted application.
reader config
↓
portable skill + dispatch method
↓
Claude adapter OR Codex adapter
↓
independent research streams → dedupe → score → evidence rules
↓ ↘
two-part digest local event ledger
Personal config and state default to ~/.ai-frontier-dispatch/, outside the repository.
| Part A — Frontier & Builders | Part B — Markets, Deals & Careers |
|---|---|
| Model releases and capability updates | Consulting and strategy |
| What AI-native builders are shipping | Macro and investment trends |
| Personalized GitHub and Hugging Face scout | Capital markets, M&A, PE/VC, and IPOs |
| Router, leaderboard, and unannounced-release signal | Career-track developments |
| AI funding, partnerships, and regulation | The established AI stack and thesis watch |
| Cross-cutting technical patterns | Cross-cutting market patterns |
The filter scores recency, reader relevance, and substance before spending synthesis tokens. Independent arrival across streams is a positive ranking signal. Primary evidence beats aggregator repetition, and an honest quiet section beats filler.
Most digest tooling is announcement-shaped: newsrooms, front pages, press, social. A growing share of consequential model releases have no announcement at all — they appear on a router under a codename, often free, and are found through usage rather than publicity. A sweep built only on announcements will report a quiet week while a frontier-class model is being used at scale.
The dispatch therefore treats the distribution layer as a first-class stream: router new-and-trending listings, usage leaderboards ranked by token share, and independent benchmark aggregators used specifically to check vendor self-claims. It is a discovery channel, not an authority — placement and usage show what people run, never that a model is good, safe, or of known origin. Unclaimed models are reported as unverified in provenance, and zero-cost inference is always flagged for its data-retention implication alongside its capability.
The filtering method combines documented patterns from established open-source digest projects:
| Pattern | Source |
|---|---|
| Multi-source corroboration as a positive ranking signal | ai-news-radar |
| Fan out, deduplicate by URL, rank, then filter | agents-radar |
| Explicit negative preferences beside positive interests | ArxivDigest |
| Separate scoring axes instead of one blended score | ai-daily-digest |
| Never invent content beyond the source | follow-builders |
See the case study for the product decisions, tradeoffs, and roadmap.
/plugin marketplace add bakulbadwal/ai-frontier-dispatch
/plugin install ai-frontier-dispatchInvoke with /ai-frontier-dispatch.
git clone https://github.com/bakulbadwal/ai-frontier-dispatch.git ~/.codex/skills/ai-frontier-dispatchInvoke with $ai-frontier-dispatch, or ask for an AI Frontier Dispatch briefing.
Claude Code can load the repo with claude --plugin-dir /path/to/ai-frontier-dispatch. Codex can use the repository's SKILL.md directly when the repo is in its configured skills path.
- With no config, it asks first. Before the first personalized run the skill asks for your reader profile, interests, exclusions, and career track in chat, then runs. Answer in a few sentences; it does not need a form.
- It remembers you only if you save the config. Copy the example config (next section) and put your answers there, or you will be asked again on the next run.
- Expect 5–15 minutes. A run fans out research across several streams and then synthesizes. It is a long agentic session, not a chat reply — start it when it can be the main thing your harness is doing for that hour.
- Nothing is hosted. Runs on your subscription and your machine. The only optional key is Grok's, for the live-X read; without it that stream is skipped and everything else still runs.
Copy the example to your private state directory:
mkdir -p ~/.ai-frontier-dispatch
cp config/dispatch.example.yaml ~/.ai-frontier-dispatch/config.yamlCustomize:
reader_profile: the role, projects, hiring, recruiting, or investing context that defines relevance.interest_areasandgithub_profile: the repository scout's taste profile.exclude_topicsandnever_recommend: explicit negative preferences.career_track: the roles and companies worth monitoring.thesis_watch: one falsifiable claim with dated baselines.
The skill also accepts AI_FRONTIER_DISPATCH_CONFIG or a user-supplied config path. Never commit a personal config to a public fork.
Set XAI_API_KEY in the environment or in ~/.claude/.env, then run:
python3 scripts/grok-x-pass.py --days 3 \
--prompt "What are AI-native builders shipping or debating on X?"Grok is an optional signal stream, not a hard dependency. The dispatch degrades to primary web research when it is unavailable.
The state CLI writes append-only JSONL to ~/.ai-frontier-dispatch/events.jsonl by default. It stores run metadata, source checks, and material claims—not API keys or scraped page contents.
# Open a run
python3 scripts/state.py start-run \
--harness codex \
--window-start 2026-07-26 \
--window-end 2026-07-29
# Record source acquisition health
python3 scripts/state.py record-source \
--run-id RUN_ID \
--url https://example.com/primary \
--stream official \
--status ok
# Record a corroborated fact
python3 scripts/state.py record-claim \
--run-id RUN_ID \
--claim "A material event occurred." \
--classification fact \
--confidence corroborated \
--source https://example.com/primary \
--source https://example.org/corroboration
# Close and inspect
python3 scripts/state.py finish-run --run-id RUN_ID --status completed
python3 scripts/state.py status
python3 scripts/state.py validateThe CLI rejects corroborated claims with fewer than two distinct sources and deal-status claims without an as-of date.
- Prefer official announcements, filings, model cards, release notes, and repositories.
- Label attributable but unconfirmed material as single-source.
- Keep theses separate from checkable facts.
- Give financing, acquisition, partnership, and IPO status an as-of date.
- Record access failures as source-health events rather than silently dropping a stream.
- Treat stars, trending positions, likes, and downloads as discovery signals—not proof of quality.
- Before calling any repository's growth inauthentic, run four ordered checks:
has_issues(a zero issue count is meaningless if issues are disabled), fork count (forks are far harder to fake than stars), owner type and homepage (an organization with a homepage on its own domain is near-dispositive), and commit history (a repo created last week can hold a year of work). If the checks conflict, say what could not be verified rather than implying fraud.
Research fan-out is ingestion; final synthesis is judgment. Use a cost-efficient model for independent extraction when the harness permits it, then reserve the strongest model for ranking, contradictions, evidence classification, and the final patterns. The adapters describe how each harness degrades when model overrides or parallel agents are unavailable.
| Path | Purpose |
|---|---|
SKILL.md |
Portable orchestration protocol |
adapters/claude.md |
Claude Code execution adapter |
adapters/codex.md |
Codex execution adapter |
references/method.md |
Detailed research, scoring, and evidence method |
config/dispatch.example.yaml |
Private reader-config template |
scripts/state.py |
Append-only run, source-health, and claim ledger |
schemas/ |
Claim, source, and run contracts |
scripts/grok-x-pass.py |
Optional live-X pass through xAI |
digests/ |
Example and archived briefing output |
python3 -m unittest -v tests/test_state.py
python3 /path/to/skill-creator/scripts/quick_validate.py .MIT — see LICENSE.
Built by Bakul Badwal, UVA Darden MBA '27.
