ooligo
claude-skill

Resume la semana de actividad de un rep en señales clave

Dificultad
intermedio
Tiempo de setup
30min
Para
revops · ae
RevOps

Stack

Una Claude Skill que ingiere las llamadas, emails y actividad en Salesforce de un rep durante los últimos siete días y entrega un reporte de seis bullets con señales: qué se está calentando, qué se está enfriando, dónde está atorado el rep y una sugerencia específica para la próxima semana. Diseñado para auto-revisión del viernes, no para vigilancia, y construido para que el rep — no el manager — reciba el brief primero. El bundle incluye un SKILL.md funcional más tres referencias plantilla que el equipo edita para que coincidan con su framework de calificación, sus umbrales de señal y su tono.

Cuándo usarlo

El caso acotado para el que se construyó: un AE quiere un escaneo de cinco minutos de su propia semana antes de cerrar el viernes. Tiene entre diez y treinta oportunidades abiertas, un CRM que en su mayoría le dice lo que ya sabe, y llamadas de Gong que no tuvo tiempo de re-escuchar. No necesita un dashboard; necesita tres cosas sobre las que actuar el lunes. La skill produce exactamente eso — tres Calentándose, dos Atoradas (o Enfriándose), una sugerencia específica — y el formato es intencionalmente corto para que los reps efectivamente lo lean. Los exports de actividad de miles de filas se ojean y se olvidan; seis bullets se ejecutan.

También funciona como una cadencia semanal gestionada por RevOps en nombre del equipo, pero solo si el output sigue llegando primero al DM del rep y el rep controla si reenvía o no al manager. La postura de privacidad es la pieza que sostiene todo — si se voltea a “auto-cc al manager”, los reps empiezan a manipular los datos de entrada en menos de una semana y la señal colapsa.

Cuándo NO usarlo

No uses esta skill para revisiones de pipeline cross-team. Veinte reps significan veinte invocaciones y el costo se acumula rápido; un dashboard de Salesforce hace este trabajo más barato y la tarea del manager es mirar a través, no dentro, de las semanas individuales. No la uses para preparar la forecast call — los reportes de Salesforce hacen mejor los roll-ups numéricos y la skill no está construida para sumar dólares. No la uses como herramienta de vigilancia (“muéstrame qué hizo Bob esta semana”); en el momento en que el reporte va al manager sin que el rep lo haya corrido, pierdes el contrato social que mantiene a los reps honestos sobre su propia actividad. Y no la uses para deep dives a nivel cuenta — ese es un problema distinto que resuelve la skill account-research, que va a profundidad en una sola cuenta en vez de a lo ancho del portafolio de un rep.

No la corras en ventanas más cortas de tres días; hay muy pocos datos para que la rúbrica de bucketing dispare con limpieza y el output se lee como ruido. No la corras en un rep con menos de cinco oportunidades abiertas — no hay suficiente señal para bucketear.

Setup

El bundle del artifact está en apps/web/public/artifacts/activity-summarizer-skill/. Contiene SKILL.md (el entry point que carga Claude) y tres referencias rellenables bajo references/. Recórrelos en este orden:

  1. Lee apps/web/public/artifacts/activity-summarizer-skill/SKILL.md de punta a punta. La sección “Method” nombra las decisiones de ingeniería (por qué pulls en paralelo, por qué la regla de precedencia, por qué un filtro de llamadas a 300 segundos); sáltatelas bajo tu propio riesgo porque ahí es donde se atrapan los falsos positivos.
  2. Edita apps/web/public/artifacts/activity-summarizer-skill/references/qualification-framework.md. Reemplaza los defaults de MEDDPICC por el framework real de tu equipo — BANT, SPICED, tu variante propia — y, crucialmente, intercambia los nombres de campo de Salesforce (Opportunity.Economic_Buyer__c y demás) por los que tu CRM realmente usa. Saca de un reporte de Salesforce la mediana de tiempo en stage de tu equipo y mete esos números en la tabla; alimentan la detección de Atorado.
  3. Edita apps/web/public/artifacts/activity-summarizer-skill/references/signal-rubric.md. Los defaults (≥ 2 toques multi-threaded para Calentándose, ≥ 10 días sin contacto para Enfriándose, 1.5x la mediana de tiempo en stage para Atorado) son puntos de partida sensatos; ajústalos después de unas semanas corriendo contra tus datos históricos. La perilla min_call_duration_seconds está en 300 por defecto para filtrar voicemails de Gong — déjala así a menos que tu equipo tenga muchas working sessions reales de menos de cinco minutos.
  4. Edita apps/web/public/artifacts/activity-summarizer-skill/references/sample-output.md. Mete uno o dos de tus mejores reportes históricos (anonimizados) para que la skill se condicione al tono de tu equipo. La referencia también contiene un “bad sample” del que la skill se aleja — conserva ambos.
  5. Conecta auth. Salesforce: OAuth de solo lectura acotado a Activity, Opportunity y OpportunityHistory sobre el user del rep. Gong: API key acotada para leer las llamadas y transcripts en las que estuvo el rep. Ambos como MCP servers o llamadas API directas — la skill misma es agnóstica al transporte.
  6. Agenda la corrida. El default es viernes a las 16:00 hora local; el output va al DM del rep vía la integración de Slack o email de tu equipo. El auto-cc al manager intencionalmente no es una opción configurable en la skill; si un manager quiere visibilidad, el rep reenvía.

