OpenFi is an agent native financial research vault.
It gives a user's coding agent a disciplined research system made of markdown skills, artifact contracts, validators, and a local viewer. The user brings Codex, Claude Code, OpenCode, Gemini CLI, or another coding agent. OpenFi provides the repeatable research workflow.
OpenFi is a research tool only.
It can:
- research a company
- discover companies related to a theme
- compare companies
- audit report claims
- validate research artifacts
- display research outputs in a local viewer
It cannot:
- place trades
- connect to broker accounts
- connect to bank accounts
- manage real money
- rebalance portfolios
- submit orders
- provide personalized financial advice
The first prototype proves this loop:
Install, configure, research, validate, view, audit, improve
The first two research promises are:
Research this company.
Find companies related to this theme.
Install the Python package, build the viewer, then start the local server:
python -m pip install -e .[test]
cd web
pnpm install
pnpm build
cd ..
openfi doctor
openfi new-run --workflow company-research --strategy quality-growth --subject MSFT
openfi serveThen write real sourced artifacts into the created run folder, validate it with openfi validate-run <run-folder>, and open the printed local URL.
Bundled example runs are for UI and validator testing only:
openfi create-example-runThis writes to examples-output/runs by default. Do not use example runs as real research output.
The intended user experience is:
npx skills add openfi-researchThen the user can tell Claude Code, Codex, OpenCode, or another agent:
Use OpenFi Research to research MSFT.
Canonical test prompt:
Use OpenFi Research to analyze Microsoft.
Expected agent behavior:
- Bootstrap or update OpenFi.
- Read
SKILL.md,resolver/RESOLVER.md, the routed workflow, and the routed strategy. - Run
openfi new-run --workflow company-research --strategy quality-growth --subject Microsoft. - Research from current real sources.
- Write OpenFi artifacts under the returned
repo_path. - Run
openfi validate-run <run-folder>. - Start
openfi serve. - Check the viewer
/api/diagnosticsand confirmruns_dirmatches the run folder parent. - Check
/api/runsand confirm the created run id is visible. - Report the exact repo path, run folder, validation command, validation status, viewer URL, and blockers.
The test fails if the agent creates custom tooling, invents a separate viewer or validator, writes outside the bootstrap JSON repo_path, copies examples, uses demo fixtures as research, or reports a viewer URL whose diagnostics index a different runs directory.
The installed launcher skill lives at launcher/openfi-research/. It tells the agent to clone or update this repo, install the Python package, build the viewer with pnpm, read the repo skills, create a research run, validate it, and return the viewer URL.
Install the launcher skill into Codex with:
openfi install-skillUntil openfi-research is published to a skill registry, other agent hosts can install by copying launcher/openfi-research into the agent's local skills folder.
Agents start with SKILL.md, then load resolver/RESOLVER.md, then choose the matching workflow skill.
Company research loads workflows/company-research/SKILL.md plus strategies/quality-growth/SKILL.md by default.
Every research run is file backed. The viewer renders those files. It does not own hidden state.
Research runs live under artifacts/runs/ or examples/runs/.
Required files:
run.yml
run_card.md
report.md
sources.jsonl
claims.jsonl
assumptions.yml
checks.json
Theme discovery runs also include:
candidates.jsonl
See LICENSE.