Buy-side discipline system. For each holding, maintain a written investment thesis — core thesis in 5 sentences, falsifiable assumptions, red lines, valuation anchors — and re-check it each quarter against new earnings/events. Scores thesis health 1-10 from assumption breakage and red-line triggers, and recommends hold / add / trim / exit. Use it right after buying a stock (to write the thesis) and every earnings season (to check it). Bridges the research→buy→monitor gap that most investors skip.
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Track an investment thesis for a holding. First use on a company → build the thesis; later uses → quarterly check.
Supported input: company name (auto-decide build vs track); company build (force rebuild); company quarterly check (against latest earnings).
"Buying is only the beginning. The real work is continuous tracking through the holding period." — Li Lu
"When the facts change, I change my mind. What do you do, sir?" — Keynes
Most investors' process is: research → buy → pray. Without systematic post-buy tracking, they: refuse to sell when they should ("wait, it'll come back"); panic-sell when they shouldn't ("down 20%, was I wrong?"); forget why they bought ("why did I buy this again?").
Buffett and Li Lu write down sell conditions before buying, then check the thesis each quarter.
Check whether a thesis file already exists (use read_file on reports/{company}-thesis.md): not found → Build (Mode A); found → Track (Mode B).
Use web_search to get the current price, valuation (PE/PB/dividend yield), and latest financials. If a research report exists, read_file it first. Use financial_rigor (command=verify_valuation) to verify valuation, financial_rigor (command=verify_market_cap) to sanity-check market cap.
The thesis must answer 5 questions, one sentence each:
I bought {Company} at {price} because:
1. The essence of this business is ___, and I understand how it makes money.
2. Its moat is ___, and it's widening / stable.
3. Management is ___, trustworthy because ___.
4. The current price is a {discount}% to intrinsic value; the margin of safety comes from ___.
5. Even if I'm wrong, downside is contained because ___.If you can't fill 5 sentences, the thesis itself is flawed — the buy decision isn't clear enough.
Break the thesis into verifiable assumptions (3-7 typically; too few = shallow thinking, too many = unfocused):
| # | Core Assumption | How to verify | Frequency | Status |
|---|---|---|---|---|
| 1 | e.g. revenue growth stays >15% | Quarterly revenue growth | Quarterly | 🟢 Holding |
| 2 | e.g. gross margin stable >60% | Quarterly gross margin | Quarterly | 🟢 Holding |
| # | Red-line condition | Severity | Action on trigger |
|---|---|---|---|
| 1 | Management integrity problem (fraud, related-party) | Fatal | Exit immediately |
| 2 | Core business revenue down 2 consecutive quarters | Severe | Trim 50%, re-evaluate |
| 3 | Moat explicitly breached (competitor reaches parity) | Severe | Deep research, consider exit |
| 4 | Regulatory change fundamentally alters the business model | Severe | Re-value intrinsic value |
| 5 | Management large unplanned disposal | Warning | Investigate |
| 6 | Macro trend reversal for this name's end-market — e.g. demographic clock (population decline) for consumer/property/education names; consumption downgrade (居民边际消费下降); generational shift away from the category | Severe | Re-evaluate the long-term demand base; for consumer-dependent names, this is often a slow-moving but fatal headwind — assess whether the thesis still holds at a structurally lower growth path |
The red line on macro trends (demographic clock / consumption / generational) is deliberately explicit: a value-investing thesis that picks a consumer name without weighing population decline and consumption-trend headwinds is incomplete. For non-consumer names (e.g. pure B2B industrial), this red line may be loose; for consumer/retail/education/property names, weight it heavily.
Duan Yongping: "There are only three reasons to sell: 1. you got the buy wrong; 2. the fundamentals changed; 3. you found something better."
| Metric | At buy | Optimistic target | Neutral target | Pessimistic |
|---|---|---|---|---|
| Price | ||||
| PE (TTM) | ||||
| Market cap | ||||
| Intrinsic value estimate | ||||
| Margin of safety |
Use write_file to write reports/{company}-thesis.md, including: build date, buy price and position, core thesis (5 sentences), assumptions list, red lines, valuation anchors, tracking table (empty initially).
Use read_file to load core thesis, assumptions, red lines, last check record.
Use web_search / get_stock_news / get_financial_statements: ① latest earnings (if new quarter/year); ② recent material events (management, regulation, competition); ③ current price and valuation; ④ insider transactions (major shareholder changes).
| # | Core Assumption | Last status | Latest evidence | Current status | Change |
|---|---|---|---|---|---|
| 1 | Revenue growth >15% | 🟢 Holding | Q4 revenue growth 12% | 🟡 Weakening | ⚠️ |
Status definitions:
Check each red line; any triggered → flag prominently in the report + clear action recommendation.
Use financial_rigor (command=verify_valuation) to recompute PE/PB/ROE; compare against buy-time and last check:
| Metric | At buy | Last check | Current | Change |
|---|---|---|---|---|
| Price | ||||
| PE (TTM) | ||||
| Intrinsic value estimate | ||||
| Margin of safety |
Structure: ① Thesis health score (out of 10); ② Assumption check table; ③ Red-line check table; ④ Key changes this period (≤500 words); ⑤ Valuation update; ⑥ Conclusion and action; ⑦ Focus for next check.
Health formula: 10 - (⚫broken × 3) - (🔴impaired × 2) - (🟡weakening × 1) - (red-lines triggered × 5), min 1, max 10.
| Score | Meaning | Action |
|---|---|---|
| 9-10 | All assumptions hold, thesis stronger than at buy | Consider adding |
| 7-8 | Core assumptions hold, some weakening | Continue holding |
| 5-6 | 1-2 assumptions impaired, core logic intact | Hold but raise alertness |
| 3-4 | Multiple assumptions impaired, foundation shaken | Consider trimming |
| 1-2 | Red line triggered or core assumption broken | Strongly consider exit |
The conclusion must clearly answer: ① Is the thesis still intact? (intact / weakening / impaired / broken); ② What to do? (add / hold / trim / exit); ③ Next check timing (next earnings / a specific event).
Use write_file to append this check to the tracking table in reports/{company}-thesis.md:
| Check date | Health | Key change | Action |
|---|---|---|---|
| 2026-04-09 | 7/10 | Revenue growth slowed to 12%, but margins improved | Hold |
HKUDS/Vibe-Trading
2dab6b1
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.