Install
$ agentstack add skill-johnqtcg-awesome-skills-stock-business-review ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Stock Business Review
Purpose
Read a company's 10-K and 10-Q with the discipline of a senior equity analyst: identify what the business actually sells, to whom, how it makes money, and what kind of growth its revenue numbers are reflecting. Surface red flags that pure financial-statement readers miss — narrative buckets, undefined adjusted metrics, customer concentration risk, and acquired-growth dependency. The output is a structured set of Findings that the orchestrator uses to build the Good-Company score and frame valuation.
When To Use
- Orchestrator
stock-analysis-leaddispatches a business-dimension review. - The user directly asks "what does actually do" or "is 's growth real" or "tell me about 's customer concentration".
- A standalone business-model classification is needed before deeper financial analysis.
When NOT To Use
- Cash-flow / margin / operating-leverage analysis →
stock-earnings-quality-review - Leverage / liquidity / goodwill →
stock-balance-sheet-review - Capital allocation / management quality →
stock-management-review - Competitive moat / TAM / market share →
stock-industry-review - Final verdict or target price → orchestrator's synthesis step (do NOT recommend buy/hold/sell from this skill)
Mandatory Gates
1) Execution Integrity Gate
You must read the 10-K Item 1 "Business" section before drawing any conclusion. If the orchestrator's data-manifest.json does not include a 10-K path, return SKIPPED (no 10-K available) and do not fabricate analysis from press releases or analyst summaries.
2) Filing Vintage Gate
The 10-K must be the most recent annual filing (within the last 14 months from today). If the only available 10-K is older, flag it explicitly in Execution Status — old filings miss recent strategic shifts and recent customer-concentration data.
3) Citation Gate
Every Finding must cite a specific filing section (e.g., "10-K Item 1, page 7" or "10-K Item 1A, Risk Factor 3"). Findings without citations are suppressed.
4) Non-US Refusal Gate
If you detect the ticker is an A-share (3-digit or 6-digit Chinese code), HK-share (4-digit HK code), or ADR of a foreign private issuer filing 20-F instead of 10-K, return SKIPPED (non-US issuer — out of scope) immediately.
Workflow
- Locate the 10-K and latest 10-Q from the manifest. Read 10-K Item 1 (Business), Item 1A (Risk Factors), and Item 7 (MD&A) summary.
- Run the Filing-Pattern-Gated Execution Protocol — for each checklist item with a filing-section pattern, locate the relevant section first, then apply semantic analysis only on those passages.
- For checklist items that are pure-semantic (no stable filing keyword), apply full reasoning.
- Cross-check Risk Factors against the Business section — discrepancies between the rosy "Business" narrative and the candid "Risk Factors" are a strong signal.
- Emit Findings with severity, evidence quote, and citation. Suppress items not found rather than fabricate.
Filing-Pattern-Gated Execution Protocol
This is the same idea as Grep-Gated for code: each check has a filing-section pattern. If the section/keyword is absent, mark NOT FOUND and skip semantic analysis. Only HIT sections get full reasoning.
Execution Order
- Identify target filings from the manifest (10-K, 10-Q, optionally earnings call transcript).
- For each grep-gated checklist item, search the filing(s) for the documented keyword/section pattern.
- HIT → semantic analysis to confirm true positive vs false positive.
- MISS → auto-mark NOT FOUND. Do not extrapolate from absence — note absence in Execution Status if material.
- For semantic-only items: full reasoning on the relevant section.
- Report ONLY FOUND items.
- Include
Filing pre-scan: X/Y items hit, Z confirmed as findingsin Execution Status.
Compound Pattern Protocol
Some red flags are "presence of A without B" (e.g., "AI revenue" mentioned without a definition). Use compound patterns:
- HIT on A (keyword present)
- AND NOT on B (definition / methodology / breakdown absent in the same section)
- → Confirmed Finding
Business Checklist (11 Items)
| ID | Item | Filing Pattern | Severity Bias | |---|---|---|---| | BUS-01 | Revenue composition: products vs services, subscription vs transactional, B2B vs B2C, hardware vs software | 10-K Item 1 "Products" / "Services" / "Revenue" subsection; 10-K Note "Disaggregation of revenue" | Med | | BUS-02 | Customer concentration | 10-K Item 1A keyword "significant customer", "customer concentration", "10% of revenue" | High if Top1 > 10% | | BUS-03 | Geographic revenue split + FX sensitivity | 10-K Note "Geographic information"; 10-K Item 7 "Foreign currency" | Med | | BUS-04 | Industry position (market leader vs challenger vs long-tail) | 10-K Item 1 "Competition" subsection | Med | | BUS-05 | Business-model archetype: high-margin low-turnover (software/SaaS) vs low-margin high-turnover (retail) vs capital-intensive (utility) | Derive from 10-K Item 1 + gross margin in Item 8 | Low (informational) | | BUS-06 | Revenue-growth decomposition: organic vs acquired vs price vs volume | 10-K Item 7 MD&A; keywords "acquisition contributed", "organic growth", "price increase", "unit growth" | High if mostly inorganic | | BUS-07 | Deferred-revenue trend vs reported-revenue trend | 10-K balance sheet line "Deferred revenue" / "Contract liabilities", compared YoY against revenue | High if deferred growth revenue" AND NOT (methodology paragraph in same section) | High if material % of total | | BUS-10 | Information-tier discipline — what is fact vs management-defined | Cross-check: any number quoted by IR but absent from filings | High if material | | BUS-11 | Contra-revenue / client incentives — the gross→net bridge | 10-K revenue-recognition note + MD&A; keywords "client incentives", "rebates", "incentives", "contra-revenue", "net revenue"` | High for network/platform/marketplace; Med otherwise |
Severity Rubric
- High: A finding that would change the orchestrator's Good-Company score for "real growth" or "diversification". E.g., 60% of revenue from one customer; 40% of growth from acquisitions; "AI revenue" without methodology.
- Medium: A material structural fact the orchestrator needs to weight scenarios — e.g., 30% of revenue is FX-exposed; the company is #3 in a #1-takes-most market.
- Low: Useful context that does not move the verdict — e.g., a clean disaggregation of revenue by segment.
Evidence Rules
- Every Finding cites a filing section with at least one of: page number, item number, or note number.
- Direct quotes are preferred over paraphrase; cap each quote at 60 words.
- "I think" / "appears to" / "likely" without evidence → revise to evidence-based statement or drop the Finding.
Output Format
Findings
Order: High → Medium → Low. Within each severity, order by checklist ID.
[High|Medium|Low] Short Title
- ID:
BUS-NN(use the checklist ID; if multiple instances, append-a,-b) - Citation:
10-K Item X, page Y(or Note Z) - Evidence: direct quote ≤60 words
- Implication: one sentence describing what this means for the investment thesis
Suppressed Items
Items the orchestrator might expect but you found no evidence for — flag as [Suppressed] with one-line reason. Do not invent Findings to fill gaps.
Execution Status
Filings reviewed: 10-K (FY2024, filed 2025-02-15), 10-Q (Q3 2025)
Filing pre-scan: 9/10 items hit, 6 confirmed as findings
Skipped items: BUS-07 (deferred revenue not disclosed — company is non-subscription)
Summary
One line: N High / M Medium / K Low — most material: .
No-Finding Case
If the business is structurally healthy (no concentration, clean disaggregation, organic growth, defined non-GAAP metrics), output:
No business-model findings — structurally clean.
Notable positives:
Do not fabricate marginal findings to look thorough. Suppression discipline matters: orchestrator interprets "no findings" as evidence of quality.
Load References Selectively
references/business-model-patterns.md— load when classifying business-model archetype (BUS-05), when SaaS-specific subscriptions need NRR/ARR awareness, or when building the contra-revenue / gross→net bridge (BUS-11); covers high-margin-low-turnover vs low-margin-high-turnover taxonomies, revenue-disaggregation patterns, and the client-incentives bridge.
Review Discipline
You are one of 5 parallel workers. The orchestrator depends on you reporting only what you actually found in filings, with full citations. Over-reporting wastes the orchestrator's deduplication budget; fabrication breaks the entire analysis. When in doubt, suppress.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: johnqtcg
- Source: johnqtcg/awesome-skills
- License: MIT
- Homepage: https://johnqtcg.github.io/awesome-skills/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.