Lo que la skill realmente hace

Dos llamadas API corren en paralelo: SOQL de Salesforce para filas de Task, Event y OpportunityHistory en la ventana, y /v2/calls de Gong filtrado por el email del rep (Gong indexa por email, no por user ID de Salesforce — traduce primero o la lista de llamadas regresa vacía). El filtro de Salesforce explícitamente descarta los Tasks de Logged Email con Description vacío porque eso es ruido de higiene de CRM, no engagement; diez de esos sin una sola respuesta no significan que el deal esté caliente.

Cada oportunidad abierta entonces obtiene un record con stage, monto, tiempo en stage, conteo de toques significativos y los campos requeridos por el framework de calificación. Cada oportunidad se bucketea en Calentándose, Enfriándose o Atorada contra los umbrales en signal-rubric.md. Una regla de precedencia resuelve los empalmes — Enfriándose le gana a Atorada le gana a Calentándose — lo que mata el falso positivo más común (un deal cuyo stage avanzó por razones procedurales pero donde toda otra señal está muerta). Las transiciones a Closed Lost están explícitamente excluidas de Calentándose; sin esa regla, un rep cerrando deals muertos un viernes por la tarde generaría un reporte radiante.

El paso de render elige los tres principales Calentándose, los dos principales Atorados (o Enfriándose si no hay Atorados) y produce una sugerencia. La sugerencia tiene tres guardrails — debe nombrar una cuenta, nombrar un stage y nombrar un blocker específico. Si la rúbrica no puede producir una sugerencia que cumpla los tres, la skill escribe “Sin sugerencia esta semana — el pipeline está limpio” en vez de inventarse una línea genérica de “haz follow-up con leads viejos”.

Realidad del costo

Una sola corrida semanal sobre un rep con veinte oportunidades abiertas aterriza en aproximadamente 6.000 tokens de input y 800 tokens de output en Sonnet — alrededor de $0.05 por corrida. Matemáticas de escala:

  • 1 rep, semanal: $0.20/mes
  • 20 reps, semanal: $4/mes
  • 100 reps, semanal: $20/mes
  • 100 reps, diario: $140/mes
  • 200 reps, diario: $280/mes — en este punto cambia a Haiku ($0.04/corrida, $112/mes) o batchea las corridas en un solo prompt con múltiples contextos de rep

El costo escondido es la cuota de API en Salesforce y Gong, no Claude. La REST API de Salesforce tiene un límite diario por org (típicamente 15k llamadas para una org Enterprise); cada corrida de rep consume entre 4 y 8 llamadas dependiendo del volumen de actividad. A 200 reps diario son 1.600 llamadas/día sobre Salesforce — bien dentro del presupuesto pero vale la pena revisar el uso de tu org si ya corres otras automatizaciones pesadas.

Costo de tiempo: 30 minutos de setup inicial si los nombres de campo de tu CRM están limpios, una hora si tienes que perseguir los API names de los custom fields correctos. Costo semanal en curso: cero — corre agendado.

A qué se parece el éxito

Una instalación funcional produce un output que el rep lee en 90 segundos y que cambia al menos una acción del lunes en la mañana. Concretamente, después de cuatro semanas corriendo:

  • Los deals “atorados” del rep aparecen en el reporte ≥ 1 semana antes de aparecer en la revisión de pipeline viejo del manager. Si no, los umbrales de mediana de tiempo en stage en qualification-framework.md están demasiado generosos — apriétalos.
  • La línea de “una sugerencia” produce una acción que el rep efectivamente toma ≥ 60% de las semanas. Si es menor, la rúbrica está produciendo sugerencias genéricas y el guard de rendering no está apretado lo suficiente — revisa que la skill esté rechazando sugerencias sin cuenta nombrada, stage y blocker.
  • El bucket Enfriándose marca un deal que después se va a Closed Lost ≥ 70% de las veces. Si la precisión es mucho más baja, los umbrales de enfriamiento son demasiado sensibles (los falsos positivos ahogan la señal).

