Clay logo, go to homepage

Search Marketplace

Browse all Skills

Clean First Names For Greetings

Cleans the raw first_name_raw field into a proper greeting name in a new first_name_clean column, withholding rows that fail six guard checks instead of guessing.

About this Skill

When to use it

Use this Skill when your merge field looks robotic, greetings read 'Hi DR MATTHEW,' or first-name columns contain titles, ALL-CAPS, or a whole name mixed in. It rewrites the raw first name into a clean greeting name and flags anything it can't confidently fix instead of guessing. Avoid using it for finding a missing name; it never looks anything up and a blank stays blank.

What it delivers

You get a cleaned first-name column with confidence and review flags on every row, plus a run summary showing how many rows shipped and how many were withheld and why. It halts on a sample review before running the full list and always excludes uncertain names rather than sending a guessed or generic greeting.

SKILL.md preview

Sign in to install and view the complete SKILL.md

Illustrative preview. Sign in for the actual file.

How someone would prompt this

Clean the first-name column on my cold outreach list so greetings don't read 'Hi DR MATTHEW' or show ALL-CAPS names, and flag anything you can't confidently clean instead of guessing.

Inputs & outputs

What someone provides before the Skill runs, and the reviewable artifacts it returns.

Inputs

  • 01Lead data columns
    • Provide the table with raw first names for every row
    • add last-name and company columns if you have them, since they catch extra error cases for free
  • 02Output routing
    • Choose the column name for the cleaned value, or accept the default first_name_clean
    • say where withheld rows go for review
  • 03Campaign language scopeConfirm whether the campaign sends in English only, since non-Latin-script names are kept as written and flagged rather than translated or blanked
  • 04Model selection
    • Confirm which AI model your workspace uses for the extraction
    • the token cap must match the model class or rows return empty

Outputs

  • 01Cleaned name columnEach row gets a cleaned first name plus flags for whether it changed, its confidence level, and whether it needs review, so you can see exactly what shipped.
  • 02Run summary reportA summary of how many rows shipped a clean name, how many were withheld and under which check, so you can review or route the withheld rows before sending.

Representative output

Invented examples for shape only; no real contact appears.

The cleaned column, row by row

first_name_rawfirst_name_cleanchangedconfidenceneeds_reviewwhat happened
Dr RubaRubatruehighfalsehonorific stripped
alanAlantruehighfalsecasing applied after extraction
PAULPaultruehighfalsehas a vowel, so G3 does not fire
Maria-Jose (MJ)MJtruehighfalseparenthetical is the name they use
Araceli's FlowersAracelitruehighfalsepossessive stripped at the end only
McCurryMcCurryfalsehighfalseinternal capital preserved
KIRKDELANEYtruelowtrueG4 — splitting would invent a boundary
TVKtruelowtrueG3 — initials or an acronym, nothing decides it
InfotruehightrueG1 — mailbox role, whole-string match
ДарьяДарьяfalsehightrueG5 — kept exactly, excluded from an English campaign

The run summary

20 rows sampled (messy-pattern filter, not random)
  14 shipped a copy-ready value
   6 withheld for review:  G1 x2   G3 x1   G4 x1   G5 x2
   0 rows where the output contained letters the input did not (G6 clean)

copy should reference: first_name_clean
withheld rows routed to: <the review view the installer named>

How the Skill runs

Follow the steps in order. Each row includes the full instruction.

01
Check the workspace connection

Confirms the table or audience exists, states in one sentence that the run only adds a cleaned-name column plus three companion columns, reads nothing else, and sends nothing; stops if the connection check fails.

Step
02
Collect the input columns

Asks for the last-name and company columns even though they are optional, since they catch extra error cases for free, and asks where withheld rows go.

Step
03
Sample and review 20 messy rows

Cleans a deliberately messy 20-row sample filtered for blanks, ALL-CAPS, and honorifics, shows a before-and-after table, then stops and waits for you to review it before the full run.

Step
04
Run extraction with guard checks

Calls the model once per row against a locked prompt, then runs six deterministic checks in code to catch placeholder names, company-name overlap, shouting acronyms, non-Latin scripts, and invented text.

Step
05
Exclude instead of guessing

Routes any row with an empty result, a fired guard, or a non-Latin-script name in an English-only campaign to review instead of shipping a generic or guessed greeting.

Step
06
Deliver results and report withheld rows

Reports how many rows shipped a clean name, how many were withheld and under which check, and names the column your copy should reference.

Step

Connections required

No connections listed.

Install Clay and run it

Sign in once, install the Skill, then run the prompt.

  1. 1Install ClayUse the connector or official plugin in your coding-agent environment.
  2. 2Sign up or log inAuthorize Clay access and return when the connection is ready.
  3. 3Install the SkillRun the one-line install command from the Add this Skill card.
  4. 4Run the SkillPaste the example prompt and review the result.

Version history

Version 2From submitted SKILL.mdCurrent

Related Skills

Related searches