Business model classification, business model analysis, structural analysis of how a company makes money, product offering decomposition, distribution channel analysis, customer segment analysis, revenue model identification, market sizing TAM SAM SOM, competitive positioning, business unit performance, management team & leadership analysis, what does the company sell, how does the company go to market, business model type platform service product, channel mix direct vs indirect, revenue concentration risk, CEO CFO executive backgrounds and changes
npx skills add https://github.com/agentii-ai/agentii-investment-intelligence --skill business-model
<!-- analog: equity-research-core/business-model -->
Run the canonical pre-flight sequence — MCP health probe, ticker resolution, workspace style.md override, memory load, and coverage check. See contracts/preflight.md.
Include the X-Agentii-Trace header on every tool call per contracts/x-agentii-trace-header.md.
| Parameter | Default | Notes |
|---|---|---|
| lookback_quarters | 4 | Trailing 4 fiscal quarters (latest 10-K + trailing 10-Qs); a single-quarter snapshot is INSUFFICIENT for business-model classification |
| include_management_changes | true | Whether to surface leadership-change analysis (mode 1_5) |
| include_market_sizing | true | Whether to surface TAM/SAM/SOM (mode 1_4) |
| peer_set | none | Business-model analysis is single-issuer by default; peers are added by /agentii:competitive |
Production data-plane grounding (scale, locators) is in references/methodology.md.
search_xbrl_facts with the detailed/segment view for revenue & margins broken down by product line, segment, geography, and distribution channel (concepts Revenues, GrossProfit, OperatingIncomeLoss, SegmentReportingInformation). Retrieve XBRL BEFORE any document discovery.search_documents / search_sec_filings for the 10-K (annual, richest business overview), trailing 10-Q, and 20-F for foreign issuers → read_source_pages enrichment.This skill performs unstructured document search at scale (10-K, 10-Q, 8-K filings). The three-layer agent-use-ready retrieval protocol applies (Layer 1 → Layer 2 → Layer 3). For foreign issuers, use 20-F (annual) and 6-K (material events) instead of 10-K and 8-K respectively.
See contracts/retrieval.md for the canonical decision tree; skill-specific retrieval detail is in references/methodology.md.
Default: 4 fiscal quarters (max 8). A single-quarter snapshot is INSUFFICIENT for business-model classification — use the latest 10-K (annual) plus trailing 10-Qs. Extend the window when explicitly tracking channel-mix evolution (mode 1_2 default 12 quarters) or management changes (mode 1_5 default 4 quarters).
See frontmatter allowed_tools.
search_companies, get_company_profile — issuer resolution and sector classification.search_xbrl_facts, list_xbrl_concepts, get_company_financials — segment-level P&L and revenue concentration metrics.search_documents, search_sec_filings — Layer 1 document discovery (with secondary_labels filter).read_source_outline, read_source_pages, search_keyword_in_source — Layer 2/3 deep read for business-overview pages.get_company_fiscal_calendar, get_ticker_coverage — pre-flight (mandatory first step).Step-by-step execution detail is in references/methodology.md.
This skill delivers analyst-grade output via 5 addressable mode(s); invoke with --mode=<slug> / --modes=<slug1>,<slug2> / --mode=all (see Mode syntax. The default invocation (no flag) runs the essentials_modes subset declared in this skill's frontmatter.
This skill exposes addressable analysis modes (--mode=<slug> / --modes=<s1>,<s2> / --mode=all; see Mode syntax). The full mode definitions and their output templates live in references/modes.md. The default invocation runs the essentials subset.
Per-tool failure modes and fallback actions are tabulated in references/tool-fallbacks.md.
Write the final deliverable to {ticker}/{YYYY-MM-DD_HHMM}_business-model_{affix}.md.
Output Directory Rule: write to {ticker}/ (e.g. NVDA/) — NEVER {ticker}-recent-quarter/ or any dimension-suffixed variant. The directory is the bare uppercase ticker; the skill name appears only in the filename, never the directory.
The deliverable is a structured markdown report written to the path in ## Output File. Full section-by-section template (headings, tables, and field definitions) lives in references/output-structure.md. Required elements:
[FACT] / [DEDUCTED] / [VIEW] per contracts/snapshot-synthesis.md./v/ citations are PRIMARY (immediately after each fact); the bottom Citations section is a non-duplicative roll-up index.contracts/output-frontmatter-schema.md.Citations & memory: follow contracts/citation-and-memory.md — ≥1 citation per 200 words; every material fact, table row, and metric is immediately followed by its inline clickable https://agentii.ai/v/{ticker}/{citation_id}/{N} link; a bottom Citations section provides a non-duplicative roll-up index; the closing TUI reply includes a compact Key Citations list (headline 5–10 facts) of clickable /v/ URLs; and append the run to agentii.md per contracts/agentii-md-schema.md.
contracts/memory-load.md.key_metrics, conclusions, facts_count, deducted_count, views_count, citation_count) per contracts/output-frontmatter-schema.md.[FACT]/[DEDUCTED]/[VIEW] — see contracts/snapshot-synthesis.md.sessions/{YYYY-MM-DD}/ and update sessions/INDEX.md per contracts/session-format.md.End the closing chat reply with a compact Key Citations list (headline 5–10 facts), each a clickable https://agentii.ai/v/{ticker}/{citation_id}/{N} link, so the user can cmd+click straight to the exact SEC page. See contracts/citation-and-memory.md.
| Failure Mode | Detection | Action | User-Facing Message |
|---|---|---|---|
| Missing data | Data API returns empty result set | Widen date range and retry once | "No data available for {ticker} in requested window." |
| Partial data | Data API returns <80% expected records | Proceed with coverage gaps section | "Analysis based on partial data; see Coverage Gaps section." |
| Foreign issuer | form_type=["10-K"] empty | Retry with form_type=["20-F"] for annual + form_type=["6-K"] for material events | "Foreign issuer; using 20-F + 6-K instead of 10-K + 8-K." |
| Insufficient history | Ticker <3 years on public markets | Downgrade to limited-history profile (skip channel-mix evolution) | "Limited historical data; mode 1_2 channel-mix trend skipped." |
| MCP unreachable | Preflight probe fails | Halt with actionable error | "agentii data plane unreachable; check connection." |
Take agentii-ai/business-model from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.