agentleFS
corebits-iocorebits-io/deal-origination-playbook/skills/ownership-classification/SKILL.md

ownership-classification

Skill0 starsChanged 2 months agoMITView on GitHub

Establish who actually owns each company on the target list — founder-owned, family-owned, partner-owned, sponsor-backed, franchisee, ESOP, corporate — from registries, filings, and the company's own statements, never from branding. Runs the sponsor screen that catches add-ons still using founder-era marketing. Triggers on: who owns this company, classify ownership, is this family owned, is this founder owned, is this PE backed, sponsor screen, check ownership, identify family businesses, is this company already owned.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read mandate-profile.md — section 7 for ownership types in scope, section 8 for exclusions and the known sponsor list

    line 24
  2. Distinctive:

    Shared surname alone is not proof: Verify against filings.

    line 101
  3. Very specific:

    Write exactly one value from references/ownership-taxonomy.md into ownership_type, plus the evidence tier and source in ownership_evidence.

    line 110
  4. Distinctive:

    Use it whenever tiers 1 to 5 gave you nothing

    line 115
  5. Distinctive:

    A franchise brand name is the tell: Check the name against franchisor location finders before classifying a local services business as …

    line 178

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Ownership Classification

Establishes who owns each company, because that decides who can sell it and how long it will take.

This is the step that most target lists skip, and the guess it leaves behind propagates into every later step. A company that cannot sell to you is a wasted approach and a false pipeline entry.

Read first:

  • references/ownership-taxonomy.md — the types, the evidence hierarchy, the traps
  • references/scoring-rules.md — anti-fabrication rules
  • references/research-ethics.md — public professional sources only

Step 0 — Load and scope

  1. Read mandate-profile.md — section 7 for ownership types in scope, section 8 for exclusions and the known sponsor list
  2. Read targets.csv
  3. Filter to rows with status = identified and ownership_type blank or Not found

Report how many rows are in scope. On a large list, offer to work in batches of 50 so the user can inspect early quality.


Step 1 — Work the evidence hierarchy, top down

For each company, stop at the strongest tier you can reach and record which tier you used in ownership_evidence.

TierWhere to look
1UK PSC register, EU beneficial ownership registers, equivalent statutory registers
2Registry officer and shareholder filings, annual returns, registered agent records
3Acquisition or recap press releases, sponsor portfolio pages
4The company's own current statements about its ownership
5The owner's own public professional profile stating ownership or founding
6Trade or local press describing ownership — weak, needs a second source

Never tier: website tone, branding age, "family owned since 1987" copy, design quality, or the absence of a sponsor mention.

Two independent tier-6 sources do not equal a tier-2 fact. If they disagree, the answer is Not found with both recorded in notes.


Step 2 — Run the sponsor screen on every row

Mandatory, before any classification is written. The company's own website will not tell you.

"[company]" acquisition OR acquired OR "portfolio company"
"[company]" "private equity" OR sponsor OR recapitalization
"[company]" "has been acquired by" OR "joins" OR "partners with"

Then check the named sponsors from the market map and mandate section 8 against their portfolio and add-on pages directly.

What to look for beyond a press release:

  • A holding company newly inserted above the operating entity in filings
  • A registered agent that serves a sponsor's other portfolio companies
  • Board appointments with private equity firm affiliations
  • A footer copyright naming a parent entity that is not the trading name
  • Careers or benefits pages referencing a group or family of companies

Record the screen result for every row, including the clear ones. "Screened, clear, [date]" is a finding.

Add-ons keep founder-era branding for years and score highest on naive family-owned matching. This screen is the highest-value thing in the skill.


Step 3 — Separate founder-owned from family-owned

It changes who you talk to and how long the process takes, so do not collapse them. Useful tells, each requiring a source:

TellPoints to
Single officer since formation, still servingfounder-owned
Multiple officers sharing a surname in filingsfamily-owned
"Our story" page naming a second generationfamily-owned
Founded 40+ years ago, named president is not the founderfamily-owned or professionally managed — verify which
Officer appointment dates clustered a generation apartfamily-owned
A named founder plus unrelated minority officersfounder-owned with partners

Shared surname alone is not proof. Verify against filings.

Where it is family-owned, record in notes which family members appear in filings and which appear to run operations. owner-identification needs both.


Step 4 — Classify, or do not

Write exactly one value from references/ownership-taxonomy.md into ownership_type, plus the evidence tier and source in ownership_evidence.

Not found rules:

  • Use it whenever tiers 1 to 5 gave you nothing
  • It is expected on 10 to 20 percent of a list
  • It does not mean "probably founder-owned"
  • A Not found row cannot become Strong Fit later. Note what you checked so somebody can finish the job by hand

🚧 HARD GATE — before writing

Show the user:

  • Rows about to be updated
  • Breakdown by ownership_type
  • Breakdown by evidence tier used
  • Every row where the sponsor screen fired — these are exclusions and they matter most
  • Ten sample rows in full, including at least two Not found
  • Any row where the website says one thing and the filings say another

Get approval. Then write. Set status to classified.


Step 5 — Report

Ownership classification complete — 164 rows in scope

Classified:            139  (85%)
Not found:              25  (15%)  ← normal, listed with what was checked

By type:
  founder-owned          61
  family-owned           38
  partner-owned          12
  PE-backed (add-on)     14   ← sponsor screen caught these
  PE-backed (platform)    5
  franchisee              7
  corporate-owned         2
  Not found              25

Evidence tiers used:
  Tier 1 (statutory register)    18
  Tier 2 (registry filings)      71
  Tier 3 (press / portfolio)     19
  Tier 4 (company statements)    24
  Tier 5 (owner profile)          7
  Tier 6 + second source          0

Sponsor screen:
  Run on:        164 of 164
  Fired:          19  → Not a Fit at scoring
  Of which still marketing as "family owned":  11   ← the whole point of the screen

Website contradicted filings:  6  (all 6 were add-ons)

Next: mandate-fit-scoring on the 145 non-excluded rows.

Notes

  • Never classify from the website's tone. The most common failure in the whole playbook, and it fails in the direction that wastes the most effort
  • A franchise brand name is the tell. Check the name against franchisor location finders before classifying a local services business as independent
  • Registry data is dated. An officer list from a 2019 filing describes 2019. Record the filing date in ownership_evidence
  • An owner who has died or exited shows up as a registry change, not on the website. Check the date on any single-officer record older than a few years
  • Do not enrich contacts here. That is owner-identification, and it only runs on rows that survive scoring
  • Personal data discipline applies from this step on. Officer names are personal data. Keep them in the gitignored workspace

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.