Nimble
Prepared for Cinven

Nimble Search Agents in Claude Cowork

Search Agents complete web research tasks from inside Claude, using a Nimble Connector. The user can create and modify specialist agents, and set them tasks in natural language, receiving either a cited report or structured data in the schema they asked for.

How to use an existing agent

Claude sends the task, the agent completes it

When a question in Claude needs web research, Claude hands it to a Nimble Web Search Agent through the Nimble connector. The agent completes the task, not just the search: it browses, reads, decides what counts and comes back with the finished result. Use agents for research, enrichment and dataset building: a cited report, records you already want enriched with new fields, or a dataset built from scratch in the schema you need.

The user controls the task, the sources, the domain instructions, the goals, the output schema and the effort level. Every result includes evidence and a confidence grade, so what the agent found can be audited claim by claim.
1

Ask Claude in plain words

Name the agent and the subject: a brand and a retailer, a role and a company, a product and a date window. Claude starts the run.

Example“Use the Nimble agent retail-pdp-from-category on the Medik8 brand listing at lookfantastic.com and give me every product with price, promotion and stock.”
2

Nimble runs the agent

The agent reads the sites its instructions allow and works until the task is done. Claude polls until it finishes.

ExampleClaude passes the task to retail-pdp-from-category through the Nimble connector; the agent reads the two listing pages and the 69 product pages, checking it has one row per listing position.
3

The result comes back in Claude

A cited report or structured data in the requested schema, with evidence and confidence attached.

Example69 rows with price, struck-through price, promotion, stock, size, rating and review count, each cited to the product page, with a confidence grade of high on the run.

Why Nimble agents

Built for repeatable research, not one-off searches

The task gets completed

The agent browses, reads, decides what counts and returns the finished result: a cited report, a dataset or enriched records. No links to follow up.

Agents learn and improve over time

Each agent keeps its instructions, sources and schema. When a run shows a gap, the instructions are tuned and every later run benefits; the four agents here were refined this way on real runs.

Costs fixed per request type

A run is priced by its effort level, not by tokens or pages read. The cost of a task is known before it starts, however many sites the agent visits.

Evidence on every result

Every value carries a source URL and every run a confidence grade, so findings can be audited claim by claim.

Same columns every run

An agent's output schema is fixed, so results from different companies, products or months line up without rework.

Runs in parallel, from Claude

Twenty companies or forty product-quarters are started together from one conversation; nothing to host or schedule.

Documentation

Read more

Example use cases

Four tasks the Consumer team asked for

Pick a use case. Each shows what the user says in Claude, what the agent returns, the result files and a sample of the rows.

Medik8 on lookfantastic.com

Price / SKU tracking

Every product on a retailer brand listing, one row per product page: price, promotion, stock, size, rating, reviews.

1

The user asks in Claude

User says, in Claude“Use the Nimble agent retail-pdp-from-category on the Medik8 brand listing at lookfantastic.com, effort high, and give me the result as a CSV.”
2

Claude starts the agent

Claude passes the listing to the agent through the Nimble connector and polls until the run finishes.

retail-pdp-from-categoryeffort high

Task the agent receives

Retailer: lookfantastic.com (UK site). Listing: https://www.lookfantastic.com/c/brands/medik8/view-all-medik8/ . Read every page of the listing, then return PDP data for every Medik8 product listed, one row per listing tile.
3

The agent completes the task

The agent reads every page of the Medik8 listing, notes the product count the listing reports, then opens each product page and reads price, struck-through price, promotion text, stock, size, rating and review count from the page itself. Before finishing it checks that it has one row for every listing position.

4

The result comes back

One row per listing tile, in the schema below.

Given a retailer and a category or brand listing (URL or name), enumerates every product listed and returns one row of product detail page (PDP) data per product: identity, price, promotion, stock, size, rating, reviews and category path, each taken from the retailer's own PDP.

Result files

FileWhat it holdsConfidence
medik8_lookfantastic_pdp_2026-10-14.csvSnapshot, one row per SKUhigh
price_history.csvLong-form monthly price database (first month)high
schema.csvField, type, required and description for every column
retail-pdp-from-category.jsonThe agent definition: instructions, output schema and sources

