com um clique
decision-maker-finder
Find decision makers at target companies.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Find decision makers at target companies.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | decision-maker-finder |
| description | Find decision makers at target companies. |
| metadata | {"author":"Alfonso Sainz de Baranda (Growth4U)","version":"1.0","system":"SanchoCMO","phase":"Encuentra (one-to-one)","depends_on":"company-finder","chains_to":"contact-enrichment"} |
| context_required | ["brand/{slug}/company-brief/company-brief.current.md","brand/{slug}/go-to-market/ecps/ecps.current.md","brand/{slug}/go-to-market/ecps/ecps.current.md"] |
| context_writes | ["campaigns/","brand/{slug}/operational/assets.md"] |
"No vendas a empresas. Vende a personas dentro de empresas." — Sancho "The company doesn't buy. A human with a budget and a problem does."
Este skill convierte una lista de empresas target en una lista de personas concretas: el decision maker que puede decir YES a tu producto. No buscamos emails (eso es contact-enrichment). Buscamos quienes son, validamos que son los correctos, y priorizamos por probabilidad de respuesta.
Diferencia con skills vecinos:
Read ./brand/ per _system/intelligence/brand-memory.md (if using SanchoCMO framework)
Follow _system/output/output-format.md (if using SanchoCMO framework)
Required input:
brand/{slug}/operational/companies-YYYYMMDD.json or manual list)Tools needed (in priority order):
Optional context:
Check available tools:
IF LinkedIn Sales Navigator access available:
mode = "SALES_NAV" (highest quality)
notify = "LinkedIn Sales Navigator detected — premium search"
ELIF Apollo.io API configured:
mode = "APOLLO" (good automation)
notify = "Apollo.io connected — automated people search"
ELIF mcp.apify.com is configured with valid API token:
mode = "APIFY" (actor-based)
notify = "Apify MCP connected — using scraper actors"
ELSE:
mode = "LIGHT" (manual WebSearch + LinkedIn manual)
notify = "No specialized tools — using manual search workflow"
Present:
TOOL DETECTION
|- Tool: LinkedIn Sales Navigator / Apollo / Apify / Manual
|- Mode: SALES_NAV / APOLLO / APIFY / LIGHT
|- Companies to search: [N] from company-finder
|- Estimated time: 15 min (auto) / 3-5 hours (manual)
Proceed?
Read from Context Lake (if SanchoCMO):
brand/{slug}/operational/companies-YYYYMMDD.json
Extract per company:
|- Company name
|- Domain
|- Employee count (for seniority targeting)
|- Industry (for title variations)
|- ICP segment (for role prioritization)
|- LinkedIn company URL (if available)
If NO companies list exists:
ERROR: Run /company-finder first
OR: Provide a manual list of companies
Present:
LOADED — [N] Companies from company-finder
Company A (SaaS, 250 employees)
|- Domain: example.com
|- LinkedIn: linkedin.com/company/example
|- ICP: Mid-Market B2B SaaS
Company B (Fintech, 80 employees)
...
Companies to search: All [N] / Select specific?
Using role-mapping.md + buyer persona from ECPs:
From ECP buyer persona:
|- Primary role: VP Marketing
|- Department: Marketing
|- Seniority: VP-Level (mid-market deal)
Expand to search aliases:
|- "VP Marketing"
|- "Head of Marketing"
|- "Marketing Director"
|- "VP Growth"
|- "Head of Growth"
|- "CMO" (at smaller companies)
Apply seniority decision tree:
Company size 250 employees + Deal $20K
-> Target: VP-Level (primary) + Director-Level (backup)
Present:
TARGET ROLES (Based on ECPs + Company Sizes)
Primary roles (search first):
1. VP Marketing / Head of Marketing
2. VP Growth / Head of Growth
3. CMO (for companies <100 employees)
Backup roles (if primary not found):
4. Director of Marketing / Director Demand Gen
5. Marketing Manager / Growth Manager
Aliases included: 12 title variations per role
Adjust roles? Or proceed with these?
For each company, search using selected tool:
SALES_NAV mode: Filter by Company + Title + Seniority. Sort by connection degree. Extract: Name, title, LinkedIn URL, mutual connections.
APOLLO mode: Search by company domain + title keywords + seniority. Output: Name, title, LinkedIn URL, company, department.
APIFY mode: Actor linkedin-people-search with company + role keywords, maxResults: 10. Output: JSON with profiles.
LIGHT mode: Manual search per company:
"[company name]" "[target role]" site:linkedin.comProgress tracking:
SEARCHING — [N] Companies
[####------] 4/10 companies searched
Company A: Found VP Marketing (Jane Doe) + Director Growth (John Smith)
Company B: Found CMO (Maria Garcia) — small company, CMO = VP-level
Company C: Searching...
Company D: Pending...
Using validation-criteria.md:
For each candidate found:
VALIDATE — Jane Doe (VP Marketing @ Company A)
Profile Quality:
|- Photo: Yes (+1)
|- Connections: 2,400 (+1)
|- Recent activity: Posted 3 days ago (+2)
|- Complete history: Yes (+1)
|- Skills endorsed: 27 (+1)
|- Recommendations: 8 (+1)
|- Custom headline: Yes (+1)
|- Creator mode: No (+0)
Profile Quality Score: 8/9 (Excellent)
Relevance:
|- Title exact match: "VP Marketing" = Yes (+3)
|- Department match: Marketing = Yes (+2)
|- Seniority match: VP for mid-market = Yes (+2)
|- Active profile: Yes (+1)
Relevance Score: 8/10
Red Flags: None
Warnings: None
Warm Path:
|- 2nd degree via Carlos Lopez (mutual connection) (+2)
|- Shared group: "SaaS Growth Spain" (+1)
Warm Path Score: +3
COMPOSITE SCORE: 8 + 2 (quality bonus) + 3 (warm path) = 13/15
Composite Score Formula:
COMPOSITE = Relevance (1-10) + Quality Bonus + Warm Path Bonus
Quality Bonus:
- Profile 8-9: +2
- Profile 6-7: +1
- Profile 4-5: +0
- Profile 0-3: -2
Warm Path Bonus:
- 1st degree: +3
- 2nd degree: +2
- Shared group: +1
- No connection: +0
Maximum: 15 | Primary threshold: 8+ | Backup threshold: 5+
Rank all candidates per company:
SCORING — Company A
#1 Jane Doe (VP Marketing)
Composite: 13/15 | Role: primary
#2 John Smith (Director Growth)
Composite: 9/15 | Role: backup
#3 Mike Johnson (Marketing Manager)
Composite: 6/15 | Role: backup (lower seniority)
Selection rules:
SELECTION — Company A
PRIMARY: Jane Doe
|- VP Marketing | Score: 13/15 | Warm path via Carlos Lopez
BACKUP 1: John Smith
|- Director Growth | Score: 9/15 | No warm path
BACKUP 2: (none — 2 contacts sufficient for mid-market)
DECISION MAKER FINDER — Resultados
Empresas buscadas: 10
Contactos encontrados: 24
Contactos validados: 19
Primary seleccionados: 10 (1 per company)
Backup seleccionados: 8
TOP RESULTS (By Company)
1. Company A (SaaS, 250 emp)
PRIMARY: Jane Doe — VP Marketing
|- Score: 13/15 | Quality: Excellent | Warm path: 2nd via Carlos Lopez
|- LinkedIn: linkedin.com/in/janedoe
|- Last active: 3 days ago
BACKUP: John Smith — Director Growth
|- Score: 9/15 | Quality: Good | No warm path
2. Company B (Fintech, 80 emp)
PRIMARY: Maria Garcia — CMO
|- Score: 11/15 | Quality: Good | Warm path: Shared group
WARNING: "Open to Work" badge — may be leaving
... (remaining companies)
WARNINGS:
- Company B: Maria Garcia has "Open to Work" — consider backup
- Company F: No decision maker found for target role — try different seniority
NEXT STEPS:
1. Review contacts and approve
2. Run /contact-enrichment to get emails + phone
3. Start outreach sequence
Save results? [Y/N]
Write to: brand/{slug}/operational/decision-makers-YYYYMMDD.json
{
"date": "2026-02-21",
"source": "decision-maker-finder",
"tool_used": "apollo",
"target_roles": ["VP Marketing", "Head of Growth", "CMO"],
"contacts": [
{
"name": "Jane Doe",
"title": "VP Marketing",
"company": "Example Corp",
"company_domain": "example.com",
"linkedin_url": "linkedin.com/in/janedoe",
"seniority": "VP",
"department": "Marketing",
"relevance_score": 8,
"profile_quality": "high",
"profile_quality_score": 8,
"composite_score": 13,
"last_active": "2026-02-18",
"warm_path": "2nd degree via Carlos Lopez",
"warm_path_score": 2,
"shared_groups": ["SaaS Growth Spain"],
"role_type": "primary",
"red_flags": [],
"warnings": []
},
{ "...": "same structure for backup contacts" }
],
"stats": {
"companies_searched": 10,
"candidates_found": 24,
"candidates_validated": 19,
"primary_selected": 10,
"backup_selected": 8,
"warnings_flagged": 2,
"no_match_companies": 0
}
}
Append to: ./brand/{slug}/operational/assets.md — Summary with count of primary/backup contacts, avg composite score, warm paths available.
When no specialized tools are available:
"[company name]" "[target role]" site:linkedin.comSame JSON format. Mark "tool_used": "manual". Profile quality assessment may be limited (mark "profile_quality": "estimated").
| Companies | LIGHT Mode | FULL Mode |
|---|---|---|
| 10 | 1-2 hours | 15 min |
| 50 | 5-8 hours | 30 min |
| 100 | 10-15 hours | 1 hour |
| File | What it provides | How it's used |
|---|---|---|
| brand/{slug}/operational/companies-YYYYMMDD.json | Target companies list | Source list for people search |
| brand/{slug}/go-to-market/ecps.json | Buyer personas with roles | Defines which roles to target |
| ./brand/{slug}/go-to-market/positioning//.current.md | Our value proposition | Identifies relevant departments |
| brand/{slug}/market-and-us/competitors.json | Competitor data | Warm path identification via shared connections |
| File | What it contains |
|---|---|
| brand/{slug}/operational/decision-makers-YYYYMMDD.json | All validated contacts (structured) |
| ./brand/{slug}/operational/assets.md | Append: Decision makers summary |
| Skill | Relationship |
|---|---|
| company-finder | INPUT: Provides companies list |
| contact-enrichment | OUTPUT: Takes decision makers, finds emails + phone |
| signal-monitor | ENRICHMENT: Provides engagement signals for prioritization |
| direct-response-copy | OUTPUT: Writes personalized outreach using contact context |
| email-sequences | OUTPUT: Sequences for validated contacts |
company-finder → DECISION-MAKER-FINDER → contact-enrichment → email-sequences
(companies) (people) (channels) (outreach)
Read these for detailed criteria:
Recommended cadence:
Why regular refresh:
No contactes a la empresa. Contacta a la persona que puede decir YES.
Sistema de personalización por niveles para outbound B2B, destilado de ColdIQ: cuándo personalizar en masa vs en profundidad, los 6 buckets de research rankeados, hooks fuertes vs ligeros, calibración ATL/BTL por seniority, esqueletos de email adaptables y cadencias de secuencia. Usar cuando el usuario pregunte 'cuánto personalizo', 'personalización a escala', 'primera línea del email', 'hooks', 'qué research hago del prospect', 'plantillas de cold email', 'cadencia', 'cada cuánto mando follow-ups', 'secuencia de toques', o al preparar los mensajes de una campaña outbound. Complementa el paso de personalización batch de Yalc (rol + empresa + señal verificada) y define el tier profundo para el futuro Investigador. NO usar para elegir el trigger (ver b2b-sales-triggers) ni definir la audiencia (ver b2b-targeting-playbook).
Catálogo accionable de 137 sales triggers para outbound B2B, destilado de ColdIQ (metodología Flip the Script). Cada trigger responde: qué señal lo dispara, cómo detectarla y qué ángulo de mensaje activa. Usar cuando el usuario pregunte 'con qué excusa/razón contacto a este lead', 'qué trigger uso', 'por qué escribirle ahora', 'sales triggers', 'buying signals', 'señales de compra', 'campaña signal-based', 'win-back', 're-engagement de closed-lost', 'a quién priorizo del inbound', o esté montando outbound y necesite elegir la premisa de contacto. NO usar para definir el ICP (ver b2b-targeting-playbook) ni para decidir el nivel de personalización o redactar la secuencia (ver b2b-personalization-depth).
Playbook de targeting e ICP para outbound B2B, destilado de las master skills de list building y ABM de ColdIQ. Define y refina audiencias: ICP en 3 capas, scoring 0-100 con tiers A-D, criterios de exclusión, lookalikes desde mejores clientes, dimensionado de lista (revenue reverse-engineering) y mapeo del comité de compra. Usar cuando el usuario pida 'definir el ICP', 'ideal customer profile', 'a quién apuntamos', 'targeting', 'audiencia de outbound', 'segmentar la lista', 'scoring de cuentas', 'priorizar cuentas', 'tiers ABM', 'target account list', 'criterios de exclusión', 'cuántas cuentas necesito', o antes de lanzar cualquier campaña outbound nueva. NO usar para elegir el trigger de contacto (ver b2b-sales-triggers) ni para redactar mensajes o decidir personalización (ver b2b-personalization-depth).
Planifica por chat una búsqueda de creators para Partnerships (SAN-79). Conversación en el chat global de Sancho: recomienda sectores/redes/tiers según el contexto del cliente, itera con el usuario y produce un PLAN estructurado (plan-card). Al confirmar, crea la búsqueda: campaign type=Partnerships en Yalc + tarea Outreach madre + runner de discovery encolado. Usar cuando: 'crear nueva búsqueda', 'busca creators', 'lanza un discovery de influencers', 'programa de creators', o desde el botón 'Crear nueva búsqueda' del tab Encuentra (Outreach). NO usar para: outreach B2B clásico (outreach-playbook), construir secuencias (outreach-sequence-builder), ni ejecutar el scraping (discovery-search-runner).
Design a complete acquisition metrics plan for any business type. Classifies the business into archetypes (SaaS/App, Fintech, Marketplace, E-commerce/D2C, Lead-to-Sale, Hybrid), defines activation events, builds 4-level metrics hierarchy, sets benchmarks, creates review cadence, and generates a personalized Excel tracking template. Reads company-context, budget, ecps from Context Lake. Writes metrics-plan.md to brand/. Use when onboarding a new client, launching a product, restructuring metrics tracking, or user says design metrics plan, what should we measure, acquisition KPIs, metrics setup, tracking plan. Do NOT use for diagnosing existing metrics (use diagnose) or for designing experiments (use design-experiment).
Connect a client to an external API (GA4, GSC, Meta Ads, HubSpot, Stripe, etc.) via Mission Control. Use when user says connect, conecta, conectar, link, vincular, integrar followed by an API name or service. Also triggers on "quiero conectar", "necesito conectar", "configura la API de", "añade", "enlaza". NEVER ask for credentials in chat — always redirect to the Mission Control connect page.