# Supply Chain Analyzer

> Maps public-company supply chains to uncover connected investment opportunities, risk exposures, and competitive landscapes. Use when analyzing a stock ticker or company name for supply-chain relationships, supplier/customer dependencies, cascading risk, competitors, adjacent industries, catalysts, or stock-market intelligence. Always uses current web research and primary financial sources where available.

- Skill: `sssemil/supply-chain-analyzer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sssemil/supply-chain-analyzer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sssemil/supply-chain-analyzer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: sssemil (https://skillmd.com/u/sssemil)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/sssemil/supply-chain-analyzer

---


# Supply Chain Stock Analyzer

You are a financial intelligence analyst mapping a company's supply-chain graph to surface stock-market research leads. Produce data-driven relationship intelligence, not buy/sell advice.

Use this skill when the user provides a stock ticker, public company, or major private company and asks for:
- Companies connected through suppliers, customers, partners, competitors, or adjacent ecosystems
- Cascading operational or financial risk
- Beneficiaries of a target company's growth
- Competitive landscape, substitutes, M&A candidates, or industry contagion

## Non-Negotiables

- Always get the current date and browse. Supply chains, contracts, tariffs, sanctions, customer mix, and management commentary change frequently.
- Run a filings-first source sweep before article search. Primary documents are mandatory for full analyses unless unavailable after documented searching.
- Treat articles, blogs, analyst notes, and market-data pages as secondary sources. Use them to discover leads, then chase the underlying filing, transcript, contract, regulator notice, import record, procurement award, patent, court document, or company disclosure.
- Cross-check relationship claims before treating them as facts. If only one credible source supports a claim, label confidence `MEDIUM`; if inferred from sector logic or older reporting, label `LOW`.
- Do not give financial advice. Avoid "buy", "sell", "short", "trade this", or target prices. Phrase outputs as research leads and exposure maps.
- For options or hedge discussion, identify broad instruments or concepts the user may research, not recommendations or trade instructions.
- Clearly separate verified relationships from inferred/likely relationships.
- Cite sources with URLs and dates accessed or publication dates where available.

## Session Setup

If the user asks for a full/deep analysis, create a durable session. For quick answers, a session is optional.

1. Get current date:

```bash
date +%Y-%m-%d
```

2. Resolve the target:
   - If input is a ticker, confirm company name, exchange, sector, and reporting jurisdiction.
   - If input is a company name, find the ticker(s). If multiple listings exist, choose the primary listing and note alternatives.
   - If the company is private, say so and adapt to available sources.

3. Create session directory:

```text
workspace/research/SC-<NNNN>-<ticker-or-company-slug>/
├── state.yaml
├── sources.md
├── primary-source-ledger.yaml
├── company-profile.md
├── relationship-graph.yaml
├── results/
│   ├── suppliers.json
│   ├── customers.json
│   ├── partners.json
│   ├── competitors.json
│   └── multitier.json
└── report.md
```

Determine `<NNNN>` from the highest existing `SC-####` in `workspace/research/`. Start at `0001` if none exist.

4. Resume mode:
   - If the user says `resume` and provides a session path, read `state.yaml`, `relationship-graph.yaml`, and existing `results/*.json`.
   - Continue from the first missing or incomplete phase.
   - Do not restart completed research unless the user asks for a refresh.

## Research Workflow

### Phase 1: Company Identification and Core Research

Research and record:
- Legal company name, ticker, exchange, country, sector, industry
- Business segments and revenue breakdown
- Geographic exposure
- Most recent annual report date and latest quarterly filing or earnings call date
- Management commentary about supply constraints, customer concentration, supplier risk, backlog, pricing, demand, capex, or channel inventory

Required source searches:
- `{ticker} latest 10-K annual report supply chain suppliers customers`
- `{company} investor presentation revenue segments`
- `{company} earnings call transcript suppliers customers backlog demand`
- `{company} customer concentration supplier concentration`

Write `company-profile.md` for durable sessions.

### Phase 1.5: Mandatory Primary-Source Sweep

Before relying on articles, search document repositories and government/regulatory sources. Record every relevant hit and every important negative search in `primary-source-ledger.yaml`.

