How to use these
Every skill below is written to be pasted straight into an AI agent. Copy the block, add your own inputs where it asks for them, and run it. They are the plays I use on client work, given away because the play matters far less than knowing when to run it.
Column Run Cost Guardrail Table
Estimate and cap Clay table enrichment spend before a full run to avoid credit overruns.
Requires Clay, LLM
Purpose
Estimate the credit cost of a Clay table run and flag columns that exceed a budget before you enrich the full list.
Inputs
- Clay table with enrichment columns queued
- Per-provider credit cost per row
- Total row count and monthly credit budget
Steps
- List every enrichment column and note its provider and cost per row.
- Multiply each column cost by the row count to get a per-column spend estimate.
- Sum the estimates to get total run cost, then compare it against the remaining budget.
- Flag any column where cost per useful hit exceeds a threshold you set.
- Suggest gating expensive columns behind a filter or conditional run so they only fire on qualified rows.
- Recommend a test batch size that stays under 5 percent of budget.
- Write the projected spend and gate rules into a summary row or note.
Output
A cost table per column, a total run estimate, flagged over-budget columns, and gating recommendations to keep spend under the cap.
Dedupe And Roll Contacts Into Accounts
Collapses duplicate people and groups contacts under one clean account record before export.
Requires Clay, a domain enrichment or normalized domain column
Purpose
Collapse duplicate people and group contacts under a single clean account record before export.
Inputs
- A Clay table of raw contacts with email, name, and company fields
- A normalized domain column or a domain enrichment
Steps
- Add a formula column that lowercases email and strips whitespace to build a match key.
- Add a normalized domain column that strips www and subdomains.
- Use a lookup or dedupe column to flag rows sharing the same email key.
- Keep the most complete row per key with a formula that ranks by filled fields.
- Group remaining rows by normalized domain to build an account count column.
- Write the primary contact and account rollup to a second table via Clay's write-to-table action.
Output
A clean table with one row per person and an account rollup showing contact count per domain.
Email Waterfall That Stops At First Hit
Runs email providers cheapest-first and stops paying once a valid address is found.
Requires Clay, two or three email finder providers, one email verifier
Purpose
Find a verified work email per contact while paying only for the cheapest provider that returns a valid result.
Inputs
- A Clay table with full name, company domain, and LinkedIn URL columns
- API keys for two or three email providers connected in Clay
- A verification provider connected in Clay
Steps
- Order your enrichment columns cheapest to most expensive, left to right.
- In the second provider column, set the run condition to fire only when the first column returns blank.
- Repeat the blank-only condition down the chain so each provider runs only if the prior one failed.
- Add a verification column that runs on the first non-blank email and returns a status.
- Add a formula column that picks the first email with a valid or catch-all status.
- Filter to rows where the final email is still blank and route them to a manual review view.
Output
One verified email column per contact plus a spend trail showing which provider paid off.
Hiring Signal Scoring From Job Boards
Scores target accounts by how well their open roles match a buying trigger you care about.
Requires Clay, a job-listing enrichment source or HTTP API, a keyword list
Purpose
Score accounts by how strongly their open roles match a buying trigger tied to your offer.
Inputs
- A Clay table of target company domains
- A job-listing enrichment source connected in Clay (HTTP API or a scraping provider)
- A list of trigger keywords tied to your offer
Steps
- Add an HTTP API column that pulls current open roles for each domain.
- Parse the response into a job titles array with a formula column.
- Add a column that counts titles matching your trigger keyword list.
- Add a second column that flags seniority keywords like head, VP, or director in matched roles.
- Combine both into a 0 to 100 score with a formula column.
- Sort descending and push rows above your score threshold to a webhook or CRM.
- Set the table to refresh weekly so stale signals drop off.
Output
A ranked account list with a hiring-intent score and the matched job titles behind it.
Multi-Source Field Conflict Resolver
Reconcile disagreeing values across enrichment providers into one trusted field per row.
Requires Clay, LLM
Purpose
Pick one trusted value when two or more providers return different data for the same field on a row.
Inputs
- Clay table with the same field enriched from 2 or more providers
- List of fields to reconcile, for example title, company size, industry
- Provider trust ranking based on your past accuracy checks
Steps
- For each target field, map every provider column feeding it into a group.
- Compare values in the group and flag rows where they disagree.
- Apply provider trust ranking to select a default winner per disagreement.
- Use an LLM to normalize near-matches, for example VP Sales versus Vice President of Sales, before flagging a true conflict.
- Write the chosen value to a clean resolved column and record which provider won.
- Add a confidence tag of high when providers agree and low when only one source or ranking decided it.
- Export a list of low confidence rows for manual review.
Output
A resolved column per field, a source-of-truth tag, and a review queue of unresolved conflicts.
Tech Stack Change Trigger Monitor
Alerts you when a target account adds or drops a technology that signals a buying window.
Requires Clay, a technographic enrichment provider, a Slack incoming webhook
Purpose
Alert you when a target account adds or drops a technology that signals a buying window.
Inputs
- A Clay table of account domains
- A technographic enrichment provider connected in Clay
- A Slack incoming webhook URL
Steps
- Add a technographic column that returns the current detected stack per domain.
- Store this run's stack in a snapshot column using a formula that copies the value.
- Schedule the table to re-run enrichment weekly.
- Add a formula column that diffs the new stack against the stored snapshot.
- Flag rows where a watched tool appears or disappears.
- Send flagged rows to the Slack webhook via an HTTP API column with a short message.
- Overwrite the snapshot column so next week compares against today.
Output
A weekly Slack alert listing accounts with meaningful stack changes and the specific tool that moved.
Waterfall Cost Per Enriched Row Tracker
Track enrichment provider spend per verified field so you cut low-yield sources.
Requires Clay, LLM
Purpose
Measure what each enrichment provider actually costs you per usable, verified field so you can drop the ones burning credits.
Inputs
- Clay table with a running enrichment waterfall
- List of providers in the waterfall and their per-credit cost
- Field you care about (email, phone, or LinkedIn URL)
Steps
- Add a column that records which provider returned the winning value for each row.
- Add a validation column that flags whether that value passed a format or verification check.
- Group rows by winning provider and count total hits plus verified hits.
- Multiply attempts per provider by per-credit cost to get total spend.
- Divide spend by verified hits to get cost per verified field for each provider.
- Rank providers from lowest to highest cost per verified field.
- Flag any provider whose verified hit rate falls below your set threshold.
Output
A ranked table showing each provider's verified hit rate, total spend, and cost per verified field, with a short note on which sources to reorder or remove.
Waterfall Enrichment Confidence Scorer
Score each enriched row by how much you trust the data before it enters a sequence.
Requires Clay, LLM
Purpose
Assign a trust score to every enriched contact row so low confidence records get held back from outbound.
Inputs
- Clay table with waterfall enrichment already run
- Fields for provider name, match type, and email verification status
- Threshold for what counts as sequence ready
Steps
- Pull the provider that returned each field plus its reported match type.
- Assign base points per source using a fixed rubric, for example verified email gets more than catch-all.
- Add points when two providers agree on the same value and subtract when they conflict.
- Have the LLM flag rows where name, title, and company look mismatched or out of pattern.
- Sum the points into a 0 to 100 confidence score written to a new column.
- Label each row as ready, review, or hold based on your threshold.
- Route hold rows to a separate table for manual check or re-enrichment.
Output
The Clay table with a confidence score, a status label, and a short reason note per row.
Waterfall Fallback Chain Health Check
Audit how often each enrichment provider in your waterfall actually returns usable data.
Requires Clay, LLM
Purpose
Check whether each provider in your enrichment waterfall is pulling weight or just adding cost and latency.
Inputs
- Clay table with waterfall enrichment columns
- List of providers in fallback order
- Column showing which provider returned the final value
Steps
- Pull the last 30 days of enriched rows and the source-provider column for each.
- Count how many final values came from each provider position in the chain.
- Flag any provider that resolved under 3 percent of rows as a candidate to cut or reorder.
- Check for providers placed early that rarely hit, forcing wasted calls before a reliable one.
- Recommend a new provider order that puts high-hit-rate sources first.
- Note fields where the whole chain failed so you can add a source.
Output
A ranked table of providers by hit rate, plus a suggested reordered waterfall and a list of low-value providers to remove.
Waterfall Provider Priority Optimizer
Reorder enrichment providers by observed hit rate and cost so cheap accurate sources run first.
Requires Clay, LLM
Purpose
Reorder the providers in an enrichment waterfall based on real hit rates and cost so the cheapest accurate source runs first.
Inputs
- Clay table with columns for each provider result and match status
- Per credit cost for each provider
- Sample of 300 or more processed rows
Steps
- Pull the last 300 rows and record which provider first returned a valid match per row.
- Compute hit rate for each provider as valid matches divided by rows attempted at that step.
- Multiply cost per credit by attempts to get spend per provider.
- Rank providers by a score of hit rate divided by cost per successful match.
- Flag any provider with hit rate under 5 percent for removal from the stack.
- Draft the new provider order and note expected cost per enriched row.
- Suggest a stop condition so the waterfall halts at the first valid hit.
Output
A reordered provider list, per provider hit rate and cost table, and projected savings per 1000 rows.
Website Copy Signal Enricher
Scrape target homepages and tag positioning language to segment accounts by messaging maturity.
Requires Clay, Serper, LLM
Purpose
Pull homepage copy for each account and classify positioning signals so you can tailor outbound angles to how mature their messaging is.
Inputs
- Clay table with company domains
- Serper or HTTP enrichment for page fetch
- LLM classification prompt
Steps
- Add a column that fetches the homepage HTML for each domain, falling back to the /about page if the root returns thin content.
- Strip navigation and footer boilerplate, then pass the main copy block to the LLM.
- Have the LLM extract the primary value claim, the named buyer persona, and any category label the company uses for itself.
- Score messaging maturity from 1 to 5 based on specificity, proof mentions, and clarity of the target buyer.
- Tag each row with one angle bucket: vague positioning, feature led, or outcome led.
- Write a one line outbound hook that references the exact phrase they use, so the opener mirrors their own words.
- Flag rows where the fetch failed for manual review.
Output
Enriched Clay rows with value claim, persona, maturity score, angle bucket, and a ready to use mirrored opener line.
Other skill categories
The full library runs to 120 plays across 11 categories. The rest are here: