The first tagged release of FOMO Kernel.
You bring a trade you are considering, or the trades you already made. FOMO Kernel answers it against your own recorded book — what the trade does to your weights, concentration, drivers and cash, and which of your own rules it collides with. A deterministic Python engine owns every number; the agent handles what code cannot settle: your motive, the strongest counter-case, and a direct explanation of what matters.
It runs locally. There is no backend, no account, and nothing is sent to the author.
Install
git clone https://github.com/atomchung/fomo-kernel
cd fomo-kernel
python3 -m venv .venv
source .venv/bin/activate
pip install -r skills/fomo-kernel/requirements.txt
python3 skills/fomo-kernel/engine/review.py doctor
mkdir -p ~/.claude/skills
ln -s "$(pwd)/skills/fomo-kernel" ~/.claude/skills/fomo-kernelThen, in Claude Code:
/fomo-kernel I'm considering adding 20 shares of NVDA.
My current reason is ..., and what changed now is ...
Codex, Cursor and other compatible agents read the same host-neutral contract by opening the repository and following AGENTS.md.
Questions and cards render in English, Traditional Chinese, and Simplified Chinese.
In this release
- Before a trade —
considercomputes the deterministic consequence of one contemplated trade against the recorded book, then argues both sides of it and states what it could not check. A decision brought with no book is framed rather than refused, and nothing from that path is persisted. - After trades — a broker export becomes one behavior review: per-position diagnosis, sizing and averaging-down and exit patterns, supported performance attribution, and at most one rule you choose. The next review opens by reconciling it.
- Durable local state — completed reviews commit as immutable canonical sessions through an atomic rename; interrupted sessions resume without re-asking, and a failed projection rebuilds from the committed session rather than from you.
- Mixed markets — TW renders against
^TWIIand US againstSPY, with no synthesized combined benchmark. - Missing facts are disclosed, never defaulted — a price the engine cannot retrieve is a stated gap, not an interpolation.
The complete offline suite — 58 registered suites — passes on Python 3.11 and 3.12, and CI's blocking product-contract job runs the product group before merge.
Known limitations
- The interactive experience follows the host. Claude Code provides native option controls and inline card rendering. On a host without them, required questions can degrade to hand-typed codes and the preview card may not reach the conversation — the engine still completes and the local card files are still written (#230).
- Windows cannot finalize.
prepareandpreviewrun; durablefinalizefails closed before committed state changes, because the implementation requires POSIX locking and directoryfsync. macOS and Linux are unaffected. - Long-only. Shorts and sell-before-buy are out of scope and disclosed rather than approximated.
- A holdings snapshot buys less than a transaction history — an opening structural check, not averaging-down, exit discipline, win rate, payoff or alpha.
Full notes: CHANGELOG.md. Open defects: the issue tracker.
This is research and decision-coaching support, not investment advice. You remain responsible for every investment decision and outcome.