Source profileQuality 96/100Review permissions

johnqtcg/awesome-skills/skills/stock-earnings-quality-review/SKILL.md

stock-earnings-quality-review

Review a US-listed company's earnings quality, cash-flow integrity, and operating leverage for an equity-research workup. Covers operating cash flow vs net income drift, free cash flow trajectory, capex character (maintenance vs expansion), equity issuance / shareholder-return yield, revenue-quality signals (receivables vs revenue growth, channel stuffing), gross-margin level and trend, operating leverage, and three-cost-rate hygiene (S&M, R&D, G&A). SaaS-specific metrics — ARR/NRR/GRR/CAC payba

Source repository stars
30
Declared platforms
0
Static risk flags
1
Last source update
2026-08-27
Source checked
2026-08-28

Decision brief

What it does: where it fits

Review a US-listed company's earnings quality, cash-flow integrity, and operating leverage for an equity-research workup. Covers operating cash flow vs net income drift, free cash flow trajectory, capex character (maintenance vs expansion), equity issuance / shareholder-return yield, revenue-quality signals (receivables vs revenue growth, channel stuffing),…

Best for

  • Orchestrator dispatches earnings-quality review (always-on in Standard / Strict depth).
  • User asks about "earnings quality", "is the profit real", "cash conversion", "operating leverage", "margin trend".
  • A pre-cursor to valuation — you cannot trust forward earnings until you've tested the quality of trailing earnings.

Not for

  • Balance sheet leverage / liquidity / goodwill → stock-balance-sheet-review
  • Business model / customer concentration → stock-business-review

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/johnqtcg/awesome-skills --skill "skills/stock-earnings-quality-review"
Safe inspection promptEditorial

Inspect the Agent Skill "stock-earnings-quality-review" from https://github.com/johnqtcg/awesome-skills/blob/d933bc88237f7a18a7ecf01e5d97a745b083df0f/skills/stock-earnings-quality-review/SKILL.md at commit d933bc88237f7a18a7ecf01e5d97a745b083df0f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    1. Load first-hand financials.json (EDGAR XBRL) + cash flow statement (10-K Item 8), income statement, and segment footnote. 2. Run filing-pattern-gated scan over the checklist; semantic-confirm hits. 3. Compute trends from ≥4 quarters / multi-year series: OCF/Net Income ratio,…

    Load first-hand financials.json (EDGAR XBRL) + cash flow statement (10-K Item 8), income statement, and segment footnote.Run filing-pattern-gated scan over the checklist; semantic-confirm hits.Compute trends from ≥4 quarters / multi-year series: OCF/Net Income ratio, FCF (and the GAAP-vs-adjusted gap), gross margin, opex rates, capex/D&A. Build the segment→consolidated bridge.
  2. 02

    Review Discipline

    You are the most-loaded worker (15 checks). Discipline: numbers in every Finding; suppress items you cannot quantify. Orchestrator weights High-severity items heavily — false High findings damage the verdict more than missed Medium findings.

    You are the most-loaded worker (15 checks). Discipline: numbers in every Finding; suppress items you cannot quantify. Orchestrator weights High-severity items heavily — false High findings damage the verdict more than m…
  3. 03

    Purpose

    Read the income statement, cash-flow statement, and selected MD&A passages with the eye of an analyst who trusts cash over accruals. Surface the most common quality red flags: net income that doesn't convert to cash, capex understated as "maintenance" while it's really expansion…

    Read the income statement, cash-flow statement, and selected MD&A passages with the eye of an analyst who trusts cash over accruals. Surface the most common quality red flags: net income that doesn't convert to cash, ca…
  4. 04

    When To Use

    Orchestrator dispatches earnings-quality review (always-on in Standard / Strict depth).

    Orchestrator dispatches earnings-quality review (always-on in Standard / Strict depth).User asks about "earnings quality", "is the profit real", "cash conversion", "operating leverage", "margin trend".A pre-cursor to valuation — you cannot trust forward earnings until you've tested the quality of trailing earnings.
  5. 05

    When NOT To Use

    Balance sheet leverage / liquidity / goodwill → stock-balance-sheet-review

    Balance sheet leverage / liquidity / goodwill → stock-balance-sheet-reviewBusiness model / customer concentration → stock-business-reviewManagement capital allocation → stock-management-review

Permission review

Static risk signals and limitations

