cross-validation

Verify key financial data points by cross-referencing values across two or more independent data sources. Detect discrepancies that may arise from differences in reporting periods, accounting adjustments, rounding conventions, or outright data errors. Produce a validation report that flags confirmed data, discrepancies above a defined threshold, and metrics with only single-source coverage, so downstream analysis rests on trustworthy inputs.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cross-validation" with this command: npx skills add tradeinsight-info/investment-analysis-skills/tradeinsight-info-investment-analysis-skills-cross-validation

Cross-Validation

Purpose

Verify key financial data points by cross-referencing values across two or more independent data sources. Detect discrepancies that may arise from differences in reporting periods, accounting adjustments, rounding conventions, or outright data errors. Produce a validation report that flags confirmed data, discrepancies above a defined threshold, and metrics with only single-source coverage, so downstream analysis rests on trustworthy inputs.

Data Fetching Process

Consult ${CLAUDE_PLUGIN_ROOT}/skills/_shared/references/data-sources.md for full source details and fallback behavior.

Source Selection Rules

Determine the primary source of the data being validated. Identify which source originally provided the data points under review:

  • If the original data came from SEC EDGAR, validate against Stock Analysis as the cross-check source.

  • If the original data came from Stock Analysis, validate against SEC EDGAR or Gurufocus as the cross-check source.

  • If the original data came from Gurufocus, validate against SEC EDGAR as the cross-check source.

  • If the original source is unknown or the user simply requests validation, fetch from both SEC EDGAR and Stock Analysis independently and compare.

Resolve the ticker. Fetch https://www.sec.gov/files/company_tickers.json using the sec-fetch skill (see data-sources.md ), locate the company's CIK, and pad it to 10 digits. Cache the CIK and official company name.

Fetching Source A — SEC EDGAR XBRL API

Fetch structured financial data from EDGAR. Request:

https://data.sec.gov/api/xbrl/companyfacts/CIK{10-digit-CIK}.json

Extract the following XBRL concepts for the most recent fiscal year (filter for fp == "FY" , sort by end date descending):

Metric XBRL Concept(s) Unit

Revenue Revenues , RevenueFromContractWithCustomerExcludingAssessedTax

USD

Net Income NetIncomeLoss

USD

Diluted EPS EarningsPerShareDiluted

USD/shares

Total Assets Assets

USD

Total Debt LongTermDebt , LongTermDebtAndCapitalLeaseObligations

USD

Stockholders' Equity StockholdersEquity

USD

Shares Outstanding CommonStockSharesOutstanding

shares

Record the end date for each data point to ensure period alignment during comparison.

Fetching Source B — Stock Analysis

Fetch financial data from Stock Analysis. Retrieve:

Parse the HTML tables to extract the matching fiscal year's figures. Ensure the fiscal year end date aligns with the EDGAR data. Note any labeling differences (e.g., Stock Analysis may label "Total Debt" differently than EDGAR's LongTermDebt ).

Fetching Source C — Gurufocus (When Needed)

Common metric slugs: revenue , net-income , eps-diluted , total-assets , long-term-debt , pe-ratio , ev-to-ebitda .

Market-Derived Metrics

  • Validate market-derived metrics separately. Market cap, P/E, and EV/EBITDA change with share price and may differ between sources due to timing:

  • Fetch current market cap from Stock Analysis main page: https://stockanalysis.com/stocks/{ticker}/

  • Compute P/E as market cap divided by TTM net income, or share price divided by TTM diluted EPS.

  • Compare computed P/E with the reported P/E from Stock Analysis ratios page and Gurufocus.

  • Accept wider discrepancy thresholds for market-derived metrics (up to 10%) since share price fluctuates intraday.

Analysis Steps

Key Metrics to Validate

Validate the following core metrics. These represent the most commonly referenced data points in fundamental analysis and are the highest-priority items for accuracy:

Priority Metric Why It Matters

Critical Revenue Foundation of all growth and margin calculations

Critical Net Income Drives EPS, P/E, and profitability metrics

Critical Diluted EPS Most widely quoted earnings figure

High Total Assets Denominator for ROA and leverage ratios

High Total Debt Key input for D/E, interest coverage, solvency

High Market Cap Basis for all valuation multiples

Medium P/E Ratio Most common valuation shorthand

Medium EV/EBITDA Enterprise-level valuation multiple

Discrepancy Detection

For each metric, compute the percentage discrepancy between sources:

Discrepancy % = |Value_A - Value_B| / ((Value_A + Value_B) / 2) * 100

Apply the following thresholds:

Metric Type Threshold Rationale

Reported financials (revenue, net income, EPS, assets, debt) 5% These come from audited filings; differences above 5% likely indicate a data error, period mismatch, or definitional difference

Market-derived metrics (market cap, P/E, EV/EBITDA) 10% Share price changes cause natural divergence between sources with different data refresh cycles

Computed ratios (ROE, ROIC, margins) 8% Slight differences in denominators or averaging methods can produce meaningful ratio differences

Discrepancy Investigation

When a discrepancy exceeds the threshold:

Check period alignment. Verify that both sources reference the same fiscal year end date. A common cause of discrepancy is one source reporting calendar-year data while the other reports the company's fiscal year (e.g., Apple's fiscal year ends in September, not December).

Check definitional differences. Revenue may differ if one source includes or excludes excise taxes. Debt may differ if one source includes capital lease obligations while the other reports only long-term debt. EPS may differ between basic and diluted. Document the specific definitional cause.

Check currency and unit scaling. Ensure both values use the same currency and scale (millions vs. billions vs. raw numbers). A factor-of-1000 discrepancy almost always indicates a unit mismatch rather than a data error.

Check restatements. If the company restated financials, one source may reflect the restated figures while the other retains the originally reported values. Note which value is the restated figure.

Tiebreak with a third source. If the cause of discrepancy cannot be determined, fetch the same metric from Gurufocus or WebSearch for an SEC filing excerpt. Align with whichever two of three sources agree.

Single-Source Coverage

Note any metrics where only one source provides data. Common situations include:

  • Gurufocus-only metrics: quality scores, predictability rank, DCF intrinsic value

  • EDGAR-only metrics: specific XBRL concepts not mapped by aggregator sites

  • Stock Analysis-only metrics: pre-computed TTM figures, analyst estimate composites

Flag single-source metrics explicitly so the user understands these data points have not been independently verified.

Depth Handling

Consult ${CLAUDE_PLUGIN_ROOT}/skills/_shared/references/output-format.md for standard formatting rules.

Summary depth (default). Present the validation table with status indicators for the eight core metrics. Include a one-sentence note for any flagged discrepancy explaining the likely cause. Omit detailed investigation steps. Total output should be a single table plus two to three sentences of commentary.

Detailed depth. Expand to include all validated metrics (core plus any additional metrics the user or calling agent requested). Provide a full investigation narrative for each discrepancy, including the raw values from all sources consulted, the computed discrepancy percentage, the identified root cause, and the recommended value to use. Include a separate section listing single-source metrics with an assessment of reliability.

Output

Follow the output structure defined in ${CLAUDE_PLUGIN_ROOT}/skills/_shared/references/output-format.md . Begin with the standard header using "Data Cross-Validation" as the analysis type. Present findings in the following validation table format:

Metric Source A (EDGAR) Source B (Stock Analysis) Discrepancy Status

Revenue ($B) 394.3 394.3 0.0% Confirmed

Net Income ($B) 97.0 96.8 0.2% Confirmed

Diluted EPS 6.42 6.42 0.0% Confirmed

Total Debt ($B) 108.0 111.1 2.8% Confirmed

P/E Ratio 32.1 33.5 4.3% Confirmed

EV/EBITDA 25.4 28.1 10.1% Discrepancy

Use "Confirmed" when the discrepancy is within threshold and "Discrepancy" when it exceeds the threshold. For discrepancies, add a footnote row or inline note explaining the likely cause and the recommended value.

After the table, include a summary line:

Validation result: X of Y metrics confirmed, Z discrepancies flagged.

Note any metrics with single-source coverage in a separate row or footnote. Include source URLs for both sources consulted. Close with the standard disclaimer.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

cash-flow-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

profitability-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

income-statement-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Research

moat-analysis

No summary provided by upstream source.

Repository SourceNeeds Review