SuperAPI AI Directory

earnings-review

Writing & research

View repository

Updated 10-16 01:34

About this skill

Codex adapter note

This skill is generated from skills/earnings-review.md so Claude Code and Codex users share one canonical workflow.

  • Treat $ARGUMENTS 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 tools/ 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 date 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 AGENTS.md: cross-check financial data, use exact arithmetic tools for valuation/math, and clearly label uncertainty and source gaps.
In-depth financial report reading: In-depth interpretation of primary sources

Conduct an in-depth financial report reading analysis of $ARGUMENTS.

Supported input formats:公司名 季度, for example:腾讯 2025Q4、PDD 2025年报、美团 最新(by default reads the most recent period)

"I never read sell-side research reports, only the original financial statements." — Li Lu

"I read 500 pages every day. That's how knowledge builds up, like compound interest." — Buffett

Design philosophy

Most AI investment research tools rely on secondhand information (news, research report summaries, data websites). But the core ability of Buffett and Li Lu isreading primary sources—annual reports, quarterly reports, earnings call transcripts.

The problem with secondhand information:

  • It has been filtered—analysts selectively present data favorable to their views
  • There is a time lag—by the time others have digested it, the alpha is already gone
  • It lacks context—"revenue grew 15%" is detached from management's discussion of the quality of growth

This Skill directly interprets primary sources and focuses on what Buffett and Li Lu would actually look at.

Execution process

Preliminary step: Material availability rating

Rating Characteristics Impact
Grade A Obtained the complete original text (10-K/annual report/earnings call transcript) Normally execute all steps
Grade B Only obtained part of the original text or a third-party summary Mark as "non-primary source" and lower the weight of footnote analysis
Grade C Only news reports and data website summaries are available Focus on changes in core financial data, skip footnote mining, and mark as "insufficient primary materials"

Step 1: Obtain primary sources

Use the Task tool to launch multiple background Agents in parallelto obtain the following original materials:

  1. Original financial report: Obtain from the company IR page, SEC EDGAR (U.S. stocks 10-K/10-Q), HKEXnews (Hong Kong stocks), CNINFO (A-shares)
  2. Earnings call transcript/recording: Obtain from Seeking Alpha, the company IR page, Xueqiu, etc.
  3. Management letter to shareholders(if there is an annual report): read it in full
  4. Investor Day/Analyst Day materials(if there were any recently)

If the complete original text cannot be obtained, follow the skills/financial-data.md specification to piece it together using standard data sources (U.S. stocks: macrotrends+stockanalysis; Hong Kong stocks: aastocks+macrotrends; A-shares: East Money+CNINFO; Taiwan stocks: FinMind tools/twstock_data.py+Goodinfo), but it must be marked "non-original financial report, from third-party summary," and key data with a discrepancy >1% between two sources must be flagged.

Step 2: Extraction and verification of core financial data

2.1 Income and income statement

Metric Current period Prior period YoY change Management guidance Whether it met the target

Must cover:

  • Breakdown of total revenue and revenue by business/geography
  • Changes in gross profit and gross margin
  • Changes in operating profit and operating margin (distinguish GAAP and Non-GAAP)
  • Net profit (note the impact of non-recurring gains and losses)
  • EPS (basic vs diluted)

2.2 Cash flow statement (what Buffett values most)

Metric Current period Prior period Change Points to watch

Must cover:

  • Ratio of operating cash flow to net profit (>100% is good, <80% warrants caution)
  • Capital expenditures and their composition (maintenance vs expansion)
  • Free cash flow = operating cash flow - capital expenditures
  • Share buyback amount, dividend amount
  • Closing balance of cash and cash equivalents

2.3 Balance sheet health

Must cover:

  • Cash + short-term investments vs interest-bearing debt
  • Trend of net cash/net debt
  • Change in accounts receivable turnover days (is credit terms being loosened to boost revenue?)
  • Change in inventory turnover days (is inventory piling up?)
  • Proportion of goodwill and intangible assets (is there impairment risk?)

Data verification: Use tools/financial_rigor.py to validate key data:

# 收入和净利润交叉验证(至少2个来源)
python3 tools/financial_rigor.py cross-validate \
  --metric "revenue" --values 108.3e9 107.9e9 --sources "公司财报" "Yahoo Finance"

# 市值校验
python3 tools/financial_rigor.py verify-market-cap \
  --price 101 --shares 1.488e9 --reported 1.44e11 --currency USD

# 估值指标验算
python3 tools/financial_rigor.py verify-valuation \
  --price 101 --eps 9.6 --bvps 26.5 --fcf-per-share 10.2

Step 3: Close reading of management discussion (MD&A)

This is the part where Buffett and Li Lu spend the most time. It's not about looking at the numbers, it's aboutlistening to what management says。