Confidence is the agent's own grade of how consistently the returned values are backed by their citations (high, medium or low), given per run. Where a file merges several runs, the share of rows from each grade is shown.

Sample: first 10 rows of medik8_lookfantastic_pdp_2026-10-14.csv

listing_positionproduct_namepricewas_pricepromotion_textin_stocksizeratingreview_count
1The LOOKFANTASTIC Beauty Advent Calendar (Worth Over £665)120.00As a Beauty Plus+ member, enjoy Double +Points when you purchase selected our Beauty Adve…True4.9624
2Medik8 Crystal Retinal 655.2069.00Save 20% | Save £13.80 ( 20% Off )True4.724157
3Medik8 Liquid Peptides Advanced MP 30ml65.6082.00Save 20% | Save £16.40 ( 20% Off )True30ml4.72377
4Medik8 Total Moisture Daily Cleansing Gel 145ml29.00True145ml4.77918
5Medik8 Exosome-PDRN Prismatic+ Serum 30ml63.2079.00Save 20% | (20% Off)True30ml4.791228
6Medik8 Retinal Recharge (Worth £92)64.00True
7Medik8 Nighttime Nourish (Worth £70)49.00True
8Medik8 Moisture Minis (Worth £40)28.00True
9Medik8 Age Defying Essential (Worth £151)113.00True5.02
10Medik8 Rejuvenation Routine (Worth £112)85.00True
5

Repeating the task

Run the same request on the first of each month and append the rows to price_history.csv: a forward-looking price and promotion series per SKU, starting from the first month run.

Schema (21 fields)

fieldtyperequireddescription
sizestring|nullFalse
brandstringTrueBrand shown on the PDP. On a brand listing, retailer gift sets, advent calendars or other cross-brand tiles keep their true brand here so they can be filtered …
pricestringTrueCurrent PDP price, number only
ratingstring|nullFalse
currencystringTrue
in_stockbooleanTrue
retailerstringTrueRetailer domain, e.g. lookfantastic.com
image_urlstring|nullFalse
was_pricestring|nullFalseStruck-through or RRP price shown on PDP
listing_urlstringFalseCategory or brand listing URL the product was found on
observed_atstringTrue
product_urlstringTrueCanonical PDP URL without tracking parameters
product_namestringTrue
review_countstring|nullFalse
category_pathstring|nullFalse
variant_countstring|nullFalse
promotion_textstring|nullFalse
is_listing_brandboolean|nullFalseTrue if the product's brand matches the brand of the listing (for brand listings); null for category listings
listing_positionstring|nullFalse1-based position on the listing in default sort
retailer_product_idstring|nullFalse
listing_total_reportedstring|nullFalseProduct count the listing page itself reports

Forward Deployed Engineers, 20 companies

Talent mapping

How many people hold a given role at each company, from public LinkedIn data, with the company’s own alias title counted separately.

1

The user asks in Claude

User says, in Claude“Run the Nimble agent linkedin-role-headcount at x-high for Forward Deployed Engineer on this company, with the fixed title definition, alias titles, partitioned searches and search_complete”
2

Claude starts the agent

Claude passes the company name and website to the agent, one company per run, and starts the runs in parallel.

linkedin-role-headcounteffort x-high

Task the agent receives

Role: Forward Deployed Engineer. Apply the fixed title definition, find each company's own alias title for the role, partition capped searches, and report search_complete for each company.
3

The agent completes the task

The agent finds the company's LinkedIn page, runs the fixed title searches (Forward Deployed Engineer and its variants) with the current-company filter, partitions a search by region and seniority when it hits LinkedIn's page cap, checks the company's own title for the role on its careers site and counts it separately, then de-duplicates profiles and records whether every search ran to its last page.

4

The result comes back

One row per company: headcount, managers, the alias title and its count, sample profiles and the search_complete flag.

Enrichment: for each company row and a target role (e.g. Forward Deployed Engineer), counts people currently holding that role per public LinkedIn data using one fixed title definition, plus managers within it, the company's own alias title for the role and its headcount (reported separately), search completeness, total LinkedIn employees and sample profiles. Run in batches of at most 5 companies so every title search completes.

