
Longbridge Buffett Moat Stock Screener
Screen equities through Buffett-style Layer-1 hard filters and Layer-2 moat scoring before you commit capital or bake logic into a trading agent.
Install
npx skills add https://github.com/longbridge/skills --skill longbridge-buffett-moat-stock-screenerWhat is this skill?
- Layer-1 binary hard filter gate with default rule: fail ≥2 filters drops the symbol unless relaxed
- Default thresholds anchored to Buffett references (e.g. 5y average ROE ≥15%, debt-to-asset ≤50%, positive FCF each of la
- Layer-2 moat scoring plus verdict matrix and holding-period mapping loaded on demand from screening criteria
- Financial fields mapped to statements (IS/BS) and derived metrics like OCF − Capex
- Numeric defaults locked to public Buffett source framing—changes require SKILL.md example sync
Adoption & trust: 317 installs on skills.sh; 16 GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Journey fit
Canonical shelf is Idea because the workflow answers whether a symbol merits deeper study using quantitative gates and moat framing before you build or deploy tooling. Research fits the layered screener: hard filters, derived ROE/FCF checks, and verdict matrix are discovery and qualification work, not ship-time automation by default.
Common Questions / FAQ
Is Longbridge Buffett Moat Stock Screener safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Longbridge Buffett Moat Stock Screener
# Screening criteria — Layer-1 hard filters, Layer-2 moat scoring, verdict matrix, holding-period mapping Loaded on demand by `longbridge-buffett-moat-stock-screener`. Numeric defaults align with Buffett's publicly stated reference points (Letters to Shareholders, *Berkshire Hathaway 1977–2024*, and *The Essays of Warren Buffett*). Do not change without updating SKILL.md examples in lockstep. --- ## 1. Layer-1 — Hard quantitative filter (pass / fail gate) Apply as a binary pre-filter. A symbol that fails ≥ 2 filters drops out by default (user can relax to "fail ≤ 3" on request). The thresholds reflect Buffett's own framing: a great business should clear all of them under normal conditions — failing two simultaneously is a strong signal the business itself isn't good enough for the framework. | # | Filter | Default threshold | Why this matters (Buffett anchor) | Source field | |---|---|---|---|---| | 1 | ROE (5y average) | ≥ 15% | *"The primary test of managerial economic performance is achievement of a high earnings rate on equity capital employed."* Sustained high ROE = the business itself is good. | derived from `financial-report --kind IS` (NI) ÷ avg equity from `financial-report --kind BS` | | 2 | Debt-to-asset ratio | ≤ 50% | High leverage adds risk that's invisible until it isn't. Buffett: *"Leverage is the only way a smart guy can go broke."* | BS — total liabilities ÷ total assets | | 3 | Free cash flow (OCF − Capex) | positive each of last 3 years | *"Accounting earnings can lie; cash cannot."* FCF is the "real money" test. | `financial-report --kind CF` | | 4 | Years listed | ≥ 5 years | Need a track record to judge management & business quality; pro-rate the 5–10y window if 5–10 years available. | `basicinfo.listing_date` | | 5 | Gross margin (TTM) | ≥ 30% | Low gross margin generally signals no pricing power, often commoditised. Buffett's favoured businesses (See's, Coke, Apple) all clear this comfortably. | IS — gross profit ÷ revenue | ### Sector-adjusted filter substitutions Banks / insurance / brokerage business models have intentionally different balance-sheet shapes; the raw rules above produce false rejects. Substitute as follows and **note the substitution in the row's Data Note**: | Sector | Substitution | |---|---| | Commercial banks | ROE rule kept; **debt rule** → CAR ≥ regulator-required + buffer · **FCF rule** → ROA ≥ 1.0% with stable NIM · **gross margin** → cost-to-income ratio ≤ 50% | | Insurance | ROE kept; **debt** → solvency margin ≥ 200% · **FCF** → underwriting combined ratio < 100% over 5y · **gross margin** → omit | | Brokerage / asset management | ROE kept; **debt** → capital-adequacy ratio per regulator · **FCF** → omit (replace with operating-cash-flow proxy from net commission income); **gross margin** → omit | If the symbol's sector classifier is missing or ambiguous, default to the raw rules — better to flag a borderline name with a "sector data missing" note than silently mis-apply the wrong substitution. ### Pro-ration rules - **Listed 5–10 years** (i.e. less than a full 10-year window): pro-rate filters 1 and 3 over the available years. Mark row "history-limited". - **Sector mid-cycle dip** (e.g. one bad year in an otherwise clean record): the user may *manually* relax filter 1 ROE to "5y avg with worst year removed" — must be echoed in the Market Summary. --- ## 2. Excluded cohorts (no scoring, dropped from the universe) These businesses are structurally outside Buffett's framework. The screener does **not** run substitute models for them — they are removed from the universe and counted in the Market Summary "Excluded" line. If the user explicitly asks for one of these, return an honest empty result with a redirect to the nearest non-excluded sector. | Cohort | Reason | Display in Market Summary | Suggested redirect | |---|---|---|---| | Airlines | Buffett 1997 Annual Meeting: *"airline industry is a value-destroying industry"*; high capex, cyclical demand, no pricin