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

  1. Download the file below.
  2. Save it as .claude/skills/lead-list-review/SKILL.md in your project.
  3. Start Claude Code there and invoke /lead-list-review with the required inputs.

Project skill locations and slash commands follow Anthropic’s skills documentation.

Download SKILL.md ↓

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.

SKILL.md
---
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.