Install any skill in seconds. Free to start, no credit card required.
Get Started Free →sickn33/trading-ledger
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.
Passed 15 of 20 test cases with the skill, and 7 of 20 without it.
and 7 more in the full report
8 fixed8 passed either way6 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
I bought 1000 shares of Kweichow Moutai (600519) at 1700 RMB today on China mainland market. What value goes into the Market select field?
| Checked | Without skill | With skill |
|---|---|---|
| Sets the Market database field to A-Shares. | Missed | Passed |
The instructions your model reads when the skill loads.
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.
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 / OtherDirection (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)Thesis (text) — the soul of the journal; if missing, ask on the spotPlan (text) — stop / target / contingency; ask if missingEmotion (select): Calm / FOMO / Panic / Revenge / Boredom / Overconfidence — tag only what the user admits or what is plain in their words; don't diagnoseExecution (select): Per plan / Early exit / Delayed stop / Impulse / Unplanned add — filled at closeP&L (number, realized) · Status (select): Open / Closed / To-confirm / Reviewed · Review (text) · Notes (text)Parse → create a row with Status=Open. A missing thesis is the one field worth interrupting for — ask immediately. Anything else uncertain: record what you have, put the question in Notes, mark To-confirm.
test cases passed, vs 7 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.