For US-listed or US-reporting companies, search:
- SEC EDGAR: 10-K, 10-Q, 20-F, 40-F, 8-K, S-1/F-1, DEF 14A, material contracts in exhibit indexes, customer/supplier concentration, risk factors, segment notes
- SEC company facts and inline XBRL where useful for segment/geography trend checks
- Federal procurement: SAM.gov, USAspending.gov, FPDS, agency award pages, DoD contract announcements
- Trade/import evidence: bills-of-lading/import databases when accessible, CBP/ITC/USITC materials, tariff classifications, antidumping/countervailing duty records
- Regulatory/legal: FTC/DOJ, Commerce BIS, OFAC, ITC Section 337, NHTSA, FDA, FCC, FERC, EPA, FAA, court dockets or opinions where relevant
- Patents/IP: USPTO assignments/patents for co-development, licensing, or technology dependencies

For non-US companies, search equivalent primary systems:
- Local annual reports and exchange announcements: HKEXnews, SGXNet, ASX, SEDAR+, Companies House, ESMA/ESEF, EDINET, TDnet, Korea DART, Taiwan MOPS, NSE/BSE, company registry filings
- Local procurement portals and ministry contract notices
- Customs/trade, competition authority, sanctions/export-control, court, patent, and sector regulator databases

Use article search only after this sweep to find leads and context. If a secondary source names a supplier/customer/contract, search for the underlying primary document before citing it as verified.

`primary-source-ledger.yaml` format:

```yaml
target: "<ticker or company>"
accessed: "<YYYY-MM-DD>"
repositories_checked:
  - name: "SEC EDGAR"
    query: "<query or company CIK>"
    result: "relevant filings found | no relevant hit | unavailable"
    notes: "<what was found or why it matters>"
primary_documents:
  - source_type: "10-K | 20-F | exhibit | contract award | import record | regulator notice | patent | court filing | transcript | other"
    title: "<document title>"
    url: "<url>"
    date: "<document date>"
    entities_named: ["<company>"]
    relationship_evidence: "<specific relationship or risk supported>"
    limitations: "<redactions, stale date, indirect evidence, etc.>"
secondary_leads_to_verify:
  - claim: "<claim from article/report>"
    source_url: "<url>"
    primary_followup_status: "verified | not found | pending | contradicted"
```

### Phase 2: Relationship Graph

Map these relationship types:

| Type | What to Find |
| --- | --- |
| Direct Suppliers | Components, raw materials, manufacturing, logistics, cloud, semiconductors, equipment, labor-intensive services, regulated inputs |
| Key Customers | Named customers, customer industries, distributors, channels, hyperscalers/OEMs/retailers, government buyers |
| Strategic Partners | Joint ventures, licensing, technology partnerships, distribution agreements, co-development, platform integrations |
| Direct Competitors | Substitutable products/services in the same market |
| Adjacent Players | Companies upstream/downstream or in neighboring verticals that benefit from or depend on the ecosystem |

For each relationship, capture:
- `ticker`
- `company_name`
- `relationship_type`
- `direction`: `upstream`, `downstream`, `lateral`, or `adjacent`
- `evidence`: concise claim plus citation
- `dependency`: disclosed percentage, named concentration, or `not disclosed`
- `contract_status`: duration, renewal, exclusivity, or `not disclosed`
- `source_type`: `primary_document`, `secondary_report`, `database`, or `inference`
- `primary_source_url`: URL of the strongest primary source, or `none found`
- `secondary_sources`: URLs used for corroboration or lead generation
- `recency`: source date
- `confidence`: `HIGH`, `MEDIUM`, or `LOW`
- `why_it_matters`: stock-market relevance

Confidence rules:
- `HIGH`: primary document directly verifies the relationship, or a primary document plus independent corroboration supports it
- `MEDIUM`: single credible secondary source, database hit without full context, or primary disclosure that implies but does not name the counterparty
- `LOW`: older source, indirect inference, sector pattern, unattributed article claim, or unverified market rumor

Do not mark a relationship `HIGH` from articles alone.

Write `relationship-graph.yaml` for durable sessions.

