When to use it
Use it before moving a list into a campaign. A row count and a unique-email count measure different things: several records can share one address, while records with missing addresses cannot become distinct sendable contacts.
- Input
- The source CSV, required import fields, and the target platform’s duplicate policy if known.
- Output
- A separate reviewed CSV, row-level reasons, duplicate groups, and counts that account for every source record.
- Requirements
- Claude Code with file access and a CSV parsing tool in your environment. Email deliverability requires separate verification evidence.
Install in your project
- Download the file below.
- Save it as
.claude/skills/lead-list-review/SKILL.mdin your project. - Start Claude Code there and invoke
/lead-list-reviewwith the required inputs.
Project skill locations and slash commands follow Anthropic’s skills documentation.
Example prompt:
/lead-list-review Audit prospects.csv. Require company and email. Keep the original unchanged and write the reviewed rows and audit summary to reviews/.The complete SKILL.md
Copy or download the same file. Adapt the inputs and output to your workflow before using it.
---
name: lead-list-review
description: Audit a supplied prospect CSV for missing fields, duplicate emails, malformed records, and import readiness while preserving every original row.
---
# Lead-list review
Review the CSV supplied by the user before an outbound import. Confirm the target
import fields and duplicate policy if they are not supplied and affect the result.
Use a CSV parser so quoted commas and multiline cells remain intact.
## Review rules
- Keep the source file unchanged. Retain the original columns and assign a source
row number to each record in the reviewed output.
- Report input rows, blank email rows, nonblank email rows, and distinct nonblank
email values. For matching, trim surrounding whitespace and compare emails in
lowercase; preserve the original values alongside any normalized field.
- Report repeated nonblank email values separately from missing emails. Never
group all blank email cells as one duplicate contact.
- Flag cells containing multiple email addresses for review rather than choosing
one silently. Flag malformed addresses; a syntax check is not deliverability
verification. Keep any supplied verification status unchanged.
- Identify missing required import fields. Keep uncertain names unparsed;
company names and multiple-person cells are not reliable first/last names.
- A duplicate email can belong to several source records. Preserve those records
and their provenance, and propose the merge or hold decision explicitly.
## Deliverables
Create a separate reviewed CSV with review_status and review_reason appended to
the original fields, plus source_row and normalized_email. Use ready, hold, or
duplicate as review_status. Mark only a complete single-address record ready;
its delivery status remains whatever the supplied evidence supports.
Provide an audit summary with counts, duplicate groups, missing-field issues, and
the proposed import/hold totals. Account for every input row once in those totals.
If no target schema was supplied, describe the output as a data review, not a
confirmed successful import. Do not upload records or launch outreach as part of
this review.
Review the first result
Include a repeated email with different casing, a blank email, a multiple-address cell, and a record missing a required field. Confirm that no row disappears, blank emails are not grouped as one contact, and syntax checks are not called deliverability checks.
Adapt the template to your workflow and review each result before using it in a campaign.
Read the related guide or explore all three starter skills.