Audience builder
Skill foxgeeek/adskills/.claude/skills/meta-ads/audience-builder
Claude Code Skills framework for multi-platform ad operations — Meta, Google, LinkedIn Ads from the terminal / Framework de Claude Code Skills pra gestão de tráfego multi-plataforma
npx -y skills add foxgeeek/adskills --skill audience-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build Meta custom audiences from CSV files (CRM leads, email/phone lists, WhatsApp contacts). Hashes PII client-side (SHA-256, normalized per Meta spec) before upload. Triggers on prompts about uploading leads/contacts/lists as custom audiences on Meta.
SKILL.md
1.8 KB, 411 tokens by cl100k_base, as published. Nobody here has run it
Meta Ads — Audience Builder
When to use
- "Sobe essa lista CSV como custom audience no Meta"
- "Cria uma audiência dos leads do CRM na conta acme"
- "Upload these WhatsApp contacts as a Meta custom audience"
- "Bulk hash and upload emails to audience 'Hot Leads Abril'"
Input
- CSV file with columns matching one or more of:
email,phone/telefone/celular/whatsapp,first_name/nome,last_name/sobrenome - Audience name (required)
- Account ref from
config/accounts.json - Optional: description
Execution
adskills meta audience \
--account acme \
--csv ./leads/abril-hot.csv \
--name "Hot Leads — Abril 2026" \
--description "Top-tier leads from CRM exported 2026-04-24"
PII handling
- Emails lowercased + trimmed before SHA-256
- Phones normalized to E.164 (Brazilian: strips non-digits, prefixes
55if missing) - Names lowercased + trimmed
- Only the hash leaves the machine — raw PII never sent to Meta
- CSV file is not copied or cached — read once, hashed, discarded
Batching
- Default 5000 rows per API call (Meta limit is 10k, keep margin for invalid)
- Each batch report shows
num_receivedandnum_invalid_entriesfrom Meta - Failed batches do not abort the run — partial success is reported
Guardrails
- Dry-run flag (
--dry-run) simulates without creating audience or uploading - Creates audience with
customer_file_source=USER_PROVIDED_ONLY(required by Meta TOS for CRM data) - Refuse if CSV has no recognizable PII columns — print supported headers