lyndonkl/claude/company-classification-routing

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Classifies a company and routes it to the correct analytical treatment — life cycle stage, sector type, earnings status, ownership, distress markers, geography — then compiles the hard constraints that follow into classification.json. Use before any valuation begins, when deciding which valuation model applies, or when a company looks non-standard — a bank or insurer, a pre-revenue or loss-making firm, a distressed or declining business, a private company or an IPO, a cyclical or commodity producer, an emerging-market firm, or a multi-business group.

Install

npx vskill@latest install lyndonkl/claude/company-classification-routing

SKILL.md

Company classification and routing

Standard valuation machinery assumes a lot. It assumes the firm survives long enough to reach stable growth. It assumes debt is a financing choice rather than raw material. It assumes this year's earnings say something about a normal year, and that there are earnings at all. It assumes the owner is diversified and the shares trade.

Point that machinery at a bank, a pre-revenue startup, or a firm at a cycle trough and it still returns a number. The number is confident and wrong. That is the most expensive failure mode in this domain, because nothing downstream flags it: the arithmetic is correct, the spreadsheet balances, and the answer is nonsense.

Routing comes first for that reason. This skill converts what is knowable about a company into a route — one primary engine, a set of overlays, an ordered pipeline, and a list of methods that must not be attempted. Gate G2_classified passes only when that route is written and valid. Every stage after it reads the route and honors it.

Full framework: knowledge/frameworks/special-situations-routing.md. This skill is its operating manual, and carries the parts an agent needs in hand.

Contents

Resources

replaces it, and the hard constraints for each of the sixteen branches.

computed from filings and market data, and the judgment each one hides.

exclusion pairs, composition arithmetic, and routed real companies.

company's defects, and which are forbidden.

shape, validation, and the diagnosis.md companion.

What this produces

Two files, both written by company-diagnostician and by nobody else:

ArtifactContents
02-diagnosis/classification.jsonthe machine-readable route: signals, primary path, overlays, constraints, pipeline, confidence
02-diagnosis/diagnosis.mdthe reasoning: what the company is, which gate fired and why, what would change the answer

Downstream agents read classification.json and never re-derive it. The critic checks every produced artifact against the compiled constraints, under rule V9, route conformance. valuation-consistency-checks enforces a subset mechanically. Pass the artifact to it with --classification. It then fails the run on an FCFF valuation of a bank, a missing failure probability, or an earnings multiple on negative earnings.

The four questions

Every valuation answers four questions, and every branch below repairs one of them.

  1. What are the cash flows from existing assets?
  2. What value is added by growth assets?
  3. How risky are those cash flows?
  4. When does maturity arrive, and what can end the story before then?

A company is difficult exactly when one of those answers is missing, unstable, or mis-measured by accounting. Diagnose which one breaks and the repair names itself. A young firm breaks Q1 and Q4. A bank breaks Q1 and Q3 together, because its debt is inventory. An intangible-heavy firm breaks Q1 and Q2, because accounting expensed its capital spending. Detail: knowledge/concepts/dark-side-difficult/difficult-company-taxonomy.md.

Two errors follow from skipping this step. The first is repairing a cash-flow problem in the discount rate — failure risk, governance, distress and country risk all get pushed there, and all belong in expected cash flows or in probability weights. The second is treating one bucket at a time when a company sits in several. Boeing in March 2020 was mature, cyclical and distressed at once.

S0 · Evidence intake

Inputs: mandate.json, 01-data/raw-financials.json, 01-data/market-data.json, 01-data/gaps.json.

A normal valuation leans on three information sources. Record each as present, thin or absent:

  1. Current financial statements.
  2. The firm's own financial history.
  3. Industry and comparable-firm data.

Three decision rules follow.

  • Two or more sources absent — this is the point of maximum temptation toward the dark

side, where analysts declare a paradigm shift and invent metrics. Force an explicit mature end-state instead: target margin, terminal ROC, stable growth. Then work backwards. Set route.requires_end_state = true.

  • No cash flows exist and none ever will — a currency, a collectible, a bare commodity

holding. The asset can be priced, never valued. Emit no-intrinsic-valuation and route to pricing only. See knowledge/concepts/narrative-numbers/value-vs-price-gap.md.

  • Fewer than three years of statements, or statements that mix personal and business

expense — private-company cleanup runs before any forecast. See B13.

Return blocked when the minimum viable input set is missing and the user has supplied no substitute. Name what is needed. Do not guess and proceed.

S1 · Signal extraction

Every signal is computed from data, never asserted. Each carries a confidence and the evidence that set it. These are the only inputs the gates in S2 through S6 may consult.

