ListOps turns a plain-language acquisition or sales thesis into an investment-grade list — discovered, deduplicated, enriched, thesis-scored, and QA’d — without leaving Claude Code. Powered by the Acqwired Deep Research API.
/listops:build❯ /listops:build commercial landscaping in Texas,
owner-operated, >$5M, no PE
● Skill(list-building)
⎜ PLAN: 4 metros × "commercial landscaping" + 1 Exa query
● listops - submit_company_list (MCP)
⎜ taskId queued · googleMaps 4 cells + exa
● listops - get_company_list (MCP) ✓
⎜ 165 raw → 157 unique · 157 with website · deduped
● ENRICH → FILTER → THESIS → QA
⎜ owner-operated + >$5M + no-PE screen · thesis-scored
# 41 qualified targets — ranked, with provenance
exported → lists/commercial-landscaping-tx/final.csvWhat it does
Where the research API answers questions about one company, ListOps builds and qualifies the entire universe of companies that match a thesis.
Google Maps POI, Exa neural search, and Ocean.io lookalikes, fanned out across metros and queries, then deduped by registrable domain with website resolution.
Tier 1 runs as a 50–100 company pilot you review by hand. The full pool waits until accuracy clears 90% — no batch of credits is spent on a schema that has not proven itself.
Mandatory ownership re-verification flags PE roll-ups that look independent; reserved coverage probes catch what the main run missed. Confirmed roll-up brands feed a curation queue for future runs.
Describe the target profile in a sentence. The list-building skill plans the search, runs the pipeline, and exports a ranked list.
Pipeline
Every run is session-tracked and resumable — any session picks up exactly where the last one stopped. Credit gates sit between stages, and the pipeline stops for a human before money moves and again before anyone is contacted.
When there is a buyer to research — a PE backer, a platform to bolt onto — the firm and its portfolio are studied first, producing a master thesis and a buy-box that seed the plan. Skipped when the request is self-contained.
Your thesis becomes a MECE, multi-source search plan — overlapping, recursive waves with coverage estimation. Sources, keywords, locations, radii, filter rules, reserved QA probes, and a credit budget.
Multi-source discovery via the Acqwired Research API (DRA) list endpoint — Google Maps (POI), Exa (neural), and Ocean.io lookalikes — cross-source deduped by registrable domain, with website resolution and per-source provenance. The PE/franchise blocklist is applied server-side at discovery, so the curated list never ships to your machine.
Free local screening: dedupe, your project-specific blocklist additions, category sanity, and website-gap flags — before a single credit is spent. A stack-ranked preview lands here too, so a simple ask can stop at zero spend.
Tiered waterfalls ordered by kill-rate per credit, filtering between tiers so you only pay to enrich survivors. Tier 1 runs as a 50–100 company pilot behind a required review gate — you mark the wrong rows, and the full pool does not run until accuracy clears 90% or you explicitly override.
Full company profiles (industry, size, HQ, leadership) and a scored checklist on the survivors — ranked, not just listed.
An independent judge spot-checks finalists, re-verifies ownership on every sampled company (catches PE roll-up brands that keep local names), and runs reserved coverage probes for misses.
Gap-fill re-extracts from research already paid for, then website liveness, HQ, and legal name are verified deterministically. Export blocks while any issue is unresolved — a deliverable never ships with a dead link or a wrong HQ.
The human approval gate. Conflict checks, territory rules, a partner’s eyeball — whatever your review is, the pipeline stops and waits. It never auto-passes.
Strictly opt-in and always last: ownership-level leadership, LinkedIn, email and phone — for approved companies only.
Example theses
"Commercial landscaping companies in Texas, owner-operated, >$5M revenue, no private-equity ownership." Discovered, PE/franchise-screened, thesis-scored, exported with websites + provenance.
"Founder-owned HVAC and plumbing businesses within 90 miles of Tampa, with company profiles." Multi-wave local discovery + size/HQ/leadership + a fit score against your thesis.
"Independent veterinary clinics in the Southeast, excluding corporate consolidators, ranked by acquisition fit." Discovery + blocklist screening + QA ownership re-verification before delivery.
Install
ListOps works in Claude Code and Claude Desktop, but not identically. The scripted pipeline — session tracking, resumable batches, deterministic verification — runs on files on disk, so it needs Claude Code. Desktop gets the same 24 tools, driven conversationally. You’ll need an Acqwired API key (request one).
Open Customize
Go to Plugins → Add marketplace
Find the ListOps server
acqwired-inc/listops
Add it from Personal
Authorize the listops connector
Check it works
get_credits and come back with your balance — that confirms all 24 tools are live. From here you work in plain language: “find commercial landscaping companies in Texas, owner-operated, no PE”./listops:connect dra_your_key_here and restart.After authorizing: the 24 research and list-building tools are live — Claude can discover companies, enrich, and score on request. The scripted /listops:* pipeline installs to disk, so it runs in Claude Code; on Desktop you drive the same tools conversationally.
Seeing “Contact an organization owner to install connectors”? Your Claude Desktop account is on a managed org plan. Ask your org admin to enable connector installation in Settings → Organization → Permissions, or use a personal Claude Desktop account instead.
Install the plugin, then authorize the connector — that is the whole setup:
/plugin marketplace add acqwired-inc/listops/plugin install listops@acqwired# authorize the connector: /mcp → listops → Authenticate# (a browser opens — paste your dra_ key once)# restart Claude Code, then:/listops:statusThere is no second key to paste. The access token the connector issues is your dra_ key, so on the next session start ListOps reads it and installs the skills, pipeline commands, and QA agent itself — then keeps them current automatically.
No browser available? CI, a shared machine, or a server added with a static auth header has no OAuth credential to read. Paste the key once instead — it stores the key and installs the pack in one step (export DRA_API_KEY=dra_… also works if you would rather set it in the environment):
/listops:connect dra_your_key_here