# How to Conduct Earnings Reviews Using AI Berkshire's `/earnings-review` Skill

> Automate earnings analysis with AI Berkshire's /earnings-review skill. This skill streamlines data acquisition and validation for audited Markdown reports.

- Repository: [Xbt Lin/ai-berkshire](https://github.com/xbtlin/ai-berkshire)
- Tags: how-to-guide
- Published: 2026-06-27

---

**TLDR:** The `/earnings-review` skill in `xbtlin/ai-berkshire` executes an eight-step workflow defined in [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md) to automate earnings analysis, using parallel agents for data acquisition and [`tools/financial_rigor.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/financial_rigor.py) for zero-dependency validation before generating audited Markdown reports.

The `xbtlin/ai-berkshire` repository provides a sophisticated AI-driven framework for financial analysis. The **`/earnings-review`** skill automates the entire lifecycle of earnings report analysis, from primary source acquisition to final audit verification. This guide explains how to leverage the skill's eight-step workflow to produce institutional-grade earnings reviews.

## Invoking the `/earnings-review` Skill

To start an earnings review, invoke the skill with the company name and reporting period. The skill automatically resolves company identifiers and initiates the workflow defined in [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md).

```text
/earnings-review 腾讯 2025Q4

```

This creates `reports/腾讯-earnings-2025Q4.md` after completing all eight steps.

## The Eight-Step Workflow

The skill orchestrates a full-cycle analysis through eight logical phases. Each step is implemented via specific sections in [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md) and supported by specialized tools.

### Step 1: Data Availability Rating (Lines 24-31)

The workflow begins by classifying source availability as **Grade A, B, or C** (资料可得性评级). This classification sets downstream expectations for data completeness and determines which validation thresholds apply to the current review.

### Step 2: Parallel Primary Source Acquisition (Lines 32-41)

**Parallel agents** simultaneously fetch raw materials including 10-K/10-Q filings, conference call transcripts, and shareholder letters (获取一手资料). The skill spawns multiple background agents via the `Task` tool to query SEC EDGAR, 港交所披露易, and 巨潮资讯 concurrently, minimizing latency through parallel execution.

### Step 3: Financial Data Extraction and Validation (Lines 43-78)

The skill constructs standardized data tables for income statements, cash flow, and balance sheets (核心财务数据提取与验证). It then invokes [`tools/financial_rigor.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/financial_rigor.py) to perform cross-source checks. This **zero-dependency validation** tool verifies market cap, valuation metrics, and mathematical exactness without external library dependencies.

```bash
python3 tools/financial_rigor.py cross-validate \
  --field revenue \
  --values '{"年报": 7518, "Yahoo": 7500, "StockAnalysis": 7520}' \
  --unit 亿

```

### Step 4: MD&A and Management Tone Analysis (Lines 94-108)

The skill parses Management Discussion and Analysis (MD&A) sections and Q&A transcripts (管理层讨论精读), tagging tone signals including **frankness (坦诚)**, **clarity (清晰)**, **ambiguity (模糊)**, **deflection (转移)**, and **external attribution (归因外部化)**. These qualitative markers provide insight into management credibility and communication transparency.

### Step 5: Footnote and Hidden Information Mining (Lines 127-138)

Anomaly detection algorithms scan for high-risk items buried in financial statement footnotes (附注与隐藏信息挖掘). The system flags **related-party transactions (关联交易)**, **equity incentives (股权激励)**, **contingent liabilities (或有负债)**, and **accounting policy changes (会计政策变更)** that may materially impact valuation.

### Step 6: Historical Comparison and Guidance Analysis (Lines 148-167)

Current period data is inserted into a multi-quarter trend matrix (与历史数据对比). The skill compares actuals against previous management guidance and historical seasonal patterns to identify deviations and trend anomalies across multiple reporting periods.

### Step 7: Structured Report Generation (Lines 170-188)

The skill populates a fixed Markdown template at `reports/{company}-earnings-{period}.md` (输出精读报告). The template uses a deliberately simple structure to enable downstream skills to reference the output via `{{ include }}` macros without re-parsing raw data.

### Step 8: Audit Pipeline and Quality Gates (Lines 190-208)

Before publication, [`tools/report_audit.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/report_audit.py) extracts a verification checklist and re-queries every data point (数据抽检). The audit pipeline returns a **publish** or **reject** verdict based on data provenance verification, enforcing an audit-first culture before any report is considered final.

```bash

# Extract checklist from generated report

python3 tools/report_audit.py extract \
  --report reports/腾讯-earnings-2025Q4.md

# Verify specific line items (example for revenue)

python3 tools/financial_rigor.py cross-validate \
  --field revenue \
  --values '{"公司财报": 7518, "Yahoo Finance": 7515}' \
  --unit 亿

# Produce final verdict based on verification results

python3 tools/report_audit.py verdict \
  --results '<JSON-payload-from-previous-step>' \
  --report reports/腾讯-earnings-2025Q4.md

```

## Reusing Earnings Reports in Downstream Skills

Generated reports support modular inclusion through the Codex-prompt compatibility layer. Other skills can embed verified analysis using the `include` macro, which is kept in sync by [`scripts/sync-codex-prompts.py`](https://github.com/xbtlin/ai-berkshire/blob/main/scripts/sync-codex-prompts.py).

```markdown
> See the latest earnings insight:
> ```markdown
> {{ include "reports/腾讯-earnings-2025Q4.md" }}
> ```

```

This allows portfolio-review and thesis-tracker skills to consume verified data without re-parsing raw filings.

## Summary

- The `/earnings-review` skill in `xbtlin/ai-berkshire` automates eight distinct phases of earnings analysis via [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md).
- **Parallel data harvesting** accelerates acquisition from multiple regulatory sources simultaneously through background agents.
- **Zero-dependency validation** through [`tools/financial_rigor.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/financial_rigor.py) ensures mathematical accuracy and cross-source verification without external library risks.
- The **audit-first culture** enforced by [`tools/report_audit.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/report_audit.py) guarantees data provenance before any report is published at `reports/{company}-earnings-{period}.md`.
- Output templates use standard Markdown syntax to ensure interoperability with other AI Berkshire skills via the Codex-prompt compatibility layer.

## Frequently Asked Questions

### What file formats does the earnings review skill generate?

The skill generates Markdown files following the template pattern `reports/{company}-earnings-{period}.md`. This format is chosen for human readability and machine parsability, allowing other skills to reference outputs via include macros without additional parsing logic.

### How does the validation ensure data accuracy?

Accuracy is enforced through [`tools/financial_rigor.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/financial_rigor.py), which performs cross-source validation, Benford's Law analysis, and exact mathematical calculations using pure Python standard libraries. Before final output, [`tools/report_audit.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/report_audit.py) re-queries every data point from reliable sources to verify provenance and returns a binary verdict.

### Can I customize the earnings review workflow?

Yes. The workflow is defined in the human-readable [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md) file. Analysts can modify the eight-step sequence, adjust validation thresholds in [`financial_rigor.py`](https://github.com/xbtlin/ai-berkshire/blob/main/financial_rigor.py), or customize the Markdown template structure located at lines 170-188 of the skill file to match specific reporting requirements.

### Which data sources does the skill query for primary documents?

The skill queries SEC EDGAR for US listings, 港交所披露易 for Hong Kong stocks, and 巨潮资讯 for A-share companies. These queries execute in parallel via background agents to minimize latency during the acquisition phase defined in [`skills/earnings-review.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/earnings-review.md) lines 32-41.