Codex adapter note
This skill is generated from
so Claude Code and Codex users share one canonical workflow.
- Treat as 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 in this repository. Prefer running commands from the repository root with paths like
python3 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 command 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 : cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
Investment Thesis Tracker: Post-Purchase Discipline System
Perform investment thesis tracking checks on $ARGUMENTS.
Supported Input Formats:
- — Establish an investment thesis on first use, perform tracking checks on subsequent uses
Company Name Establish Thesis
— Force re-establishment of the investment thesis
Company Name Quarterly Check
— Perform thesis check based on the latest financial report
"Buying is just the beginning. The real work is continuous tracking during holding." — Li Lu
"When the facts change, I change my mind. What do you do?" — John Maynard Keynes
Design Philosophy
Most investors' process is: Research → Buy → Pray. The lack of systematic tracking after purchase leads to:
- Reluctance to sell when it's time to ("Wait a bit longer, it will rebound")
- Panic selling when it shouldn't be done ("It's dropped 20%, was I wrong?")
- Forgetting why they bought it in the first place ("Why did I buy this again?")
Warren Buffett and Li Lu's approach is: Write down the selling conditions before buying. Then review the thesis every quarter to ensure its integrity.
Execution Process
Step 1: Determine Operation Mode
Check if the company's investment thesis file (
reports/{Company Name}-thesis.md
) exists:
- If it doesn't exist → Enter Establish Thesis mode
- If it exists → Enter Tracking Check mode
- If not found but the user claims it exists → Ask for the file path
Mode A: Establish Investment Thesis
A0: Data Collection
Use WebSearch to obtain current stock price, valuation metrics (PE/PB/dividend yield), and core data from the latest financial report for filling in valuation anchors. If there are existing
or
reports for the company, prioritize reading from them.
Use
tools/financial_rigor.py verify-valuation
to validate valuation data.
A1: Core Thesis (Must be written within 200 words)
The investment thesis must answer the following 5 questions, one sentence per question:
I bought ___ company at ___ yuan because:
1. The nature of this business is ___, and I understand how it makes money
2. Its moat is ___, and it is widening/stable
3. The management is ___, and the reason for trust is ___
4. The current price is a ___ discount to intrinsic value, and the margin of safety comes from ___
5. Even if I'm wrong, the downside risk is controllable because ___
If you can't complete these 5 sentences, the thesis itself is problematic — it means the buying decision isn't clear enough.
A2: Core Assumption List
Break down the investment thesis into verifiable specific assumptions:
| # | Core Assumption | Verification Method | Verification Frequency | Current Status |
|---|
| 1 | Example: Revenue growth remains at 15%+ | Quarterly report revenue growth | Quarterly | 🟢 Valid |
| 2 | Example: Gross margin stabilizes at 60%+ | Quarterly report gross margin | Quarterly | 🟢 Valid |
| 3 | Example: Management continues share repurchases | Repurchase announcements/cash flow statement | Quarterly | 🟢 Valid |
| 4 | Example: Competitors have not made breakthroughs | Industry data/competitors' financial reports | Semi-annually | 🟢 Valid |
| 5 | ... | ... | ... | ... |
Usually 3-7 assumptions. Too few means insufficient thinking, too many means the thesis is not focused enough.
A3: Red Line List (Triggering any item = Must re-evaluate)
| # | Red Line Condition | Severity | Action After Trigger |
|---|
| 1 | Example: Management integrity issues (financial fraud, related-party transactions) | Fatal | Liquidate immediately |
| 2 | Example: Core business revenue declines for 2 consecutive quarters | Severe | Reduce position by 50% and re-evaluate |
| 3 | Example: Moat is clearly breached (competitors gain equivalent capabilities) | Severe | Launch in-depth research and consider exiting |
| 4 | Example: Regulatory policies fundamentally change the business model | Severe | Re-evaluate intrinsic value |
| 5 | Example: Large-scale management share reduction (unplanned) | Warning | Conduct in-depth investigation into the reason |
Duan Yongping: "There are only three reasons to sell: 1. Found out I bought the wrong one; 2. The company's fundamentals have changed; 3. Found a better one."
A4: Valuation Anchors
| Indicator | At Purchase | Optimistic Target | Neutral Target | Pessimistic Scenario |
|---|
| Stock Price | | | | |
| PE | | | | |
| Market Capitalization | | | | |
| Intrinsic Value Estimate | | | | |
| Margin of Safety | | | | |
A5: Save Thesis
Write the investment thesis to
reports/{Company Name}-thesis.md
, including:
- Establishment date
- Purchase price and position
- Core thesis (5 sentences)
- Core assumption list
- Red line list
- Valuation anchors
- Tracking record table (initially empty)
Mode B: Tracking Check
B1: Read Existing Thesis
Read
reports/{Company Name}-thesis.md
and load:
- Core thesis
- Core assumption list
- Red line list
- Last check record
B2: Collect Latest Data
Use WebSearch to collect:
- Latest financial report data (if new quarterly/annual reports are available)
- Recent major events (management changes, regulatory policies, competitive dynamics)
- Current stock price and valuation metrics
- Insider trading records (major shareholders' share increases/reductions)
B3: Check Core Assumptions One by One
Verify each core assumption with the latest data:
| # | Core Assumption | Last Status | Latest Evidence | Current Status | Change |
|---|
| 1 | Revenue growth 15%+ | 🟢 Valid | Q4 revenue growth 12% | 🟡 Marginally Weakened | ⚠️ |
| 2 | Gross margin 60%+ | 🟢 Valid | Gross margin 61.2% | 🟢 Valid | — |
| 3 | ... | ... | ... | ... | ... |
Status Definitions:
- 🟢 Valid — Latest data supports the assumption
- 🟡 Marginally Weakened — Data is still within acceptable range but the trend is unfavorable
- 🔴 Impaired — Data clearly does not support the assumption
- ⚫ Broken — The assumption has been overturned
B4: Red Line Check
Check each item in the red line list:
| # | Red Line Condition | Triggered? | Evidence |
|---|
| 1 | Management integrity issues | ❌ Not Triggered | — |
| 2 | Core business revenue declines for 2 consecutive quarters | ❌ Not Triggered | — |
If any red line is triggered → Mark prominently in the report and give clear action recommendations.
B5: Valuation Update
| Indicator | At Purchase | Last Check | Current | Change |
|---|
| Stock Price | | | | |
| PE(TTM) | | | | |
| Intrinsic Value Estimate | | | | |
| Margin of Safety | | | | |
B6: Output Tracking Report
Report Structure
1. Thesis Health Score (Full Score 10)
2. Core Assumption Check Results (Table)
3. Red Line Check Results (Table)
4. Key Changes This Period (No more than 500 words)
5. Valuation Update
6. Conclusion and Action Recommendations
7. Key Focus Areas for Next Check
Thesis Health Score Criteria
Calculation Formula: Health Score = 10 - (Number of ⚫ Broken Assumptions ×3) - (Number of 🔴 Impaired Assumptions ×2) - (Number of 🟡 Weakened Assumptions ×1) - (Number of Triggered Red Lines ×5), minimum 1 point, maximum 10 points.
| Score | Meaning | Recommended Action |
|---|
| 9-10 | All assumptions are valid, thesis is stronger than at purchase | Consider increasing position |
| 7-8 | Core assumptions are valid,个别 marginally weakened | Continue holding |
| 5-6 | 1-2 assumptions are impaired, but core logic remains unchanged | Hold but increase vigilance |
| 3-4 | Multiple assumptions are impaired, thesis foundation is shaken | Consider reducing position |
| 1-2 | Red line triggered or core assumptions broken | Strongly recommend selling |
Conclusion Must Clearly Answer
- Is the thesis still intact? Intact / Marginally Weakened / Impaired / Broken
- What should be done? Increase Position / Hold / Reduce Position / Liquidate
- Next Check Time: After next quarterly report release / After a specific event
B7: Update Thesis File
Append this check record to the tracking record table in
reports/{Company Name}-thesis.md
:
| Check Date | Health Score | Core Changes | Action Recommendation |
|---|
| 2026-04-09 | 7/10 | Revenue growth slowed to 12%, but profit margin improved | Hold |
Key Principles
- Write selling conditions before buying — Decisions made calmly are better than those made in panic
- Thesis must be specific enough to be verifiable — "The company is good" is not a thesis; "ROE>25% and trend is stable" is
- Act immediately when red line is triggered — The worst thing is "Wait and see", which is the start of big losses
- Thesis broken ≠ Stock price drop — You don't have to sell if the stock drops 30%, only when the thesis is broken
- Be honest about mistakes — Admit if the thesis was built wrong, don't hold on for face