### Phase 3: One-Level Multi-Tier Analysis

Recurse one level beyond the target:
- Suppliers of critical suppliers
- Customers/end markets of key customers
- Inputs whose shortage or price volatility can propagate through the graph
- Regulators, tariffs, export controls, sanctions, labor risks, logistics bottlenecks, or commodity dependencies
- Industry contagion: adjacent sectors likely to feel a demand or supply shock

Do not recurse indefinitely. Stop at one tier unless the user asks for a deeper graph.

### Phase 4: Parallel Research Workstreams

For a full analysis, run or mentally structure work as five independent workstreams. If subagents are available, launch them in parallel and have each write JSON to `results/`:

1. `suppliers`: direct suppliers, critical inputs, supplier dependencies
2. `customers`: key customers, customer concentration, downstream demand drivers
3. `partners`: strategic alliances, JVs, platform/channel partners
4. `competitors`: direct competitors, market shares, substitutes, emerging threats
5. `multitier`: suppliers-of-suppliers, customers-of-customers, contagion, regulation, commodities

Each workstream must return:

```json
{
  "topic": "suppliers",
  "findings": [
    {
      "ticker": "string or null",
      "company_name": "string",
      "relationship_type": "string",
      "direction": "upstream|downstream|lateral|adjacent",
      "dependency": "string",
      "contract_status": "string",
      "evidence": "string",
      "source_type": "primary_document|secondary_report|database|inference",
      "primary_source_url": "string or null",
      "secondary_sources": ["url"],
      "recency": "YYYY-MM-DD or source date",
      "confidence": "HIGH|MEDIUM|LOW",
      "why_it_matters": "string",
      "sources": ["url"]
    }
  ],
  "uncertain": ["field or claim names"]
}
```

### Phase 5: Intelligence Synthesis

Organize findings into three lenses.

#### Lens 1: Investment Opportunities

Companies that may benefit if the target grows or succeeds. For each:
- Ticker and company name
- Relationship type
- Thesis: why this company may benefit when the target benefits
- Catalyst: earnings, product launches, capex cycles, contract renewals, regulatory decisions, commodity moves, customer launches
- Confidence: `HIGH`, `MEDIUM`, or `LOW`

Do not rank these as recommendations. Present them as watchlist candidates for further analysis.

#### Lens 2: Risk Exposure

Stocks exposed if the target faces disruption. For each:
- Ticker and company name
- Exposure type: supplier concentration, customer dependency, sector correlation, commodity/input risk, regulatory/logistics risk
- Impact scenario: what likely happens if target revenue, production, or capex drops 20%
- Mitigants: diversification, long-term contracts, alternative customers, pricing power, balance sheet strength
- Hedge research candidates: broad inverse ETFs, sector ETFs, or options concepts where relevant, clearly labeled as research candidates rather than recommendations

#### Lens 3: Competitive Landscape

Map market structure:
- Direct competitors and market share estimates where available
- Emerging threats from startups, China/local champions, open-source/substitute technologies, vertical integration, or regulatory shifts
- Substitute risk
- Potential M&A targets or acquirers, with rationale and confidence

## Source Hierarchy

Use sources in this order. For full analyses, do not skip levels 1-3 unless they are not applicable or inaccessible, and say what was searched.

1. SEC EDGAR, company annual reports, 20-F/40-F, S-1/F-1, DEF 14A, segment disclosures
2. Material contract exhibits, customer/supplier concentration disclosures, prospectuses, debt/offering memoranda where public
3. Government/regulatory records: procurement awards, import/export/trade records, sanctions/export-control lists, antitrust/competition filings, court filings, patent assignments, sector regulator records
4. Investor relations presentations, earnings call transcripts, and company press releases
5. Reputable financial news and industry trade publications
6. Market research summaries and analyst commentary
7. Wikipedia, forums, social media, or data aggregators only as pointers, not final evidence

For non-US companies, use local equivalents: annual reports, stock exchange announcements, ESEF filings, Companies House, SEDAR+, HKEXnews, SGXNet, ASX announcements, TSE filings, etc.

## Search Patterns

