English | 简体中文
A journal that makes you say your reason out loud at the moment of entry. You report a trade in plain language — "bought 500 NVDA at 135, stop at 128, betting on the post-earnings dip filling" — and an AI writes it to your own Notion database: ticker, size, price, and the part every spreadsheet journal loses: your thesis, your plan, and how you felt. If you don't state a reason, it asks. That's the whole trick.
You: bought 1 TSM July call this morning, same thesis as before earnings
AI: Logged ✅ TSM 0731C475 · Long · Open
❓ To-confirm: how many contracts, at what price?
❓ And the plan — holding through earnings, or is there a stop?
You: 1 contract at 18.50, holding to earnings
AI: Updated ✅ Thesis: pre-earnings run-up · Plan: hold through earnings
Then, on review day: "review my trades" — and it walks every closed trade through three questions: did the thesis play out? did you follow the plan? which trades were emotion-tagged? A per-plan loss grades better than a lucky win, and it says so.
| 💬 Web / phone · Claude.ai | ⌨️ Terminal · Claude Code |
|---|---|
![]() |
![]() |
The habit that keeps surfacing in the Market Wizards interviews is unglamorous: a written record of every trade's decision process, reviewed on a schedule. Not to track P&L — the broker does that — but because the entry reason decays overnight. A week later you genuinely cannot remember whether you bought on a thesis or on a feeling, and your memory will flatter you.
The problem with every journaling tool: it's a form, and forms die in three days. This rides a habit you already have — you're in an AI chat anyway. One sentence at the moment of the fill, and the moment is captured before it can be revised.
A Claude skill (a single SKILL.md of instructions) + your own Notion database. No server, no backend, your data stays in your Notion. Capture anywhere you have Claude (phone / laptop / chat). Heads up: the skill / connector setup currently needs the paid tier of Claude.
Sister project: time-ledger — same method (Notion as source of truth + a skill that parses plain language + batch-asks instead of guessing), applied to where your hours go.
Step 0 — duplicate the Notion template: 🇬🇧 English · 🇨🇳 中文. One click; fields, views, and example rows included.
Then pick your surface:
⌨️ Terminal · Claude Code
git clone https://github.com/cruisekkk/trading-ledger.git
mkdir -p ~/.claude/skills/trading-ledger
cp trading-ledger/SKILL.md ~/.claude/skills/trading-ledger/SKILL.mdAdd the Notion MCP connector (grant your trading-ledger database), restart Claude Code, then: claude -p "log a trade: bought 200 AAPL at 210 today, thesis is ..."
💬 Web / phone · Claude.ai
- Settings → Capabilities → turn on Code execution and file creation ("Required for skills").
- Settings → Skills → Add → Write skill instructions — paste the name, description, and body from
SKILL.md(or zip the folder and use Upload a skill). - Settings → Connectors → Notion — grant access to your
trading-ledgerdatabase. - Just say "log a trade: ..." — works from the phone app too, which is where fills actually happen.
No id to paste, either way. The skill finds your database by title (keep trading-ledger / 交易账本 in it), reads its id, and writes the row — asking instead of guessing when unsure. On Claude.ai the first write pops an approve prompt (Notion's write tools default to needs approval) — expected, not a hang.
Customize — different markets, another currency column, your own emotion labels? Change the fields in your Notion database, then mirror them in the skill's instructions (the select values must match).
- Open: report the fill → it records ticker / size / price / thesis / plan / emotion, and asks for the thesis if you didn't give one.
- Close: "closed the TSM position at 89" → it finds the open row, fills exit / P&L, and grades the execution against your own plan: per plan / early exit / delayed stop / impulse.
- Batch reconcile: "tidy up my trading ledger" → every to-confirm row's questions, batched into one message.
- Review: "review my trades" → thesis vs outcome vs execution for every closed trade, plus the question that matters for open ones: does the entry thesis still hold today? Pair it with a weekly reminder and it becomes the Market Wizards habit on rails.
- You have to actually report the trades — it doesn't read your broker. (On purpose: the broker knows your fills, only you know your reasons.)
- The grading is only as honest as your inputs. If you backfill the thesis three days later, you've defeated the point — the skill nags about this, but it can't stop you.
This is a journaling tool. It records and mirrors your own decisions; it does not produce trading signals, price data, or investment advice, and the skill is explicitly instructed never to recommend a buy or sell. Trading involves risk of loss. Nothing here is financial advice.
MIT — see LICENSE. Fork it, use it, ship your own version.
If trading-ledger is useful, a ⭐ helps more people find it. Bugs, ideas, your own review rituals → the feedback thread.

