Automated pipeline that takes a company name and produces a custom Tessl skill plus an eval report showing per-scenario lift (baseline agent vs with-skill agent). A1 MVP cell of the produce/consume × personalization 2x2.
88
86%
Does it follow best practices?
Impact
89%
1.45xAverage score across 13 eval scenarios
Low
Low-risk findings worth noting
Reference for Step 2 of the company-list-filter skill. Four buckets total — two drop, one route, one flag.
The filter exists to skip discovery on companies where discovery cannot possibly produce a coherent target — not on companies where the agent guesses discovery would return SKIP. Sector-level priors ("banks have no surface", "consultancies have nothing public") are empirically wrong often enough that the filter must not apply them.
Validation evidence:
validation/finance-and-consulting-2026-05-04.md.)validation/full-list-2026-05-04.md.)Discovery's existing verdict ∈ { BUILD, SKIP } machinery already weighs sector evidence with real data. Letting the filter pre-empt that loses information and propagates wrong priors. Cost of routing through discovery is bounded — SKIP returns fast when surface is genuinely absent.
Multi-brand or multi-practice parent with no single coherent technical surface. Discovery on the bare parent name fans out to disjoint sub-brands and the human-gate at step 3 of the discovery workflow cannot pick coherently. The fix is the caller re-inputting parent/sub-brand, not a filter judgement.
Many multi-brand parents do not read as MEGA_CORP from the name alone. Before defaulting a recognizable single-name entity into RUN_DISCOVERY, run this check:
bosch, bosch-thermotechnology, etas, bosch-iot)If any of those signals fire, bucket as MEGA_CORP. Without this active check, validation found ~8–10 hidden mega-corps slip into RUN_DISCOVERY where discovery either fans out wastefully or arbitrarily picks one sub-brand.
developers.X, cloud.X, ai.X)Consumer / tech mega-corps: Google, Microsoft, Amazon, Meta, SAP, Salesforce, IBM, NVIDIA, Yandex, LinkedIn, Apple, Oracle, Red Hat. DeepMind (= Google).
Multi-brand finance: Bank of America (CashPro / Merrill Lynch / Merrill Edge / Private Bank), Allianz Direct (vs Allianz parent vs azukds), Liberty Specialty Markets (under Liberty Mutual / Liberty International / GRS), NN Group (Nationale-Nederlanden / NN / ABN AMRO Verzekeringen / Movir / BeFrank / OHRA / AZL / Woonnu / NN Bank), Novo Holdings (Novo Nordisk / Novonesis).
Big-N consultancies: McKinsey (QuantumBlack vs Digital vs Strategy — Kedro/Vizro/CausalNex live at QuantumBlack), Deloitte (NL Engineering vs AU vs Digital UK vs PE — fragmented orgs), BCG (BCG X vs Gamma vs Platinion vs classic — FACET/ARTKIT live at BCG-X-Official), Accenture (Song / Industry X / Federal / Strategy), NTT DATA (DACH / EMEA / Launch / Innovation — fragmented regional orgs), KPMG (Audit / Advisory / Lighthouse — KaveIO is the technical sub-brand).
Industrial / consumer-goods conglomerates: ZEISS (SMT / Vision / Microscopy / Industrial Metrology / Medical), Robert Bosch GmbH (BSH / ETAS / Bosch Global Software / Smart Home / eBike), DHL (DPDHL Group: Express / eCommerce / Parcel / Supply Chain), Yum! Brands (KFC / Pizza Hut / Taco Bell / Habit), Bally's Interactive (Jackpotjoy / Vera&John / Virgin Games / BallyBet), CRANE (Aerospace / Process Flow / Fluid Handling), Ferrari (S.p.A. vs Trento), IKEA (Inter IKEA / Ingka Group / Ingka Digital), Springer Nature (Springer / Nature / BMC / Palgrave), Schibsted, REWE Group, Reshift.nl, Eon Digital (E.ON IT vs eon.xyz vs eon.systems — three distinct entities), Japan Tobacco, Armstrong World Industries.
Holdings / aggregator structures: Caesar Groep (Caesar Experts / Cloud Republic / Garansys), Digital Science (Altmetric / Dimensions / Figshare / Overleaf / ReadCube), Monterro (PE firm; portfolio companies are the surface).
Input contract is (company), not (company, sub-brand). The mega-corp's surface is real but the parent name is the wrong query unit. The caller must specify Google Cloud Run, McKinsey QuantumBlack, Liberty Mutual (or a specific sub-brand), BCG X, Inter IKEA Systems, etc. Re-running with the sub-brand bypasses this bucket.
Two distinct sub-rules under one bucket. Both drop, but for different reasons. Document which sub-rule fires when bucketing — future borderline cases need explicit reasoning, not implicit lumping.
Engineering surface exists and is structurally valid; discovery on the entity would return BUILD with viable targets. Drop anyway because building a skill creates conflict-of-interest, recursive recommendation, or self-review.
Validation evidence (validation/round1-discovery-2026-05-04.md): Anthropic discovery returned BUILD with three structurally valid targets (Managed Agents recipe, three-agent harness, Agent Skills standard), but every target carries near-zero baseline-lift expectation because Claude itself is the runtime executing the skill, anthropics/skills/claude-api already saturates the API-reference layer, and the same model would review what it shipped. The drop is correct but for strategic, not structural, reasons.
Members:
ai.engineer)Personal / vanity domains / individuals:
pichot.us, earendil.com, adjunct.ltd.uk, toyo-shikisai.com — though the last is also UNKNOWN-shape)Non-engineering organizations:
Note on Sub-rule B: the line between "no engineering surface" and "thin engineering surface" can be a judgment call. When uncertain, lean RUN_DISCOVERY — discovery's SKIP verdict handles thin surfaces fast and cheap. Reserve Sub-rule B for entities where the agent is confident no engineering surface exists. Validation evidence (validation/round1-discovery-2026-05-04.md): Vän Swim, NEA, Ben's Bites all returned SKIP cleanly; the bucket boundary held without false positives.
Everything that isn't a structural drop. Discovery's own BUILD-vs-SKIP verdict is where surface evidence gets weighed — not here. Includes (without exhaustive enumeration):
Why no example list: validation showed within-sector variance is too high to enumerate accurately. Discovery is the right place for this judgment.
Use sparingly. Only when the name doesn't map to any recognizable entity AND a quick reasoning pass hasn't placed it.
Validation across 312 companies showed the bucket is doing real work — 5.4% of entries genuinely needed entity verification before bucketing.
The verification protocol lives in SKILL.md Step 2 — five search types that must all be tried before bucketing UNKNOWN. The rationale below explains why each step is needed:
HITL was bucketed UNKNOWN by an agent that did one search and gave up; the privacy-policy page at humanintheloop-relay.com explicitly names Chishingo Ventures Ltd. as the operator. One extra click would have resolved both list entries (the standalone HITL row AND the Chishingo Ventures t/a HITL row) as the same real company.A recognizable marketing tagline or product descriptor of a known company is a signal pointing to that company — not an UNKNOWN. Resolve to the parent. Example: "Purpose AI at Every Scale" → Liquid AI.
When a literal contains "t/a", "trading as", "operated by", or similar markers, the DBA name and the parent are the same business. Bucket together once.
After the protocol, the bucket should contain only:
Anything else has been resolved by the protocol.
RUN_DISCOVERYUNKNOWN is "verify the entity exists and resolves uniquely before spending discovery budget on it." Without this gate, dedup-clean strings (typos, generic concepts) silently become discovery targets despite not being real companies. With the gate, the bucket is small and the residue is genuine source-list noise.
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
skills
batch-driver
build-and-evaluate
company-list-filter
discovery
discovery-produce
select-target