The blueprint: the dashboard view this pilot is building toward.
A macro-intelligence dashboard in the making, built on data that is free to everyone.
The project: collect the government and macroeconomic sources every strategist already uses, and turn them into one view that is easy to read and easy to extract from. The twist: I am not a developer. I am building it by directing two AI coding agents, Claude Code and Codex, the way I would direct an analyst team.
A few of the sources I have leveraged for the initial pilot:
Official data is high-value but scattered and revision-prone. The real cost of tracking it manually is not effort. It is inconsistency: a base-year revision missed here, a provisional figure treated as final there.
The old workflow
Bookmarked portals. Quarterly downloads. An Excel file rebuilt by hand, with every revision cycle risking silent errors.
What I wanted
One pipeline that collects, cleans, validates, and refreshes itself on each source's release calendar.
Both agents read standing instructions before doing any work: CLAUDE.md for Claude Code, AGENTS.md for Codex. Most people store coding conventions there. Mine holds a research SOP, the same document I have written for analyst teams for ten years.
# Data conventions the agent must never forget - MoSPI series: FISCAL year (Apr to Mar). World Bank: CALENDAR year - Never mix ₹ crore with USD million. Convert and label units - Figures marked "P" are provisional. Re-pull when revised estimates land - Respect base-year revisions. Never splice old and new series silently - After any data write: run scripts/validate.py
Written once. Applied on every run. Never reminded.
New sources arrive messy: inconsistent headers, odd formats, patchy documentation. Read all of that in the main session and the agent's planning visibly degrades, the way a steering committee degrades when handed raw field notes. Subagents solve it.
Researchers are professionally paranoid about silent data corruption. Claude Code's hooks fire automatically after the agent acts, so my validation script runs after every data write, and a failure blocks the step.
Government data follows a release calendar, and the pilot pipeline is being wired to follow it. Both agents run non-interactively: Claude Code headless, Codex through its exec command. A scheduled job handles the rest.
The underrated pattern: use them together. One builds, one reviews, and approval modes start at "propose everything" and earn autonomy, exactly how you would onboard a junior analyst.
Claude Code · the builder
CLAUDE.md context · subagents for isolation · hooks for QC · headless runs.
Codex · the reviewer
A separate review agent inspects changes before commit · graduated approval modes.
Both speak MCP (Model Context Protocol): data connectors built once, shared between them.
Early runs refresh on release calendars and flag anomalies for review, replacing my quarterly ritual step by step.
Validation gates are proving they can block bad writes before they spread. Not hoping the agent remembered: knowing it cannot proceed otherwise.
Ten years of research discipline, encoded once in a context file, applied on every pilot run.
Brief clearly, isolate deep dives, review summaries. Managing agents turned out to be a skill research leaders already have.
The judgment layer is still the analyst's job. Now it is directly executable.
Next in the pilot: the visualization layer, doubling as my Power BI and Tableau practice.