SignalComputationValues and thresholds
sector_typeBusiness description, segment note, and the shape of the statements themselvesfinancial-service \commodity \cyclical-industrial \real-estate/REIT \intangible-heavy \ordinary
life_cycle_stageRevenue level, revenue growth, margin sign and stability, reinvestment intensity, agestart-up \young-growth \high-growth \mature-growth \mature-stable \decline
earnings_statusSign and representativeness of trailing EBIT and net income, judged after S3 cleanupprofitable \marginal \negative-transient \negative-structural \cyclical-trough \cyclical-peak
revenue_statusTrailing revenue against the 3-year and 5-year figurespre-revenue \growing \flat \declining
g_firm vs g_econExpected near-term growth against nominal economy growth, proxied by the riskfree rate in the valuation currency≤ g_econ → 1 stage; ≤ g_econ + 10% → 2 stages; > g_econ + 10% → 3 or more stages
leverage_stateMarket D/(D+E), its distance from the sector median and from any stated target, and its trajectorystable \changing \extreme (above 50%)
payout_coverageΣ5yr (dividends + buybacks) / Σ5yr FCFEbelow 80% → FCFE; 80–110% → dividends; above 110% → FCFE
distress_markersCoverage ratio, rating, bond prices against par, negative book equity, covenant breach, going-concern note, distressed sector peerscount plus an evidence list
intangible_intensityR&D / revenues, R&D / (R&D + net capex), brand-advertising share, recruiting and training spendlow \moderate \high
geography_exposureRevenue and production share by country or region — not the country of incorporationweight vector
ownershipPublic, private, subsidiary or division; free float; insider and institutional holdings; dual-class shares; cross-holdingsstructure record
stake_sizeFraction of equity being valuedabove 50% controlling; 50% or less minority
buyer_diversificationWho the marginal investor is for this specific transactiondiversified \partially (with ρ) \undiversified
holdings_shareValue of stakes in other firms divided by total estimated valueflag above roughly one third
business_countReportable segments with distinct economics and separable cash flows1 \>1
option_candidatesPatents, undeveloped reserves, licences, exclusive expansion rights, contractual exit rights, excess debt capacitylist, each with an exclusivity note
macro_driverRegress revenues on a commodity or cycle price and report the R²driver plus R²
transaction_motiveRead from the mandatevaluation \acquisition \restructuring \ipo \project \corporate-finance

The arithmetic here is mechanical. The judgment is whether a computed signal is representative: a coverage ratio taken at a trough, a regression beta on a stock that barely trades, a margin distorted by one large contract. Record that judgment where you make it. Computation detail and the traps in each signal: resources/signal-extraction.md.

S2 · Sector gate

Evaluated first and outranking every other gate, because sector decides whether firm-level cash flow and firm-level leverage are even defined.

if sector_type == financial-service -> B5 (ends the FCFF path entirely)
elif sector_type == real-estate/REIT -> B5b (payout mandated)
elif macro_driver exists and R^2 is high -> B6 (commodity)
elif sector_type == cyclical-industrial
and earnings_status in {trough, peak} -> B7 (cyclical normalization)
else -> continue to S3

Commodity and cyclical are separated by one question: does a usable price driver exist? A high-R² regression of revenues on the commodity price sends the firm to B6, because the price essentially is the revenue model. No usable price series sends it to B7.

For a REIT, mandated payout and tax status make optimal-debt-ratio work and retention-based growth meaningless. Value on dividends or FFO, and exclude the firm from any corporate-finance financing recommendation. All other routing continues normally.

Bank statements announce themselves. Revenue arrives as net interest income and net fee income rather than sales minus cost of goods. Interest expense sits inside operations. The credit-loss provision is a recurring operating expense. Property and equipment is negligible, and equity is a thin slice of assets — HSBC in 2019 held equity worth 7.1% of total assets, which is structure rather than a warning. knowledge/concepts/accounting-statements/sector-differences-in-financial-statements.md.

S3 · Statement-repair gate

Always executed. This is what sets what "earnings" means for everything downstream. The order is fixed because each step feeds the next.

  1. Update to trailing twelve months.
  2. Capitalize operating leases into lease debt, restated EBIT, restated invested capital.
  3. Capitalize R&D, recruiting or brand-building advertising when intangible_intensity is

moderate or high. This is overlay B8.

  1. Strip one-time items and personal expenses. Charge a market salary for uncompensated

owner labour at a private firm.

  1. Normalize only if S4 routes to B7. Normalization and the revenue-driven path are

mutually exclusive.

  1. Resolve the circularity. Restated EBIT sets interest coverage, which sets the synthetic

rating, which sets the cost of debt, which sets the lease discount rate, which changes restated EBIT. Iterate to a fixed point.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
162
Repository forks
24
7-day trend score
25

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/lyndonkl/claude/company-classification-routing/badge)](https://verified-skill.com/skills/lyndonkl/claude/company-classification-routing)

Something wrong with this skill or its page? Tell us.