Result files

FileWhat it holdsConfidence
fde_headcount_by_company_2026-10-15.csvOne row per companymedium 75% · low 15% · high 10%
schema.csvField, type, required and description for every column
linkedin-role-headcount.jsonThe agent definition: instructions, output schema and sources

Confidence is the agent's own grade of how consistently the returned values are backed by their citations (high, medium or low), given per run. Where a file merges several runs, the share of rows from each grade is shown.

Sample: first 10 rows of fde_headcount_by_company_2026-10-15.csv

company_namerole_headcountrole_headcount_floormanagers_countcompany_role_namealias_headcountsearch_completecompany_total_employees_linkedin
OpenAI66668False11490
Databricks25025012False14167
ElevenLabs64643Deployment Strategist19False1515
Scale AI36364Frontier Agents Engineer2False7485
Rippling25251True7889
Cohere8150True1271
Anthropic10105True6244
Ramp990True2900
Cognition15150Deployed Engineer24False642
Glean440True1760
5

Repeating the task

Add companies by sending more names; re-run a company to refresh its count. The same agent answers for any role, not only Forward Deployed Engineer.

Schema (15 fields)

fieldtyperequireddescription
rolestringTrue
notesstring|nullFalse
company_namestringTrue
count_methodstringTrueHow the count was obtained, e.g. 'LinkedIn people search result count, current company + title' or 'profiles enumerated'
managers_countinteger|nullFalseHow many of role_headcount hold a manager/lead/head title
role_headcountinteger|nullTruePeople currently in the role at this company per public LinkedIn data; null if not determinable
alias_headcountinteger|nullFalsePeople currently holding company_role_name at the company (counted separately, NOT included in role_headcount)
search_completebooleanFalsetrue only if every title variant search was run to its last page and no search hit a page cap
company_role_namestring|nullFalseThe company's own title for the same customer-embedded engineering role if it differs (e.g. 'Agent Deployment Engineer'), else null
sample_profile_urlsstring|nullFalseUp to 3 LinkedIn profile URLs of people counted, '; ' separated
company_linkedin_urlstring|nullFalse
title_variants_countedstringTrueExact title strings included in the count, '; ' separated
company_role_name_sourcestring|nullFalseURL showing the company uses that title (careers page, job posting or company blog)
company_total_employees_linkedininteger|nullFalseEmployee count shown on the company's LinkedIn page
role_headcount_floorintegerFalseHighest distinct-profile count seen for the company across the single-company, batch and single-thread runs; the best lower bound

Medik8 C-suite and N-1

Leadership backgrounds

Current C-suite executives and their N-1 reports, one row per person, each with a dated, cited career history.

1

The user asks in Claude

User says, in Claude“Run the Nimble agent csuite-career-history on Medik8 (medik8.com, Companies House 03783618).”
2

Claude starts the agent

Claude passes the company (name, website, registry number where known) to the agent and polls until the run finishes.

csuite-career-historyeffort x-high

Task the agent receives