Runs scripts

medium · line 182

The documentation asks the agent to run terminal commands or scripts.

python3 <path-to>/stock-analysis-lead/scripts/finlib/worker_contract.py \

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score96/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars30SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
johnqtcg/awesome-skills
Skill path
skills/stock-earnings-quality-review/SKILL.md
Commit
d933bc88237f7a18a7ecf01e5d97a745b083df0f
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Stock Earnings Quality Review

Purpose

Read the income statement, cash-flow statement, and selected MD&A passages with the eye of an analyst who trusts cash over accruals. Surface the most common quality red flags: net income that doesn't convert to cash, capex understated as "maintenance" while it's really expansion, receivables ballooning faster than revenue, gross margins eroding under cover of revenue growth, operating leverage that runs in reverse. Output a structured Findings set; do NOT draw the verdict — orchestrator does that.

When To Use

  • Orchestrator dispatches earnings-quality review (always-on in Standard / Strict depth).
  • User asks about "earnings quality", "is the profit real", "cash conversion", "operating leverage", "margin trend".
  • A pre-cursor to valuation — you cannot trust forward earnings until you've tested the quality of trailing earnings.

When NOT To Use

  • Balance sheet leverage / liquidity / goodwill → stock-balance-sheet-review
  • Business model / customer concentration → stock-business-review
  • Management capital allocation → stock-management-review
  • Competitive moat / market share → stock-industry-review
  • DCF, multiples, target price → orchestrator's synthesis step

Mandatory Gates

1) Execution Integrity Gate

You must read the cash flow statement from the most recent 10-K and the latest 10-Q. If neither is in the manifest, return SKIPPED (no cash flow data).

2) Multi-Period Gate

A single quarter or single year is noise. Compare ≥3 years of annual data (10-K plus historicals from manifest's financial-history.json if present). Trend matters more than level.

3) Sector-Aware Gate

A 20% gross margin is normal for retail and catastrophic for software. Identify the sector from the business-review's classification (or from 10-K SIC code in the manifest) before scoring margin levels.

4) Non-GAAP Discipline Gate

Where the company reports both GAAP and non-GAAP, always check the reconciliation. If SBC, restructuring, or amortization is excluded from "Adjusted EBITDA", surface it — these are real costs.

5) First-Hand Data + Bridge Gate (mandatory)

Every reported financial figure you cite MUST come from the manifest's first-hand financials.json (SEC EDGAR XBRL, produced by scripts/finlib/edgar.py) or directly from the filing — never from a search snippet or an aggregator summary. If a figure is only available second-hand, tag it second-hand and lower the confidence of any conclusion resting on it.

  • Segment → consolidated bridge required. An operating-leverage / margin conclusion is not credible without showing the bridge: segment operating income → consolidated operating income → EBIT → FCF, reconciled to the filing. If financials.json["gaps"] lists segment_operating_income (EDGAR exposes it dimensionally, not flatly), read the 10-K segment footnote directly to build the bridge — do not infer segment economics from consolidated totals.

6) Single-Period Gate (mandatory)

A single quarter's YoY is polluted by one-off items, SBC vesting cadence, and depreciation-recognition timing. Any operating-leverage or trend conclusion requires ≥4 quarters or a TTM basis — a single-quarter "OpInc grew faster than revenue, so leverage is positive" claim will be FAILed by the orchestrator's 口径 lint gate (scripts/finlib/lint.py, period_count >= 4). Strengthens Gate 2.

