Codex adapter note
This skill is generated from skills/thesis-tracker.md so Claude Code and Codex users share one canonical workflow.
- Treat
$ARGUMENTSas the user's request in the current Codex thread. - When the source mentions Claude-only surfaces such as Task, Agent, WebSearch, Bash, Read, or Write, use the closest Codex capability available in this session: subagents when available, web search when needed, shell commands for local tools, and normal file edits for workspace files.
- Use shared project tools from
tools/in this repository. Prefer running commands from the repository root with paths likepython3 tools/financial_rigor.py ...; if the current thread starts outside the repo, locate the actual checkout path first instead of assuming a fixed home-directory path. - Before starting research, run the
datecommand to confirm today's date; treat it as the baseline for "latest" data and state the data cutoff date in the report header. Never assume the current date from training data. - Preserve the research quality rules from
AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
Perform an investment thesis tracking check on $ARGUMENTS.
Supported input formats:
公司名— On first use, establish the investment thesis; on subsequent uses, track and check it公司名 建立论文— Force re-establishment of the investment thesis公司名 季度检查— Conduct a thesis check based on the latest financial report
"Buying is only the beginning. The real work is continuous tracking during the holding period." — Li Lu
"When the facts change, I change my mind. What do you do?" — Keynes
Design philosophy
Most investors' process is: research → buy → pray. The lack of systematic post-purchase tracking leads to:
- Being unwilling to sell when it is time to sell ("Wait a little longer, it will come back up")
- Selling in a panic when one should not sell ("It fell 20%, was I wrong?")
- Forgetting why you bought in the first place ("Why did I buy this again?")
Buffett and Li Lu's approach is:Write down the sell conditions before buying. Then check every quarter whether the thesis remains intact.
Execution process
Step 1: Determine the operating mode
Check whether an investment thesis file for the company already exists (reports/{公司名}-thesis.md):
- If it does not exist → enterEstablish thesismode
- If it exists → entertracking checkmode
- If it cannot be found but the user says it already exists → ask for the file path
Mode A: Establish investment thesis
A0: Data collection
Use WebSearch to obtain the current stock price, valuation metrics (PE/PB/dividend yield), and key data from the latest financial report, to fill in the valuation anchors. If the company already has an /investment-research or /investment-team report, read from it first.
Use tools/financial_rigor.py verify-valuation to validate the valuation data.
A1: Core thesis (must be written clearly in no more than 200 words)
The investment thesis must answer the following 5 questions, one sentence each:
我以 ___元 买入 ___公司,因为:
1. 这门生意的本质是___,我理解它的赚钱方式
2. 它的护城河是___,而且在变宽/稳定
3. 管理层___,值得信赖的原因是___
4. 当前价格相当于内在价值的___折,安全边际来自___
5. 即使我错了,下行风险可控,因为___
If it cannot be written completely in 5 sentences, the thesis itself has a problem—it means the buy decision was not clear enough.
A2: List of core assumptions
Break the investment thesis down into specific verifiable assumptions:
| # | Core assumption | Verification method | Verification frequency | Current status |
|---|---|---|---|---|
| 1 | Example: Revenue growth maintains 15%+ | Quarterly report revenue growth | Every quarter | 🟢 Intact |
| 2 | Example: Gross margin remains stable at 60%+ | Quarterly report gross margin | Every quarter | 🟢 Intact |
| 3 | Example: Management continues buybacks | Buyback announcements/cash flow statement | Every quarter | 🟢 Intact |
| 4 | Example: Competitors have not made a breakthrough | Industry data/competitor financial reports | Every six months | 🟢 Intact |
| 5 | ... | ... | ... | ... |
Usually 3–7 assumptions. Too few means the thinking is not deep enough; too many means the thesis is not focused enough.
A3: Red line list (triggering any one = must reassess)
| # | Red line conditions | Severity | Action after trigger |
|---|---|---|---|
| 1 | Example: Management integrity problem (financial fraud, related-party transactions) | Fatal | Liquidate immediately |
| 2 | Example: Core business revenue declines for 2 consecutive quarters | Severe | Reduce position by 50%, reassess |
| 3 | Example: Moat is clearly breached (competitor acquires equivalent capability) | Severe | Initiate deep research, consider exit |
| 4 | Example: Regulatory policy fundamentally changes the business model | Severe | Reassess intrinsic value |
| 5 | Example: Large-scale management selling (unplanned) | Warning | Investigate the reasons in depth |
Duan Yongping:"There are only three reasons to sell: 1. You realize you bought wrong; 2. The company's fundamentals have changed; 3. You have found something better."
A4: Valuation anchors
| Metric | At purchase | Optimistic target | Neutral target | Pessimistic scenario |
|---|---|---|---|---|
| Share price | ||||
| PE | ||||
| Market cap | ||||
| Intrinsic value estimate | ||||
| Margin of safety |
A5: Save the thesis
Write the investment thesis into reports/{公司名}-thesis.md, including:
- Establishment date
- Purchase price and position size
- Core thesis (5 sentences)
- Core assumptions list
- Red line list
- Valuation anchors
- Tracking record table (initially empty)
Mode B: Tracking check
B1: Read the existing thesis
Read reports/{公司名}-thesis.md, load:
- Core thesis
- Core assumptions list
- Red line list
- Last check record
B2: Collect the latest data
Use WebSearch to collect:
- Latest financial report data (if there is a new quarterly/annual report)
- Recent major events (management changes, regulatory policy, competitive dynamics)
- Current share price and valuation metrics
- Insider transaction records (major shareholder increases/decreases)
B3: Check core assumptions one by one
For each core assumption, verify with the latest data:
| # | Core assumption | Last status | Latest evidence | Current status | Change |
|---|---|---|---|---|---|
| 1 | Revenue growth 15%+ | 🟢 Holds | Q4 revenue growth 12% | 🟡 Marginally weakening | ⚠️ |
| 2 | Gross margin 60%+ | 🟢 Holds | Gross margin 61.2% | 🟢 Holds | — |
| 3 | ... | ... | ... | ... | ... |
Status definitions:
- 🟢 Holds — The latest data supports this assumption
- 🟡 Marginally weakening — The data is still within an acceptable range, but the trend is unfavorable
- 🔴 Impaired — The data clearly does not support this assumption
- ⚫ Broken — The assumption has been overturned
B4: Red line check
Check the red line list one by one:
| # | Red line condition | Whether triggered | Evidence |
|---|---|---|---|
| 1 | Management integrity issues | ❌ Not triggered | — |
| 2 | Core business declining for 2 consecutive quarters | ❌ Not triggered | — |
If any red line is triggered → highlight it prominently in the report and provide clear action recommendations.
B5: Valuation Update
| Metric | At purchase | Last check | Current | Change |
|---|---|---|---|---|
| Stock price | ||||
| PE(TTM) | ||||
| Intrinsic value estimate | ||||
| Margin of safety |
B6: Output Tracking Report
Report structure
一、论文健康度评分(满分10分)
二、核心假设检查结果(表格)
三、红线检查结果(表格)
四、本期关键变化(不超过500字)
五、估值更新
六、结论与行动建议
七、下次检查需关注的重点
Thesis health scoring criteria
| Score | Meaning | Recommended action |
|---|---|---|
| Calculation formula: Health = 10 - (number of ⚫ broken assumptions × 3) - (number of 🔴 damaged assumptions × 2) - (number of 🟡 weakened assumptions × 1) - (number of red lines triggered × 5); minimum 1 point, maximum 10 points. |
| Score | Meaning | Recommended action |
|---|---|---|
| 9-10 | All assumptions hold; the thesis is stronger than at purchase | Consider adding to position |
| 7-8 | Core assumptions hold; a few marginal ones weakened | Continue holding |
| 5-6 | 1-2 assumptions damaged, but the core logic is unchanged | Hold but increase vigilance |
| 3-4 | Multiple assumptions damaged; the thesis foundation is shaken | Consider reducing position |
| 1-2 | Red line triggered or core assumptions broken | Strongly recommend selling |
The conclusion must clearly answer
- Is the thesis still intact? Intact / Marginally weakened / Damaged / Broken
- What should be done? Add to position / Hold / Reduce position / Liquidate
- Next check time: After the next quarterly report is released / after a specific event
B7: Update the thesis file
Append this check record to the tracking record table of reports/{公司名}-thesis.md :
| Check date | Health | Core changes | Recommended action |
|---|---|---|---|
| 2026-04-09 | 7/10 | Revenue growth slowed to 12%, but profit margin improved | Hold |
Key principles
- Write down the sell conditions before buying — Decisions made calmly are better than those made in panic
- The thesis must be specific enough to be verifiable — "The company is good" is not a thesis; "ROE>25% and the trend is stable" is
- Act as soon as a red line is triggered — What is most feared is "let's wait and see"; this is the beginning of losing big money
- Thesis broken ≠ stock price falling — A 30% stock price drop does not necessarily mean you should sell; only a broken thesis means you should sell
- Face mistakes honestly — If the thesis was built wrong, admit it; do not stubbornly hold on just to save face