Agent skill
import-leads
Import a batch of leads from CSV, JSON, or a Notion DB into the local SQLite database without running the qualification pipeline.
Filed under Prospecting and list building.
From Othmane-Khadri/YALC-the-GTM-operating-system · 61 skills · 290 · pushed 2026-08-20
What it does when it runs
Import a batch of leads from CSV, JSON, or a Notion DB into the local SQLite database without running the qualification pipeline. Use when the user says 'just import this CSV', 'load these leads without qualifying', 'bulk import this file', 'add these prospects to the DB', or 'pull this Notion DB into YALC'. Side-effecting — writes rows into local SQLite.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git /tmp/YALC-the-GTM-operating-system git -C /tmp/YALC-the-GTM-operating-system sparse-checkout set ".claude/skills/import-leads" mkdir -p ~/.claude/skills/import-leads cp -R "/tmp/YALC-the-GTM-operating-system/.claude/skills/import-leads/." ~/.claude/skills/import-leads/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from Othmane-Khadri/YALC-the-GTM-operating-system/blob/5686d1f2f526346133f78eef3349fc5a655757b4/.claude/skills/import-leads/SKILL.md, which is licensed MIT (repository). 255 words, 10 headings.
Import Leads
I'll wrap leads:import. Take an input file or Notion DB id, run the import, and surface the result-set id.
When This Skill Applies
- "just import this CSV"
- "load these leads without qualifying"
- "bulk import this file"
- "add these prospects to the DB"
- "pull this Notion DB into YALC"
NOT this skill (use qualify-leads instead):
- "qualify these leads" / "score this list" — that runs the 7-gate pipeline. This skill is import only.
NOT this skill (use scrape-post-engagers instead):
- "scrape engagers off this LinkedIn post" — that produces a result set from Unipile, not from a file.
Workflow
Step 0 — Ask for input source + path
"What's the input source — CSV, JSON, or Notion DB? And what's the path or DB id?"
Step 1 — Validate (file exists / Notion id format)
Step 2 — Shell out
cd ~/Desktop/gtm-os && set -a && source .env.local && set +a && \
npx tsx src/cli/index.ts leads:import --source <type> --input <path>
Step 3 — Parse output
CLI emits row count + result-set id.
Step 4 — Render
Step 5 — Offer follow-ups
"Want me to (a) qualify these via
qualify-leads --result-set <id>, (b) launch a campaign on the imported leads?"
Notes
- CSV expected columns: at least one of
email,linkedin_url. Other columns are kept as custom fields. - Notion DB requires a 32-char hex id. The CLI introspects schema and maps obvious columns.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- npm-downloads-to-leads by Varnan-Tech · 626
- qualifying-leads by louisblythe · 143
- score-leads by explorium-ai · 3
- get-qualified-leads-from-luma by edupegoretti · 0
Need help setting it up?
This page tells you what import-leads does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.