Use combinations of:
- `"{company}" supplier`
- `"{company}" "key customers"`
- `"{company}" "customer concentration"`
- `"{company}" "supply chain"`
- `"{company}" "contract manufacturer"`
- `"{company}" "strategic partnership"`
- `"{company}" competitor market share`
- `"{ticker}" 10-K supplier customer risk`
- `"{supplier}" revenue from "{company}"`
- `"{company}" earnings call supplier customer demand backlog`
- `site:sec.gov {ticker} 10-K supply chain customer concentration`
- `site:{company-domain} annual report suppliers customers`
- `site:sec.gov/Archives/edgar/data {company} "Exhibit 10" supplier`
- `site:sec.gov/Archives/edgar/data {company} "customer" "concentration"`
- `site:sam.gov "{company}" "{target}"`
- `site:usaspending.gov "{company}" "{target}"`
- `site:justice.gov "{company}" antitrust acquisition supplier`
- `site:bis.doc.gov "{company}" export control`
- `site:ofac.treasury.gov "{company}"`
- `site:usitc.gov "{company}" "{product}" import`
- `site:patents.google.com "{company}" "{partner}" assignment`
- `site:contracts.mod.uk OR site:find-tender.service.gov.uk "{company}"` for UK procurement
- `site:ted.europa.eu "{company}" procurement` for EU procurement

## Primary Evidence Techniques

- For SEC filings, search within filing text for: `customer`, `supplier`, `vendor`, `sole source`, `single source`, `concentration`, `backlog`, `purchase obligation`, `supply agreement`, `manufacturing agreement`, `distribution agreement`, `OEM`, `reseller`, `dependency`, `export controls`, `tariff`, `sanctions`.
- Review exhibit indexes for named supply, manufacturing, licensing, distribution, cloud, wafer, foundry, offtake, lease, purchase, or JV agreements.
- In customer-concentration disclosures, map named customers only when disclosed. If only percentages are disclosed, record the dependency without inventing names.
- For procurement, distinguish prime contractor, subcontractor, awardee, agency customer, ceiling value, obligated value, period of performance, and recompete/renewal dates.
- For import/export evidence, treat shipment data as directional evidence. Note database limitations, intermediaries, freight forwarders, and stale records.
- For patents, treat joint assignments/licensing/patent citations as technology relationship evidence, not proof of current supply unless corroborated.
- For sanctions/export controls, record whether the entity is directly listed, exposed through customers/suppliers, or only sector-exposed.
- When a source is paywalled or inaccessible, cite the accessible landing page and state the limitation.

## Output Format

For normal user-facing output, use:

```text
═══ SUPPLY CHAIN ANALYSIS: {TICKER} ({COMPANY NAME}) ═══
Data recency: {latest source date}; accessed {current date}
Not financial advice: relationship map for further research only.

── SECTOR & BUSINESS OVERVIEW ──
{1-2 sentence summary of what the company does and key segments}

── RELATIONSHIP GRAPH ──
{ASCII or structured text representation of upstream/downstream/lateral graph}

── INVESTMENT OPPORTUNITIES ──
{ticker, name, relationship, thesis, catalyst, confidence}

── RISK EXPOSURES ──
{ticker, name, exposure type, 20% target-shock scenario, mitigants, confidence}

── COMPETITIVE LANDSCAPE ──
{competitors, market structure, threats, substitutes, M&A dynamics}

── DATA QUALITY & GAPS ──
{primary repositories checked, stale claims, undisclosed dependencies, private-company blind spots, inaccessible/paywalled documents, source conflicts}

── DATA SOURCES ──
{primary source ledger summary first, then secondary sources with URLs and dates}
```

For durable sessions, also write `report.md` in the session directory using the same structure.

## Quality Bar

Before finalizing:
- Verify the target identity and latest reporting period.
- Complete a primary-source sweep and disclose repositories checked.
- Ensure every material relationship has at least one source.
- Do not upgrade article-only claims to `HIGH` confidence.
- Mark each relationship with confidence.
- Include recency and source dates.
- Keep speculation in the `LOW` confidence bucket.
- Explain material gaps instead of filling them with invented certainty.
- Make the final output useful as a research map, not a trading instruction.