Estas no son métricas de vanidad — son la señal de que la skill está haciendo el trabajo para el que se construyó. Si no se mueven, la skill está generando lectura de viernes, no decisiones de viernes.

Versus las alternativas

vs. digests nativos del CRM (Salesforce Einstein Activity Capture, el resumen semanal propio de Gong). Estos te dan conteos crudos de actividad y resúmenes de llamadas pero no sintetizan a través de los dos streams ni aplican tu framework de calificación. Einstein te dirá “47 emails esta semana”; esta skill te dirá “Acme se movió a Proposal porque entró el CTO y preguntó por precios”. Capa de abstracción distinta.

vs. resúmenes manuales escritos por el rep. Un rep que escribe su propio recap del viernes va a producir mejor estrategia que esta skill — conoce el contexto del deal. Pero el 80% de los reps no escriben el recap, y los que lo hacen se lo saltan en cierre de trimestre. Esta skill produce un resumen 90% as-good el 100% de las semanas, lo que le gana a un resumen 100% el 30% de las semanas.

vs. el email de resumen semanal propio de Gong. El resumen de Gong es solo de llamadas; se pierde la actividad de email y CRM que muchas veces lleva la señal de enfriamiento. Tampoco aplica tu framework de calificación, así que no puede sacar a flote “atorado porque no hay Economic Buyer nombrado”. Complemento útil, no reemplazo.

vs. el status quo (un 1:1 con el manager cada dos viernes). Los 1:1 con manager atrapan los problemas dos semanas tarde y al ancho de banda del manager. Esta skill los atrapa en manos del rep la misma semana, lo que mantiene la acción donde le toca.

A tener en cuenta

  • Postura de privacidad: solo orientado al rep. El recipient por defecto es dm y la skill se rehúsa a mandar a un canal de manager. Auto-cc cambiaría el contrato social de “auto-revisión semanal” a “reporte semanal de chivato” — y los reps van a manipular los datos de entrada en menos de una semana. Guard: la skill rechaza IDs de canal de manager en el parámetro recipient, y el SKILL.md del bundle documenta esto como no configurable.
  • La calidad del transcript de Gong determina la calidad de la señal. Llamadas internacionales, audio malo y voicemails cortos producen resúmenes ruidosos que alimentan bullets malos. Guard: min_call_duration_seconds = 300 filtra voicemails y llamadas de prueba; la skill además lee el campo transcriptionConfidence por llamada de Gong y descarta cualquiera por debajo de 0.6.
  • Drift en la definición de actividad. “Logged Email” sin cuerpo y sin respuesta no es engagement; es teatro de higiene de CRM. Diez de esas entradas no significan que el deal esté caliente. Guard: el filtro SOQL exige Description no vacío en los Tasks y explícitamente ignora Tasks donde Subject matchea los patrones auto-loggeados del equipo (/^(Email\: |Logged via )/).
  • Fatiga de sugerencias. La línea de “una sugerencia para la próxima semana” se va hacia lo genérico (“haz follow-up con leads viejos”) cuando la rúbrica está floja. Guard: el paso de rendering rechaza cualquier sugerencia que no nombre una Cuenta, un Stage y un Blocker específico. Si la rúbrica no puede producir una, la skill escribe “Sin sugerencia esta semana — el pipeline está limpio” en vez de rellenar.
  • Los cambios de stage como señal pueden mentir. Un rep moviendo un deal a Closed Lost aparece como un cambio de stage pero no debe alimentar Calentándose. Guard: las reglas de bucketing tratan los rollbacks de stage y las transiciones a Closed Lost explícitamente bajo Enfriándose, nunca Calentándose.
  • La skill no reemplaza una deal review. Saca señales a flote, no estrategia. Una bandera de Atorado le dice al rep “Initech está pasada de la mediana de tiempo en stage sin Economic Buyer”; no le dice al rep qué hacer al respecto más allá de la única sugerencia. Trátala como triage, no como coaching.

Stack

  • Salesforce — actividad, oportunidad e historial de stage como source of truth
  • Gong — transcripts de llamadas, ratios talk-listen, preguntas de compra marcadas
  • Claude — extracción de señales, ranking consciente del framework, render contra la referencia de tono del bundle

Archivos de este artefacto

Descargar todo (.zip)