Companies: Medik8 (UK skincare brand, medik8.com; legal entity Medik8 Limited, Companies House 03783618; majority-owned by L'Oreal since 2025). Return the current C-suite executives AND their N-1 reports (Managing Directors, VPs, Directors and Heads of function), each with level, reports_to where stated, and their previous roles.
3

The agent completes the task

The agent resolves the legal entity, reads the company's leadership and careers pages, the Companies House officer list, appointment press releases and LinkedIn profiles, confirms each current title with a dated public source, assigns a level (C-suite or N-1), and lists each person's previous roles with employer, title, years and a citation.

4

The result comes back

One row per leader with level and current title, and one row per previous role.

For each company named in the input, identifies the current C-suite executives and their N-1 reports (Managing Directors, VPs, Directors and Heads of function) and returns one row per person with level, current title and a dated, cited list of previous roles (employer, title, start and end year).

Result files

FileWhat it holdsConfidence
medik8_leadership_2026-10-15.csvOne row per leader with levelhigh
medik8_leadership_career_history_2026-10-15.csvOne row per previous rolehigh
schema.csvField, type, required and description for every column
csuite-career-history.jsonThe agent definition: instructions, output schema and sources

Confidence is the agent's own grade of how consistently the returned values are backed by their citations (high, medium or low), given per run. Where a file merges several runs, the share of rows from each grade is shown.

Sample: first 10 rows of medik8_leadership_2026-10-15.csv

levelexecutive_namecurrent_titlestart_year_current_rolen_previous_rolescurrent_title_source_url
C-suiteSimon CobleChief Executive Officer (CEO)20235https://medik8.com/blogs/medik8-in-the-press/m…
C-suiteLilia SantosChief Financial Officer (CFO)20165https://careers.medik8.com/people/2003131-lili…
C-suiteDaniel IsaacsChief Product Officer – Research & Development (Founding Partner)20110https://careers.medik8.com/people/2003133-dani…
C-suiteAntony ProctorChief Operations Officer (COO)202410https://www.linkedin.com/company/medik8/posts/…
C-suiteKingsley RichardsonChief Supply Chain Officer – Operations & Supply Chain20195https://careers.medik8.com/people/2003130-king…
C-suiteHolly TomlinChief Brand Officer – Global Customer Experience0https://careers.medik8.com/people/2003135-holl…
N-1Christopher YoungVice President of Sales, North America – Global Markets US20266https://careers.medik8.com/people/3995060-chri…
N-1Selin Bozkaya KetchumGlobal Brand Director – Global Customer Experience20266https://careers.medik8.com/people/4355761-seli…
N-1Kamal AnwarHead of Quality – Governance20230https://careers.medik8.com/people/2003119-kama…
N-1Gabriele DadaltHead of Formulation – Research & Development0https://careers.medik8.com/people/2003120-gabr…
5

Repeating the task

Run per company. Re-run after a leadership announcement to pick up the change.

Schema (17 fields)

fieldtyperequireddescription
notesstring|nullFalseAmbiguities, gaps or interim status
company_namestringTrueCompany name as given in the input
linkedin_urlstring|nullFalse
current_titlestringTrue
company_domainstring|nullFalse
executive_namestringTrue
previous_rolesarrayTrue
previous_roles[].titlestringTrue
previous_roles[].employerstringTrue
previous_roles[].end_yearstring|nullFalse
previous_roles[].source_urlstringTrue
previous_roles[].start_yearstring|nullFalse
start_year_current_rolestring|nullFalse
current_title_source_urlstringTrueCompany leadership page, filing or press release confirming the current role
levelstringFalseC-suite, N-1 or N-2 (from the run-level skill override on 2026-10-15)
reports_tostring|nullFalseName of the manager when a public source states it
n_previous_rolesintegerFalseCount of previous_roles

Medik8 reviews, Oct 2025 to Sep 2026

Customer sentiment

Every review on a retailer product page in a date window, copied as displayed and tagged with a fixed feature taxonomy; the time series and liked features come from counting them.

1

The user asks in Claude

User says, in Claude“Run the Nimble agent retail-review-history at x-high for Medik8 Crystal Retinal 6 on lookfantastic.com, window 2026-07-01 to 2026-09-30.”
2

Claude starts the agent

Claude passes the retailer, the product page and the date window to the agent, one run per product, retailer and quarter, and starts the runs in parallel.

retail-review-historyeffort x-high

Task the agent receives

Retailer: lookfantastic.com. Product: Medik8 Crystal Retinal 6 (product ID 11899386). Product page: https://www.lookfantastic.com/p/medik8-crystal-retinal-6/11899386/ . Window: 2026-07-01 to 2026-09-30. Return every review published in the window, one row per review.
3

The agent completes the task

The agent opens the product's review pages on the retailer site, pages through them newest first until it passes the start of the window, copies every review as displayed (date, stars, title, text, verified flag), checks page continuity, then tags each review with the liked and criticised features from a fixed taxonomy.

4

The result comes back

One row per review, plus the monthly series and feature counts built from them.

For a retailer, product and date window, returns every customer review published in the window on that retailer's product page, one row per review, with date, star rating, title, text, verified flag and source page, plus liked and criticised features tagged from a fixed, versioned skincare taxonomy (v1). Stars, dates and text are copied exactly; tags are in separate fields.

Result files

FileWhat it holdsConfidence
medik8_reviews_2025-10_to_2026-09.csvOne row per review (8,501 rows, 3.6 MB)medium 73% · high 27%
monthly_sentiment_timeseries.csvMonth × retailer: count, average stars, net sentimentmedium 73% · high 27%
product_month_pivot.csvProduct × month counts and averagesmedium 73% · high 27%
top_liked_features.csvLiked-feature labels, agent and keyword countsmedium 73% · high 27%
top_criticised_features.csvCriticised-feature labelsmedium 73% · high 27%
schema.csvField, type, required and description for every column
retail-review-history.jsonThe agent definition: instructions, output schema and sources

Confidence is the agent's own grade of how consistently the returned values are backed by their citations (high, medium or low), given per run. Where a file merges several runs, the share of rows from each grade is shown.

Sample: first 10 rows of medik8_reviews_2025-10_to_2026-09.csv

retailerproduct_namereview_datestarsreview_titleverified_purchaseliked_featurescriticised_features
cultbeauty.comMedik8 Advanced Night Restore2025-10-045Magic!True
cultbeauty.comMedik8 Advanced Night Restore2025-10-135One of the best !True
cultbeauty.comMedik8 Advanced Night Restore2025-10-134Stubborn wrinkleTrue
cultbeauty.comMedik8 Advanced Night Restore2025-10-165Night stapleFalse
cultbeauty.comMedik8 Advanced Night Restore2025-10-195Good night cream baseTrue
cultbeauty.comMedik8 Advanced Night Restore2025-10-214Great product, but don't like the packagingFalse
cultbeauty.comMedik8 Advanced Night Restore2025-10-295Perfect!True
cultbeauty.comMedik8 Advanced Night Restore2025-10-305Holly grail produktTrue
cultbeauty.comMedik8 Advanced Night Restore2025-10-305The best!True
cultbeauty.comMedik8 Advanced Night Restore2025-11-035GreatTrue
5

Repeating the task

Each new quarter is one more run per product and retailer; the monthly series extends as the rows are added.

Schema (17 fields)

fieldtyperequireddescription
starsintegerTrueStar rating 1-5 exactly as shown
authorstring|nullFalse
retailerstringTrueRetailer domain
product_idstringTrue
source_urlstringTrueURL of the page the review was read from
review_datestringTrueYYYY-MM-DD exactly as shown on the review
review_textstring|nullFalseReview body, first 400 characters
product_namestringTrue
review_titlestring|nullFalse
liked_featuresstringFalseSemicolon-separated LIKED labels from the fixed taxonomy (4-5 star reviews only), or empty
pdp_rating_avgnumber|nullFalseOverall average rating shown on the PDP at read time
pdp_review_countinteger|nullFalseTotal review count shown on the PDP at read time
taxonomy_versionstringFalseAlways the string v1
variant_mentionedstring|nullFalseProduct strength or size the reviewer says they used, if stated (e.g. 'Retinal 3')
verified_purchaseboolean|nullFalse
criticised_featuresstringFalseSemicolon-separated CRITICISED labels from the fixed taxonomy, or empty
syndicated_duplicatebooleanFalseTrue if the same author, date and text already appears under another product on the same retailer (lookfantastic syndicates reviews across related products); e…

Creating your own agent

A new question becomes a new agent in one conversation

The four agents here were built the same way any new one is. In Claude, describe the task and Claude creates the agent through the Nimble connector; from then on it runs like the examples.

User says, in Claude“Create a Nimble Web Search Agent called store-count-by-brand. For each brand I give it, count the physical stores in the UK from the brand’s own store locator, and return brand, store_count, source_url and the date read. Use only the brand’s own site. Effort high.”

What Claude sets on the agent

  • Skill: the instructions in your words: what counts, what to exclude, how to cite.
  • Output schema: the columns you named, so every run returns the same table.
  • Sources: sites to prefer or avoid.
  • Effort: how long and deep a run goes.

Run it once on a known example and ask Claude to adjust the instructions if anything is off. Nimble can also build and tune agents, as with these four.

Documentation

Read more

Nimble Web Search Agents for Cinven. Data is public web data as read by the agents; every value carries a source citation in the agent output.