con un clic
daily-pulse
Daily insights from comms and meetings.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Daily insights from comms and meetings.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
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.
| name | daily-pulse |
| description | Daily insights from comms and meetings. |
| user-invocable | false |
| metadata | {"author":"Alfonso Sainz de Baranda (Growth4U)","version":"1.0","system":"SanchoCMO","phase":"Encuentra (one-to-many)","depends_on":"company-context, brand-voice","chains_to":"insight-to-content-mapper, keyword-research, seo-content"} |
| context_required | ["brand/{slug}/company-brief/company-brief.current.md","brand/{slug}/brand-voice/brand-voice.current.md","brand/{slug}/go-to-market/ecps/ecps.current.md","brand/{slug}/go-to-market/ecps/ecps.current.md"] |
| context_writes | ["brand/transitory/daily-pulse/","brand/{slug}/operational/learnings.md"] |
"Tus mejores ideas de contenido ya existen — estan escondidas en tus Slacks, meetings y tickets." "El content marketer que escucha gana al que inventa." — Sancho
Este skill escanea comunicaciones del equipo (Slack, Notion, transcripts, input manual), extrae insights accionables, los clasifica por categoria, y genera micro-briefs de contenido listos para ejecutar.
Diferencia con thief-marketers:
Read ./brand/ per _system/intelligence/brand-memory.md (if using SanchoCMO framework)
Follow _system/output/output-format.md (if using SanchoCMO framework)
Required input:
Tools needed:
Optional context:
Check available MCP tools:
IF Slack MCP + Notion MCP + Google Workspace MCP:
mode = "FULL" (automated scan, all sources)
notify = "FULL mode — scanning Slack + Notion + Drive"
ELIF Notion MCP + Google Workspace MCP (no Slack):
mode = "PARTIAL" (no Slack — manual input for chat)
notify = "PARTIAL mode — no Slack, paste chat messages manually"
ELIF Google Workspace MCP only:
mode = "LIGHT" (transcripts only, rest manual)
notify = "LIGHT mode — transcripts from Drive, paste rest manually"
ELSE:
mode = "MANUAL" (user provides all input)
notify = "MANUAL mode — paste all conversations/notes"
Present:
DAILY PULSE — Tool Detection
Mode: FULL
Slack MCP: Connected
Notion MCP: Connected
Google Workspace: Connected
Estimated time: 5-10 min
OR
Mode: MANUAL
No MCP tools detected
Paste your conversations/notes below
Estimated time: 2-3 min (depends on input)
Proceed?
Ask the user:
CONFIGURE SOURCES
Date range:
Default: Last 24 hours
Custom: [specify]
Slack channels to scan:
#clients (recommended)
#support (recommended)
#sales (recommended)
#product (optional)
#general (optional)
Custom: [specify]
Notion sources:
Meeting notes from last 24h
Client session pages
Task comments
Custom: [specify page/DB]
Transcripts:
Auto-search Drive for recent transcripts
Skip
Manual input:
Paste additional text (optional)
Use defaults for everything?
Yes (recommended for daily pulse)
Let me customize
If user says "yes" or "defaults" -> proceed with recommended config.
See source-config.md for detailed configuration options.
FULL mode execution:
Slack scan
For each configured channel:
- Fetch messages from last 24h
- Include thread replies
- Filter: min 50 characters (skip reactions-only, "ok", "thanks")
- Exclude bot messages
- Collect: author, timestamp, text, channel, thread context
Notion scan
Search for recently edited pages:
- Query: "meeting", "reunion", "sync", "retro", "notes"
- Filter: last_edited_time > 24h ago
- For each result: fetch full page content
- Extract: decisions, action items, client quotes, blockers
Transcript scan
Search Drive for recent transcripts:
- Query: "transcript OR transcripcion"
- Filter: modifiedTime > 24h ago
- For each result: read content
- Split by speaker, extract highlights
Manual input (if provided)
Parse user-provided text:
- Identify speakers (if attributed)
- Split into individual statements
- Tag source as "manual"
Present scan summary:
SCAN COMPLETE
Sources scanned:
Slack: 3 channels, 147 messages
Notion: 4 meeting notes, 2 client pages
Transcripts: 1 (Weekly sync with Monzo)
Manual: 0
Total raw inputs: 153+
Proceeding to insight extraction...
For each raw input, apply classification from insight-categories.md:
For each message/note/transcript segment:
1. Does it contain a classifiable insight?
- YES -> classify
- NO -> skip (small talk, logistics, greetings)
2. Classify into ONE category:
- Pain Point
- Feature Request
- Success Story
- Repeated Question
- Industry Trend
- Competitive Intel
- Internal Friction
3. Assign confidence:
- high: direct quote, quantitative data, multiple sources
- medium: clear inference, single source, qualitative
- low: vague, indirect, needs more context
4. Extract:
- raw_text (original quote or paraphrase)
- source (channel, page, transcript)
- extracted_insight (1-sentence summary)
- timestamp
Deduplication: If the same insight appears in multiple sources, merge into ONE entry with multiple source references. Increase confidence.
Present extraction summary:
INSIGHTS EXTRACTED
Total: 12 insights from 153 raw inputs
By category:
Pain Point: 4
Feature Request: 2
Success Story: 1
Repeated Question: 3
Industry Trend: 1
Competitive Intel: 1
Internal Friction: 0
By confidence:
High: 3
Medium: 7
Low: 2
Proceed to content idea generation?
For EACH extracted insight, generate a micro-brief:
For each insight:
1. Title Hook
- Headline that would work for blog/social
- Must be specific, not generic
- Include the tension or surprise
2. Core Insight
- One sentence: what's the real takeaway?
- Frame for the TARGET AUDIENCE (not internal)
3. Angle
- How to approach this content
- What makes OUR perspective unique?
- Connect to brand positioning (if available)
4. Content Type
- Best format for this insight
- Primary: blog, social, video, FAQ, case-study
- Channels: LinkedIn, Twitter, blog, newsletter
5. Priority
- high: multiple sources, quantifiable, timely
- medium: single source, clear value, not urgent
- low: interesting but not actionable yet
Present top ideas (example):
CONTENT IDEAS — 12 from 12 insights
1. [HIGH] "El Coste Oculto de un Pricing Confuso"
Repeated Question | Blog + LinkedIn | /seo-content
2. [HIGH] "Como [Cliente] Redujo el Churn un 62%"
Success Story | Case study | /seo-content
3. [HIGH] "5 Senales de que tu Onboarding esta Roto"
Pain Point | Blog + Twitter | /content-atomizer
4. [MED] "La Regulacion de IA que tu SaaS Necesita Conocer"
Industry Trend | LinkedIn + newsletter | /seo-content
5. [MED] "Por que Construimos [Feature]"
Feature Request | Product update | /content-atomizer
Cross-reference ALL insights for recurring themes:
PATTERN DETECTION
Analyze across all insights:
1. Same topic in 2+ sources?
-> Flag as "recurring theme"
-> Recommend content SERIES, not single piece
2. Same category dominant?
-> If 50%+ are Pain Points: product has UX issues
-> If 50%+ are Feature Requests: roadmap communication gap
-> If 50%+ are Repeated Questions: documentation gap
3. Temporal patterns?
-> Compare with previous daily-pulse outputs
-> Is this topic NEW or has it appeared before?
-> Growing frequency = escalating importance
Present patterns:
PATTERNS DETECTED
1. "Pricing Confusion" (3x) — Slack, Meeting, Support
Recurring — recommend content SERIES
2. "Onboarding Friction" (2x) — Slack, Transcript
Emerging — monitor next week
Save to: brand/{slug}/operational/daily-pulse-YYYYMMDD.json (see Output Format below for full schema)
Append summary to: ./brand/{slug}/operational/assets.md with date, insight count, top patterns, and file path.
Final presentation format:
DAILY PULSE — 2026-02-21
Sources: Slack (3 ch), Notion (6 pages), 1 transcript
Raw: 153 | Insights: 12 | Ideas: 12
CATEGORIES: Pain Point (4), Feature Request (2), Success Story (1),
Repeated Question (3), Trend (1), Competitive (1)
PATTERNS
"Pricing Confusion" — 3 sources (HIGH)
"Onboarding Friction" — 2 sources (monitor)
TOP 3 IDEAS
1. [HIGH] El Coste Oculto de un Pricing Confuso
Blog + LinkedIn | /seo-content
2. [HIGH] Como [Cliente] Redujo el Churn un 62%
Case study | /seo-content
3. [HIGH] 5 Senales de que tu Onboarding esta Roto
Blog + Twitter | /content-atomizer
SAVED: brand/{slug}/operational/daily-pulse-20260221.json
NEXT: /seo-content, /content-atomizer, /direct-response-copy
The daily-pulse JSON schema:
{
"date": "YYYY-MM-DD",
"source": "daily-pulse",
"sources_scanned": {
"slack_channels": ["string"],
"notion_pages": 0,
"transcripts": 0,
"manual_inputs": 0
},
"insights": [
{
"id": "insight-NNN",
"category": "Pain Point | Feature Request | Success Story | Repeated Question | Industry Trend | Competitive Intel | Internal Friction",
"raw_text": "Original text or paraphrase",
"source": "Source identifier (channel, page, transcript)",
"extracted_insight": "One-sentence summary",
"confidence": "high | medium | low",
"timestamp": "ISO 8601"
}
],
"content_ideas": [
{
"id": "idea-NNN",
"from_insight": "insight-NNN",
"title_hook": "Headline for the content piece",
"core_insight": "One-sentence takeaway for the audience",
"angle": "Our unique perspective or approach",
"content_type": "blog | social | video | FAQ | case-study | newsletter",
"channels": ["LinkedIn", "blog", "Twitter", "newsletter"],
"priority": "high | medium | low"
}
],
"patterns_detected": [
{
"theme": "Short theme description",
"occurrences": 0,
"sources": ["Source list"],
"significance": "Why this matters + recommendation"
}
],
"metadata": {
"mode": "FULL | PARTIAL | LIGHT | MANUAL",
"total_raw_inputs": 0,
"total_insights": 0,
"total_ideas": 0,
"total_patterns": 0,
"processing_time": "X min"
}
}
| File | What it provides | How it's used |
|---|---|---|
| ./brand/{slug}/go-to-market/positioning//.current.md | Our unique angle | Filter: insights must be relevant to our market |
| ./brand/{slug}/brand-voice/brand-voice.current.md | Our tone and style | Adaptation: frame content ideas in our voice |
| brand/{slug}/operational/content-ideas.json | Existing ideas | Deduplication: skip insights already captured |
| brand/{slug}/market-and-us/competitors.json | Competitor names | Detection: flag competitive intel mentions |
| File | What it contains |
|---|---|
| brand/{slug}/operational/daily-pulse-YYYYMMDD.json | Full daily pulse output |
| ./brand/{slug}/operational/assets.md | Append: daily pulse summary |
/insight-to-content-mapper — Route ideas to specific content skills/keyword-research — Map insights to SEO keywords/seo-content — Write articles from high-priority ideas/content-atomizer — Turn ideas into multi-platform content/direct-response-copy — Adapt pain points into ad copyRead these for detailed guidance:
Recommended cadence:
Scheduler integration:
Why daily matters:
Escucha primero. Clasifica despues. Crea con datos, no con suposiciones.
Before running the pulse:
_system/intelligence-log.jsonid = pulse-{YYYY-MM-DD} exists in entries[]processedAt)After successful processing, append to _system/intelligence-log.json → entries[]:
{
"id": "pulse-{YYYY-MM-DD}",
"type": "daily-pulse",
"client": "{client-slug}",
"date": "YYYY-MM-DD",
"title": "Daily Pulse — YYYY-MM-DD",
"summary": "{N} insights extraídos",
"status": "processed",
"sourceFile": "brand/{slug}/daily-pulse/YYYY-MM-DD.json",
"processedAt": "ISO timestamp",
"tags": ["pulse", "daily"]
}
Never re-report signals already captured in a previous pulse.
When called by the Content Engine cron, output goes to:
brand/{slug}/content/research-signals/{YYYY-MM-DD}-pulse.json
Format each insight as a research signal compatible with the Content Engine pipeline:
{
"id": "pulse-{date}-{seq}",
"type": "pulse",
"pillar_id": "P1",
"title": "Insight title",
"summary": "2-3 sentence summary",
"source": "slack-channel-name / notion-page / transcript",
"source_type": "internal",
"date": "2026-04-25",
"created_at": "2026-04-25T07:00:00Z"
}
The insight-classifier cron (7:30am) will add signal_type[] tags. The insight-to-content-mapper cron (8am) will convert to ideas with angle_draft.
Legacy: brand/transitory/daily-pulse/
Content Engine: brand/{slug}/content/research-signals/{date}-pulse.json
Write to BOTH paths during migration. Once Content Engine is fully operational, legacy path can be deprecated.