| name | trading-ledger |
| description | A trading journal that captures the decision, not just the fill: thesis, plan, and emotion at the moment of entry, written to the user's own Notion database; reviews grade decisions, not P&L. |
| category | productivity |
| risk | critical |
| source | community |
| source_repo | cruisekkk/trading-ledger |
| source_type | community |
| date_added | 2026-07-04 |
| author | cruisekkk |
| tags | ["trading-journal","notion","journaling","market-wizards","decision-making"] |
| tools | ["claude"] |
| license | MIT |
| license_source | https://github.com/cruisekkk/trading-ledger/blob/main/LICENSE |
Trading Ledger
Overview
A journaling skill in the tradition of the Market Wizards interviews: a written record of every trade's decision process, reviewed on a schedule. The user reports a trade in plain language — "bought 500 NVDA at 135, stop at 128, betting the post-earnings dip fills" — and the agent writes ticker, size, and price to the user's own Notion database plus the part every spreadsheet journal loses: the thesis, the plan, and the emotion. If no reason is stated, it asks on the spot, because entry reasons decay overnight. Reviews grade decision quality against the user's own plan — a per-plan loss scores better than a lucky win. Core contract: never fabricate when unsure; mark To-confirm and batch-ask.
When to Use This Skill
- Use when the user reports a trade fill ("bought 500 NVDA at 135", "closed my TSLA position", "opened 2 ES contracts short")
- Use when the user says "log a trade" or "trading ledger", or "tidy up my trading ledger"
- Use when the user asks to "review my trades"
How It Works
Step 1: Confirm the database (first use per session)
Use Notion search to find candidate databases (type database, not pages) whose title
contains "trading-ledger". Before any query or create-pages call, show the user the
candidate title and data_source_id (collection://... UUID) and ask them to confirm the exact
database for this session. A single title match is not sufficient confirmation. If the connector
returns owner or schema metadata, show it as an additional identity check. Use only the
user-confirmed ID for the remainder of the session; do not re-run fuzzy selection after a
confirmation.
The companion Notion template (free, linked in the source repo) ships this schema — select values are a controlled enum, copy them exactly:
Entry (title); Ticker (text — strikes/expiries here: NVDA / NVDA 0620C150 / ESU6)
Market (select): US Stocks / US Options / US Futures / A-Shares / HK Stocks / CN Futures / Crypto / Other
Direction (select): Long / Short · Size (text, with units)
Entry Price / Exit Price (number) · Entry Date / Exit Date (date — expand to "date:Entry Date:start": "YYYY-MM-DD"; a bare value fails with HTTP 400)