Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Planear Una Campana

ASecurity

Planifico una especificación completa de campaña basada en tu posicionamiento. Elige el tipo: una campaña paga con audiencia y presupuesto, un plan de lanzamiento de producto, una secuencia de ciclo de vida, una serie de bienvenida, un correo para retener clientes en riesgo de cancelar, o un anuncio de función con copy para correo y dentro de la app. Solo especificaciones, nunca envío ni lanzo nada.

113 stars
0 votes
0 copies
0 views
Added 9/19/2026
content-marketinggo

Works with

cli

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add gethouston/houston --skill planear-una-campana --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Planear Una Campana?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Planear Una Campana
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethouston-planear-una-campana/badge)](https://www.skillsdirectory.com/skills/gethouston-planear-una-campana)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: planear-una-campana
title: "Planear una campaña"
description: "Planifico una especificación completa de campaña basada en tu posicionamiento. Elige el tipo: una campaña paga con audiencia y presupuesto, un plan de lanzamiento de producto, una secuencia de ciclo de vida, una serie de bienvenida, un correo para retener clientes en riesgo de cancelar, o un anuncio de función con copy para correo y dentro de la app. Solo especificaciones, nunca envío ni lanzo nada."
version: 1
category: Marketing
featured: no
image: megaphone
integrations: [hubspot, stripe, linkedin, mailchimp, customerio, googleads, metaads]
x_houston:
  created_by: houston
  skill_schema: 1
---


# Planear una campaña

Una sola skill, toda especificación de campaña. El parámetro `type` elige la forma; posicionamiento, voz, cliente ideal y "solo borradores, sin tácticas de culpa" son compartidos.

## Parámetro: `type`

- `paid`: audiencia + palabras clave/ubicación + estructura de grupos de anuncios + presupuesto + requisito de landing page + KPIs.
- `launch`: plan de 2 semanas secuenciado Día -7 → Día 0 → Día +7, cada tarea etiquetada con la skill de ESTE agente que la ejecuta.
- `lifecycle-drip`: secuencia automatizada por evento con disparador + evento meta + reglas de frecuencia + ramificación según la acción del usuario + correos redactados.
- `welcome`: serie de 5 correos para nuevos registros (por defecto Día 0 / 1 / 3 / 7 / 14, puedes anular cualquier cadencia).
- `churn-save`: correo de retención que ofrece UNA sola opción genuina (pausa / downgrade / atención personalizada / reembolso). Sin tácticas de culpa.
- `announcement`: copy de correo + copy correspondiente dentro de la app (banner + modal + aviso en estado vacío), todo alineado al mismo CTA principal.

Tú nombras el tipo en lenguaje simple, yo lo infiero. Si es ambiguo, hago UNA pregunta nombrando las 6 opciones.

## Cuándo usarlo

- Explícito: "planea una campaña paga en {channel}", "planea el lanzamiento de {feature}", "diseña una secuencia para {segment}", "redacta una serie de bienvenida", "correo de retención para {account}", "redacta el anuncio de {feature}".
- Implícito: me llaman después de `audit-a-surface` (landing-page / site-seo) cuando el fundador está listo para invertir presupuesto detrás de una página ya corregida.

## Conexiones que necesito

Ejecuto el trabajo externo a través de Composio. Antes de correr esta skill, reviso que las categorías de abajo estén conectadas. Si falta alguna, te digo cuál es, te pido que la conectes desde la pestaña de Integraciones y me detengo.

- **Plataforma de correo (Customer.io, Loops, Mailchimp, Kit, etc.)**: redacta correos de drip / bienvenida / retención / anuncio en tu remitente. Obligatoria para `lifecycle-drip`, `welcome`, `churn-save`, `announcement`.
- **Plataformas de anuncios (Google Ads, Meta Ads, LinkedIn Ads)**: trae la forma de tu cuenta, audiencia y palabras clave para que el brief encaje con tu cuenta real. Obligatoria para `paid` (el canal que estás planeando).
- **CRM (HubSpot, Salesforce, Attio)**: segmenta audiencias y trae disparadores de comportamiento. Opcional, pero mejora la precisión de la segmentación.
- **Facturación (Stripe)**: marca señales de downgrade y cancelación para `churn-save`. Obligatoria para `churn-save`.

Si ninguna de las categorías obligatorias para tu tipo de campaña está conectada, me detengo y te pido que conectes la que corresponde (tu ESP para trabajo de ciclo de vida, la plataforma de anuncios para `paid`).

## Información que necesito

Primero leo tu contexto de marketing. Por cada campo obligatorio que falte, te hago UNA pregunta en lenguaje simple (mejor modalidad: app conectada > archivo > URL > texto pegado) y espero.

- **Tu posicionamiento**: Obligatorio para todos los tipos. Por qué lo necesito: la segmentación, el manejo de objeciones y el CTA principal se derivan de ahí. Si falta, pregunto: "¿Quieres que redacte primero tu posicionamiento? Es una sola skill, toma unos cinco minutos."
- **Tu voz**: Obligatoria para `lifecycle-drip`, `welcome`, `churn-save`, `announcement`. Por qué lo necesito: los correos escritos con voz de chatbot terminan borrados. Si falta, pregunto: "Conecta tu bandeja de enviados para que pueda muestrear tu voz, o pega dos o tres correos que hayas enviado."
- **Tu cliente ideal**: Obligatorio. Por qué lo necesito: define la segmentación y los ángulos de copy. Si falta, pregunto: "¿Quién es el cliente que quieres ganar? Un párrafo está bien, o indícame tu CRM."
- **Tu plataforma de correo y el recorrido del producto**: Obligatorios para `lifecycle-drip`, `welcome`, `churn-save`, `announcement`. Por qué lo necesito: el plan de drip se ancla en tu evento real de activación. Si falta, pregunto: "¿Qué herramienta de correo usas, y cuál es tu momento de activación, lo que un usuario nuevo tiene que hacer para que el producto haga clic?"
- **Tus canales de anuncios, analítica y conversión principal**: Obligatorios para `paid`. Si falta, pregunto: "¿Para qué plataforma de anuncios estamos planeando, y cuál es el único evento de conversión que la campaña necesita impulsar?"
- **Tu política de retención**: Obligatoria para `churn-save`. Por qué lo necesito: no voy a redactar ofertas que no puedas cumplir. Si falta, pregunto: "¿Cuál es la única oferta genuina que le harás a un cliente que quiere cancelar: una pausa, un downgrade, una llamada de atención personalizada o una ventana de reembolso?"

## Pasos
<!-- houston-workflow:v1 -->

1. **Leo el registro y el posicionamiento.** Reúno los campos obligatorios que falten según la lista de arriba (una pregunta cada uno, con la mejor modalidad primero).
2. **Me ramifico según el tipo.**
   - `paid`: ejecuto `composio search {channel}` (googleads / metaads / linkedin-ads) para encontrar los slugs de la plataforma. Si está conectada, llamo a list-accounts / list-keywords / list-audiences. Redacto el brief: **Objetivo** (una frase ligada a la conversión principal), **Audiencia** (palabras clave para búsqueda; intereses/lookalikes/cargos para social, basados en el cliente ideal), **Plan de presupuesto** (diario y mensual, dividido por grupo de anuncios), **Estructura de grupos de anuncios** (de 2 a 5 grupos con tema + segmentación de ejemplo), **Ángulos creativos** (de 3 a 5 ligados a dolores/diferenciadores, se entregan a `write-a-post` o a una skill dedicada de copy publicitario para el copy exacto), **Requisito de landing page** (qué URL por grupo; marco si primero debería correr `audit-a-surface` con surface=landing-page), **Metas de KPI** (costo por clic / costo por mil impresiones / costo por adquisición / tasa de clics, citando la fuente), **Seguimiento** (eventos y UTMs), **Checklist de lanzamiento**.
   - `launch`: pido cualquier insumo de lanzamiento que falte con UNA pregunta puntual (nombre de la función + fecha objetivo, el dolor del "por qué ahora", segmento de audiencia, escala = suave/estándar/grande, por defecto estándar). Redacto un plan secuenciado en tres fases:
     - **Prelanzamiento (Día -7 → Día -1)**: diferencia de posicionamiento + narrativa del lanzamiento, brief de publicación de blog (→ `write-a-post` surface=blog), caso de éxito si aplica, brief creativo pago (→ esta skill type=paid), actualizaciones de landing page (→ `write-my-page-copy` + `audit-a-surface` surface=landing-page), especificación de correo + dentro de la app para el anuncio (→ esta skill type=announcement), calendario de teasers en redes sociales (→ `write-a-post` por canal).
     - **Día del lanzamiento (Día 0)**: secuencia hora por hora, qué se publica cuándo, quién aprueba.
     - **Poslanzamiento (Día +1 → Día +14)**: métricas a vigilar, contenido de seguimiento (caso de éxito / publicación de lecciones aprendidas), escalamiento o freno de la campaña paga, actualización de la secuencia de ciclo de vida, retro de la próxima semana vía `check-my-marketing` subject=marketing-health.
     Cada tarea con el prefijo de la skill del agente que la posee (por ejemplo, `[write-a-post:blog]`, `[plan-a-campaign:paid]`, `[write-my-page-copy:landing]`). Marco "qué podría matar este lanzamiento": 3 riesgos + mitigaciones.
   - `lifecycle-drip`: leo o capturo `domains.email.journey`. Nombro el **disparador** (evento o falta de evento que inscribe al usuario) y el **evento meta** (que lo saca exitosamente). Cadencia por defecto: 3 toques en 14 días, con un espacio mínimo de 72 horas (respeto reglas más estrictas del usuario). Cada correo después del primero se ramifica según la acción del usuario (acción meta → sale; abrió sin acción → variante A que reformula el valor; no abrió → variante B con asunto nuevo, cuerpo más corto y horario distinto; sin acción tras el último → se marca frío, sale, opcionalmente se inscribe en nutrición de baja frecuencia). Redacto asunto + preview + cuerpo + un solo CTA + métrica de éxito por correo. Incluyo un árbol en ASCII o viñetas de las ramificaciones.
   - `welcome`: cadencia por defecto Día 0 / 1 / 3 / 7 / 14. Trabajos por defecto de cada correo: (1) bienvenida + configuración de ruta más rápida, (2) momento "aha" con una acción concreta siguiente, (3) prueba social / resultado de cliente, (4) formación de hábito / expansión de casos de uso, (5) empujón hacia upgrade / ajuste de plan. Cada correo: asunto (≤50 caracteres, sin MAYÚSCULAS), preview (50-90 caracteres), cuerpo (texto plano primero, ajustado a la voz, referenciando el CTA principal del posicionamiento), un CTA principal, métrica de éxito (un número que este correo debería mover).
   - `churn-save`: leo o creo `save-policy` en el registro (pregunto UNA cosa si falta: "¿qué estás genuinamente dispuesto a ofrecer? ¿pausa por cuánto tiempo, downgrade a qué plan, atención personalizada con quién, o reembolso dentro de qué ventana?"). Elijo UNA oferta genuina (no las acumulo). Redacto: asunto (sin culpa, sin urgencia falsa), preview, cuerpo (3 párrafos cortos: reconocer, ofrecer, preguntar qué no funcionaba; un CTA principal = la oferta, uno secundario = confirmar la cancelación). Nunca: "te vamos a extrañar", contadores regresivos, urgencia falsa, "otros clientes están...", emojis de lágrimas.
   - `announcement`: busco un artefacto reciente tipo `launch` en `campaigns/`; si existe, ligo el anuncio a él (mismo CTA principal, narrativa, audiencia). Si no existe, pido nombre de la función + propuesta de valor + segmento + CTA principal. Redacto AMBOS: **Correo** (asunto ≤60 caracteres que nombra la función o el trabajo que resuelve, preview, cuerpo que cubre por qué ahora / qué hace / cómo probarlo / prueba, un CTA principal, métrica de éxito = activación dentro de N días). **Copy dentro de la app**: banner (una línea descartable ≤90 caracteres), modal (titular + cuerpo de 1-2 líneas + botón principal que coincide con el CTA + secundario "ahora no"), aviso de estado vacío / contextual (una línea en la superficie exacta que la función mejora).
3. **Escribo** de forma atómica en `campaigns/{type}-{slug}.md` (`*.tmp` → renombro). Slug: canal+tema para paid, función+mes para launch, nombre de campaña o segmento para lifecycle-drip, nombre de variante para welcome, cuenta-o-persona para churn-save, función para announcement. El front-matter lleva `type`, `primaryCta`, más campos específicos del tipo (trigger + goalEvent para drips, cadence para welcome, offer para churn-save, launchPlan path para announcement).
4. **Agrego a `outputs.json`**: leo, combino y escribo de forma atómica: `{ id (uuid v4), type: "campaign", title, summary, path, status: "draft", createdAt, updatedAt }`.
5. **Resumo al usuario.** Un párrafo: objetivo + audiencia + la mayor pregunta abierta + ruta. Para `launch`, empiezo con las 3 tareas de mayor impacto de esta semana. Para `churn-save`, empiezo con la oferta genuina. Para `announcement`, empiezo con el CTA que conecta correo + banner + modal + aviso.

## Lo que nunca hago

- Lanzar una campaña, enviar un correo, gastar presupuesto publicitario. Solo borradores/especificaciones.
- Usar culpa, urgencia falsa, contadores regresivos ni patrones oscuros en copy de retención, reenganche o afín a popups.
- Ofrecer algo que no puedas cumplir ("atención personalizada gratis para siempre").
- Inventar datos de clientes, cifras de hitos, números de retención o gasto publicitario de la competencia.
- Codificar nombres de herramientas de forma fija. El descubrimiento por Composio es siempre en tiempo real.

## Resultados

- `campaigns/{type}-{slug}.md`
- Se agrega una entrada a `outputs.json` con el tipo `campaign`.

Attribution

gethoustongethouston
View sourceMore from gethouston →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Postiz

Postiz is a tool to schedule social media and chat posts to 28+ channels X, LinkedIn, LinkedIn Page, Reddit, Instagram, Facebook Page, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Discord, Slack, Kick, Twitch, Mastodon, Bluesky, Lemmy, Farcaster, Telegram, Nostr, VK, Medium, Dev.to, Hashnode, WordPress, ListMonk

21281 votes

Serp Analysis

SERP analysis techniques for intent classification, feature identification, and competitive intelligence. Use when analyzing search results for content strategy.

2831 votes

On Page Seo Auditor

This skill performs detailed on-page SEO audits to identify issues and optimization opportunities. It analyzes all on-page elements that affect search rankings and provides actionable recommendations.

1821 votes

Brand

Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.

1240080 votes

Release Announcement

Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.

798220 votes
View all in content-marketing →