Workflow

  1. Load first-hand financials.json (EDGAR XBRL) + cash flow statement (10-K Item 8), income statement, and segment footnote.
  2. Run filing-pattern-gated scan over the checklist; semantic-confirm hits.
  3. Compute trends from ≥4 quarters / multi-year series: OCF/Net Income ratio, FCF (and the GAAP-vs-adjusted gap), gross margin, opex rates, capex/D&A. Build the segment→consolidated bridge.
  4. If business model = SaaS / subscription, run the SaaS sub-checklist (items EQ-06 + EQ-07).
  5. Emit Findings with severity + numerical evidence (don't say "margin declining" without a number), each citing its financials.json source tag.

Filing-Pattern-Gated Execution Protocol

Execution Order

  1. Identify the target sections in the manifest: cash flow statement, income statement, Note "Disaggregation of revenue", Item 7 MD&A.
  2. For each checklist item with a documented filing-section pattern, locate the section and extract the numerical series.
  3. HIT → quantitative analysis (compute ratio, trend, YoY change) + semantic check.
  4. MISS → mark NOT FOUND; do not infer from analyst summaries.
  5. For semantic items (e.g., management's explanation in MD&A): full reasoning on the passage.
  6. Report only items where the numbers actually violate the rubric.
  7. Include Filing pre-scan: X/Y items hit, Z confirmed as findings.

Earnings Quality Checklist (15 Items)

IDItemFiling SectionThreshold / Trigger
EQ-01OCF vs Net Income driftCash flow statement vs Income statementFlag if OCF / Net Income < 0.7 for 2+ years
EQ-02FCF trajectory (FCF = OCF − Capex)Cash flow statementFlag if FCF negative AND not improving YoY
EQ-03Capex character (maintenance ≈ depreciation, expansion >> depreciation)Cash flow "Capex" vs Income "D&A"Flag if Capex / D&A > 2× without explicit expansion narrative
EQ-04Equity issuance pattern (dilution)Cash flow "Issuance of common stock" + share-count historyFlag if shares outstanding grew > 5% YoY without M&A
EQ-05Shareholder return yield = (buybacks + dividends) / market capCash flow "Repurchase of common stock" + "Dividends paid"Informational — context for capital allocation worker
EQ-06SaaS metric: NRR (Net Revenue Retention)Earnings releases, investor presentationsFlag if NRR < 110% for a "growth" SaaS; < 100% = customer flight
EQ-07SaaS metric: CAC payback / Magic NumberInvestor presentationsFlag if Magic Number < 0.75 (deteriorating unit economics)
EQ-08Deferred-revenue growth vs revenue growthBalance sheet "Contract liabilities" YoYFlag if deferred growth < revenue growth by > 5pp (future slowdown signal)
EQ-09Receivables growth vs revenue growth (channel stuffing)Balance sheet "AR" YoY vs Income revenue YoYFlag if AR growth > revenue growth by > 10pp
EQ-10Gross-margin level vs sector + trendIncome statement; sector benchmarkSector-aware threshold; flag declining margin > 2pp YoY
EQ-11Operating leverage checkOpInc growth vs Revenue growthFlag if OpInc growth < Revenue growth in 2+ recent quarters (negative leverage)
EQ-12Sales & Marketing rate trendIncome segmentFlag if S&M / Revenue rising while revenue growth slowing (CAC inflation)
EQ-13R&D rate + SBC treatment in non-GAAPIncome + non-GAAP reconciliationFlag if SBC > 15% of revenue AND excluded from Adjusted EBITDA
EQ-14One-time-item frequency (restructuring, write-downs)Income statement "Special items" 5-year countFlag if "one-time" items appear in 3+ of last 5 years (i.e., they're recurring)
EQ-15Segment margin & mix-shiftSegment footnote: operating income + revenue BY segmentFlag if a segment growing >5pp faster/slower than core carries a structurally different margin AND the blended-margin trend is mix-driven, not efficiency-driven

Severity Rubric

  • High: A Finding that would flip a Good-Company score item to FAIL — e.g., OCF / NI persistently below 0.7; FCF negative and worsening; NRR < 100%.
  • Medium: A Finding that warrants reducing Bull-scenario probability — e.g., gross margin trending down 2pp/yr; S&M rate rising while growth slowing.
  • Low: Useful context — e.g., shareholder return yield is 4%, providing a floor.

Evidence Rules

  • Findings must include the numerical value AND the direction/trend. "Margin declining" without numbers is rejected.
  • Cite the filing line ("Cash flow statement line 'Purchases of property and equipment'") plus the year(s) compared.
  • For SaaS metrics not in the 10-K, cite the earnings release or investor presentation explicitly.

Output Format

Findings

[High|Medium|Low] Short Title

  • ID: EQ-NN
  • Citation: filing section + period
  • Evidence: numerical value(s) + trend
  • Implication: what this changes about the investment thesis

Suppressed Items

Items checked but not confirmed — list with one-line reason.

Execution Status

Filings reviewed: 10-K (FY2024), 10-Q (Q3 2025), 10-year history (stockanalysis.com)
Filing pre-scan: 13/14 items hit, 5 confirmed as findings
Skipped items: EQ-06, EQ-07 (non-SaaS business model — SaaS metrics N/A)
Sector: <e.g., enterprise software>

Summary

One line: N High / M Medium / K Low — most material: <EQ-NN short title>.

Machine-Readable Findings Block (mandatory)

End the reply with exactly one fenced block tagged findings-json, carrying Worker Findings Contract v1 (full schema and error codes: stock-analysis-lead/references/worker-contract.md). The orchestrator synthesizes the verdict from this block only — anything stated in the Markdown above but omitted here does not reach the report. Everything above the fence is for the human reader.

{
  "contract_version": "1",
  "worker": "stock-earnings-quality-reviewer",
  "prefix": "EQ",
  "status": "OK",
  "depth_mode": "<echo the dispatched depth>",
  "archetype_applied": "<echo the dispatched archetype>",
  "archetype_challenge": null,
  "findings": [
    {
      "id": "EQ-NN",
      "severity": "High|Medium|Low",
      "title": "<= 80 chars",
      "citation": {"source": "10-K", "locator": "<item/page/note>", "fiscal_period": "FY2025"},
      "evidence": "direct quote <= 60 words, or a computed figure with its inputs",
      "implication": "one sentence on what this means for the thesis",
      "confidence": "first-hand|second-hand"
    }
  ],
  "positives": [],
  "data_gaps": [],
  "checklist_coverage": {"items_total": 15, "items_checked": 0, "items_not_found": 0, "ids_not_checked": []},
  "mandatory_checks_run": []
}

Contract rules that fail validation if broken:

  • status is one of OK / DEGRADED / SKIPPED / REFUSED; any value other than OK requires a status_reason. The gate returns SKIPPED (...) in prose and "status": "SKIPPED" here.
  • Every finding ID must start with EQ — the prefix is the whole segment before the first hyphen.
  • citation is an object, never a bare string; locator and fiscal_period must be non-empty. A finding with no real citation is suppressed, not emitted.
  • source: "aggregator" forces confidence: "second-hand" — this is what makes the first-hand data rule checkable rather than aspirational.
  • checklist_coverage: items_checked + items_not_found must reach items_total (15), so "the checklist ran to completion" is verifiable.
  • archetype_challenge: null when the dispatched archetype fits. When the evidence says it does not, file {"proposed", "reason", "evidence"} instead of silently analyzing against thresholds you believe are wrong — this is the only sanctioned way to disagree with the orchestrator's classification.
  • mandatory_checks_run: list the archetype-specific check IDs the dispatch marked REQUIRED. Omitting one that was required fails validation.

Self-check before replying:

python3 <path-to>/stock-analysis-lead/scripts/finlib/worker_contract.py \
  validate --reply <this-reply>.md --expect-worker stock-earnings-quality-reviewer

No-Finding Case

No earnings-quality findings — cash conversion clean, margins stable, leverage positive.
Notable positives: OCF/NI = 1.05 (3-year avg); FCF margin 28% and stable.

Load References Selectively

  • references/earnings-quality-patterns.md — load when interpreting OCF/NI gaps, capex classification, SaaS-specific metrics, or segment-margin mix-shift (EQ-15); contains worked examples, sector-specific margin benchmarks, the Magic Number / CAC-payback formulae, and the blended-margin mix-shift decomposition.

Review Discipline

You are the most-loaded worker (15 checks). Discipline: numbers in every Finding; suppress items you cannot quantify. Orchestrator weights High-severity items heavily — false High findings damage the verdict more than missed Medium findings.

Frequently asked questions

What to verify before installation and use

What does the stock-earnings-quality-review source document cover?

Review a US-listed company's earnings quality, cash-flow integrity, and operating leverage for an equity-research workup. Covers operating cash flow vs net income drift, free cash flow trajectory, capex character (maintenance vs expansion), equity issuance / shareholder-return yield, revenue-quality signals (receivables vs revenue growth, channel stuffing),…

How do I install stock-earnings-quality-review?

The source record exposes this install command: npx skills add https://github.com/johnqtcg/awesome-skills --skill "skills/stock-earnings-quality-review". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10025,136

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10015,385

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 10014,706

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance

Computed 9967

brucesongs/kali-claw

insecure-design

Insecure Design (OWASP A06:2025) focuses on security flaws in system architecture and design phases, rather than code implementation-level bugs.