3.1 Management tone analysis

Read the management discussion/conference call remarks paragraph by paragraph, and flag the following signals:

Signal type Specific manifestation Example
🟢 Candor signal Proactively acknowledges problems and gives specific reasons "The margin decline this quarter was mainly because our investment in area X exceeded expectations"
🟢 Clarity signal Strategic statements are specific and have quantified targets "We plan to increase the market share of business X from 15% to 20% over the next 12 months"
🔴 Vague signal Heavy use of "we believe," "over the long term," and other statements with no substantive content "We are full of confidence in the future"
🔴 Deflection signal Avoids direct questions and steers away with other topics When asked about margins, switches to talking about revenue growth
🔴 Externalizing attribution Blames problems entirely on the macro environment/industry/competitors "Due to the macroeconomic environment..."

3.2 Commitment tracking

Extract management's specific commitments from the previous period's financial report/conference call and compare them with the actual situation this period:

Prior period commitment Actual fulfillment this period Assessment
"Margins will recover to X% in the second half" Actual Y% ✅ Met / ❌ Not met / ⚠️ Partially met

Duan Yongping: "The simplest way to tell whether a management team is reliable is to see whether they did what they said before."

3.3 Identification of key issues

Extract the most pointed analyst questions from the Q&A session of the conference call, as well as the quality of management's answers:

Analyst question Management answer Answer quality (1-5) Whether avoided

Step 4: Mining notes and hidden information

The information management doesn't want you to easily see is hidden in the financial statement notes:

4.1 Must-check note items

  • Related-party transactions: Are the terms of transactions with major shareholders/related parties fair?
  • Equity incentives: How large is the dilution effect of options/RSUs? What is the exercise price?
  • Contingent liabilities: Off-balance-sheet risks such as litigation, guarantees, and commitments
  • Changes in accounting policies: Have they changed the revenue recognition method, depreciation period, etc.?
  • Segment information: Differences in profit margins across businesses, and whether there is "good business subsidizing bad business"
  • Customer/supplier concentration: Proportion of the top five customers/suppliers

4.2 Abnormal signal detection

  • Growth rate of accounts receivable > revenue growth rate (may be channel stuffing)
  • Inventory growth rate > revenue growth rate (may be inventory buildup)
  • Operating cash flow < net profit and the gap is widening (profit quality is questionable)
  • Capitalized expenditures suddenly increase (may be window-dressing profits)
  • The proportion of non-recurring gains suddenly rises

Step 5: Compare with historical data

5.1 Trend analysis

Place the key indicators for the current period into a time series of at least 4 quarters (or 3 annual reports):

Indicator Q-4 Q-3 Q-2 Q-1 Current period Trend judgment

Key focus:

  • Are profit margins improving or deteriorating?
  • Is revenue growth accelerating or decelerating?
  • Is cash flow quality improving or declining?
  • Is capital expenditure intensity increasing or decreasing?

5.2 Comparison with management guidance

Indicator Previous management guidance Actual result Deviation Interpretation

Step 6: Output a close-reading report

Report structure

一、核心数据速览(一页表格)
二、本期最重要的3个变化(不超过500字)
三、管理层语气与承诺追踪
四、附注中的隐藏信息
五、关键问题(电话会Q&A精选)
六、与投资论文的关系(如有持仓)
七、结论:这份财报改变了什么?

The conclusion must clearly answer

  1. Is this financial report above expectations, in line with expectations, or below expectations?(You cannot say "basically in line" and then list a bunch of two-sided statements)
  2. Impact on the investment thesis: Strengthen / no impact / weaken / break
  3. What is the next catalyst to watch?
  4. If you already hold it, should you add to the position/hold/reduce the position?

Step 7: Save the report

Write the report to reports/{公司名}-earnings-{期间}.md, for example reports/腾讯-earnings-2025Q4.md

Step 8: Data spot check (release process)

After the report is written, perform a data spot check; only after passing can it be published:

# Step 1 — 提取抽检清单
python3 tools/report_audit.py extract \
  --report reports/{公司名}-earnings-{期间}.md

# Step 2 — 对清单每项从可靠信源取数(参见 skills/financial-data.md)

# Step 3 — 输出准出/打回判决
python3 tools/report_audit.py verdict \
  --results '<填好的JSON>' \
  --report {报告文件名}

[Release] All pass → publish;[Reject] If any fail → revise and re-review.

Key principles

  • Read the original text, not the summary: Make every possible effort to obtain primary sources
  • Look at changes, not absolute values: Trends are more important than the numbers themselves
  • Listen to the tone, not just the content: How management says it is as important as what they say
  • Check the notes, don't just read the main text: The devil is in the details
  • Give conclusions, don't make summaries: The purpose of close reading is to form a judgment, not to restate the financial report