/lead-import
Import leads into CRM. Use when: loading leads from forms, CSV, or manual entry with deduplication and scoring.
$ npx -y skills add indranilbanerjee/digital-marketing-pro --skill lead-import --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/lead-import
Context preview
The summary Claude sees to decide when to auto-load this skill.
Import leads into CRM. Use when: loading leads from forms, CSV, or manual entry with deduplication and scoring.
SKILL.md
lead-import.SKILL.mdname: lead-import
description: "Import leads into CRM. Use when: loading leads from forms, CSV, or manual entry with deduplication and scoring."
disable-model-invocation: false
argument-hint: "[source-file or URL]"
/digital-marketing-pro:lead-import
Purpose
Import leads into the brand's CRM with data validation, deduplication, lead scoring, and proper consent tracking. Supports CSV files, JSON arrays, and manual entry with automatic source attribution. Ensures every imported lead is clean, scored, deduplicated, and compliant before it reaches the sales team — eliminating the manual data hygiene work that slows down lead-to-opportunity conversion. Integrates with the marketing-automation lead scoring framework to classify leads on import, so high-value prospects are routed to sales immediately while lower-scoring leads enter nurture sequences automatically.
Use this command for leads specifically — it applies scoring, lifecycle staging, and nurture enrollment. For general CRM data syncing (contacts, deals, campaigns) without lead scoring, use `/digital-marketing-pro:crm-sync` instead.
Execution gate (MANDATORY — cannot be skipped)
1. Present the full preview — recipients / spend / changes / compliance — as an **Execution Summary** before touching any live system. 2. The user must type `yes` (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run. 3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run. 4. Record the approval with `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"risk_level":"<tier>","summary":"..."}'` **before** executing, then `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id}` after the platform confirms success.
Input Required
The user must provide (or will be prompted for):
- **Lead data**: CSV file path, JSON array, or manual field entry — must include at minimum an email address or phone number for deduplication and identity resolution
- **Source attribution**: Where these leads originated — form name, event name, campaign identifier, landing page URL, ad platform and campaign, partner referral, webinar registration, or manual prospecting
- **Lead scoring threshold (optional)**: Minimum score for a lead to be imported as marketing-qualified (MQL) — leads below threshold are imported as raw leads with lower priority routing
- **CRM platform**: Target CRM — Salesforce, HubSpot, Zoho, or Pipedrive — and the specific object type (Lead, Contact, or platform equivalent)
- **Required fields**: Which fields are mandatory for import — email, first name, last name, company, phone, job title, or custom fields specific to the business qualification criteria
- **Consent status**: Whether leads have provided opt-in consent, the consent mechanism (single opt-in, double opt-in, legitimate interest, contractual necessity), and applicable privacy regulation (GDPR, CCPA, CASL)
- **Assignment rules (optional)**: How imported leads should be assigned — round-robin across reps, territory-based by geography, product-line based, company-size tier, or to a specific owner for manual distribution
- **Duplicate handling preference**: When a duplicate is found — update existing record with new data, skip the duplicate entirely, merge specific fields (e.g., add new source but keep existing owner), or create a secondary record linked to the original
- **Lead lifecycle stage**: Initial status to assign — new lead, marketing-qualified, sales-accepted, or a custom stage in the brand's lifecycle model
- **Tagging and list membership (optional)**: Tags, lists, or campaigns to associate with imported leads for downstream segmentation and reporting
- **Notification preferences (optional)**: Whether to notify assigned sales reps about new leads immediately, and via which channel (CRM notification, email, Slack) — with priority flagging for high-scoring MQLs
- **Nurture sequence trigger (optional)**: Whether to automatically enroll imported leads into an existing nurture sequence based on score tier, source, or lifecycle stage
- **Custom scoring overrides (optional)**: Manual score adjustments for specific lead sources — e.g., event leads get +20 bonus points, partner referrals get +15 — applied on top of the standard scoring model
- **Import frequency**: Whether this is a one-time import or a recurring source — if recurring, specify expected cadence (daily form submissions, weekly event exports, monthly partner lists) for import template creation
Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. **Also check for guidelines** at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions and relevant category files. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults. 2. **Parse and validate lead data**: Read the input data source and validate every record — check email format (RFC 5322), normalize phone numbers to E.164, verify required fields are present, detect encoding issues, identify obviously fake entries (test@test.com, role-based emails like info@), and flag malformed or incomplete records with specific error reasons. 3. **Normalize and enrich fields**: Standardize company names, job titles, and geographic data. Apply consistent formatting — title case for names, lowercase for emails, standardized country and state codes. Where possible, infer missing fields from available data (e.g., company domain from email, country from pho
Read more
name: lead-import description: "Import leads into CRM. Use when: loading leads from forms, CSV, or manual entry with deduplication and scoring." disable-model-invocation: false argument-hint: "[source-file or URL]"
/digital-marketing-pro:lead-import
Purpose
Import leads into the brand's CRM with data validation, deduplication, lead scoring, and proper consent tracking. Supports CSV files, JSON arrays, and manual entry with automatic source attribution. Ensures every imported lead is clean, scored, deduplicated, and compliant before it reaches the sales team — eliminating the manual data hygiene work that slows down lead-to-opportunity conversion. Integrates with the marketing-automation lead scoring framework to classify leads on import, so high-value prospects are routed to sales immediately while lower-scoring leads enter nurture sequences automatically.
Use this command for leads specifically — it applies scoring, lifecycle staging, and nurture enrollment. For general CRM data syncing (contacts, deals, campaigns) without lead scoring, use `/digital-marketing-pro:crm-sync` instead.
Execution gate (MANDATORY — cannot be skipped)
1. Present the full preview — recipients / spend / changes / compliance — as an **Execution Summary** before touching any live system. 2. The user must type `yes` (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run. 3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run. 4. Record the approval with `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"risk_level":"<tier>","summary":"..."}'` **before** executing, then `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id}` after the platform confirms success.
Input Required
The user must provide (or will be prompted for):
- **Lead data**: CSV file path, JSON array, or manual field entry — must include at minimum an email address or phone number for deduplication and identity resolution
- **Source attribution**: Where these leads originated — form name, event name, campaign identifier, landing page URL, ad platform and campaign, partner referral, webinar registration, or manual prospecting
- **Lead scoring threshold (optional)**: Minimum score for a lead to be imported as marketing-qualified (MQL) — leads below threshold are imported as raw leads with lower priority routing
- **CRM platform**: Target CRM — Salesforce, HubSpot, Zoho, or Pipedrive — and the specific object type (Lead, Contact, or platform equivalent)
- **Required fields**: Which fields are mandatory for import — email, first name, last name, company, phone, job title, or custom fields specific to the business qualification criteria
- **Consent status**: Whether leads have provided opt-in consent, the consent mechanism (single opt-in, double opt-in, legitimate interest, contractual necessity), and applicable privacy regulation (GDPR, CCPA, CASL)
- **Assignment rules (optional)**: How imported leads should be assigned — round-robin across reps, territory-based by geography, product-line based, company-size tier, or to a specific owner for manual distribution
- **Duplicate handling preference**: When a duplicate is found — update existing record with new data, skip the duplicate entirely, merge specific fields (e.g., add new source but keep existing owner), or create a secondary record linked to the original
- **Lead lifecycle stage**: Initial status to assign — new lead, marketing-qualified, sales-accepted, or a custom stage in the brand's lifecycle model
- **Tagging and list membership (optional)**: Tags, lists, or campaigns to associate with imported leads for downstream segmentation and reporting
- **Notification preferences (optional)**: Whether to notify assigned sales reps about new leads immediately, and via which channel (CRM notification, email, Slack) — with priority flagging for high-scoring MQLs
- **Nurture sequence trigger (optional)**: Whether to automatically enroll imported leads into an existing nurture sequence based on score tier, source, or lifecycle stage
- **Custom scoring overrides (optional)**: Manual score adjustments for specific lead sources — e.g., event leads get +20 bonus points, partner referrals get +15 — applied on top of the standard scoring model
- **Import frequency**: Whether this is a one-time import or a recurring source — if recurring, specify expected cadence (daily form submissions, weekly event exports, monthly partner lists) for import template creation
Process
1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. **Also check for guidelines** at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions and relevant category files. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults. 2. **Parse and validate lead data**: Read the input data source and validate every record — check email format (RFC 5322), normalize phone numbers to E.164, verify required fields are present, detect encoding issues, identify obviously fake entries (test@test.com, role-based emails like info@), and flag malformed or incomplete records with specific error reasons. 3. **Normalize and enrich fields**: Standardize company names, job titles, and geographic data. Apply consistent formatting — title case for names, lowercase for emails, standardized country and state codes. Where possible, infer missing fields from available data (e.g., company domain from email, country from pho
Your agency just signed a 50-brand client. The previous agency left no playbook. Three brands are bleeding budget, two have stale positioning, one is launching in a regulated jurisdiction next month. Where do you start?
Other skills on digital-marketing-pro.
- /ab-test-plan
Design A/B and multivariate tests. Use when: sample size calculation, testing hypothesis, CRO experimentation.
Open skill - /ad-creative
Generate platform-specific ad copy. Use when: Google RSA, Meta, LinkedIn, TikTok ad variations with quality scoring.
Open skill - /add-integration
Add MCP server integrations. Use when: connecting a custom tool, API, or service to the plugin via .mcp.json.
Open skill - /aeo-audit
Audit AI search visibility. Use when: checking brand presence in ChatGPT, Perplexity, AI Overviews, Gemini.
Open skill - /aeo-geo
Optimize AI engine visibility. Use when: AEO/GEO strategy, citation optimization, entity consistency across AI platforms.
Open skill - /agency-dashboard
Portfolio-level agency dashboard aggregating health metrics across all client brands — campaign status, budget pacing, KPI attainment, team utilization. Use when reviewing cross-brand portfolio health, preparing for agency leadership standups, or getting a single-view snapshot
Open skill

