Communitygithub.com

Varnan-Tech/opendirectory

Redacta y diseña un boletín de correo electrónico HTML completo a partir de un tema o resumen de contenido, generando HTML listo para pegar en plataformas como Loops, Mailchimp, Beehiiv o Resend.

¿Qué es opendirectory?

Esta habilidad para agentes de IA permite redactar y diseñar boletines de correo electrónico HTML completos a partir de un tema o un resumen de contenido. Es útil para desarrolladores, creadores de contenido y equipos de marketing que necesitan producir rápidamente correos electrónicos profesionales y listos para enviar, evitando la tediosa maquetación manual. Soporta plataformas populares como Loops, Mailchimp, Beehiiv y Resend, adaptando variables de personalización y enlaces de cancelación de suscripción según la plataforma elegida. El proceso se guía paso a paso: desde la recopilación de información (tema, audiencia, CTA) hasta la generación de HTML con tablas y estilos en línea, siguiendo estrictas reglas de diseño para garantizar la compatibilidad con los clientes de correo. Además, incluye la generación de opciones de asunto, un resumen en texto plano y una fase de autoverificación para asegurar la calidad del código y el contenido, evitando palabras prohibidas y aplicando principios de diseño editorial.

Compatible con✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/email-newsletter

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Boletín de Correo Electrónico

Redacta y diseña un boletín de correo electrónico HTML completo a partir de un tema o un resumen de contenido. El resultado estará listo para copiar y pegar en Loops, Mailchimp, Beehiiv, Resend o cualquier plataforma de correo estándar.


Regla crítica: HTML basado en tablas con estilos en línea únicamente. Sin clases CSS, sin flexbox, sin grid, sin bloques <style>. Cada elemento debe tener style="" directamente. Esto no es opcional: los clientes de correo eliminan todo lo demás.


Paso 1: Recopilación de Información

Necesito tres cosas para empezar. Si las tres están presentes en el mensaje, pasa al Paso 2.

Si falta alguna, pregunta exactamente:

"Para empezar, necesito tres cosas:

  1. Tema -- ¿De qué trata este boletín?
  2. Audiencia -- ¿Quién lo leerá? (cargo, tamaño de la empresa, cómo te conocen)
  3. CTA principal -- ¿Qué acción quieres que realicen los lectores?"

Espera a tener las tres antes de continuar.


Paso 2: Recopilación Completa

Haz todas las preguntas en un solo mensaje, agrupadas por categoría. El usuario puede omitir cualquier pregunta; se aplicarán valores predeterminados.

"Algunas preguntas antes de redactar: responde lo que sepas, omite el resto:

Contenido

  1. Extensión -- breve (300 palabras, impactante) / estándar (500-700) / análisis profundo (800+ palabras)?
  2. Formato -- artículo editorial / desglose numerado / historia personal / informe de datos?
  3. Contexto del número -- envío único / parte de una serie semanal / resumen mensual?
  4. URL de la CTA -- ¿Cuál es el enlace real? (o usaré un marcador de posición)

Marca 5. Nombre de la empresa / marca -- para el encabezado y el pie de página 6. Eslogan -- descripción de una línea (opcional, para el pie de página) 7. Ciudad y país -- para el pie de página (ej. "Madrid, España") 8. Color principal de la marca -- ¿código hexadecimal? (ej. #856FE6) 9. Acento secundario -- mantener el amarillo-verde predeterminado (#D8F90A) / usar el color de la marca / ¿otro?

Diseño 10. Fondo -- oscuro (editorial/SaaS) / claro (limpio/corporativo) / ¿hexadecimal personalizado? 11. Fuente de visualización -- serifa editorial (Instrument Serif) / sans moderna y limpia / ¿solo fuentes del sistema? 12. Estilo del botón -- píldora (muy redondeado) / ligeramente redondeado / ¿esquinas rectas? 13. Estilo visual -- editorial / técnico+datos / cálido+emprendedor / audaz+campaña?

Plataforma y Técnico 14. Plataforma -- Loops / Mailchimp / Beehiiv / Resend / ¿otra? 15. Tono -- educativo / conversacional / audaz+directo / formal / ¿divertido? 16. Personalización -- ninguna / nombre / nombre + empresa? 17. Asunto -- ¿ya tienes uno / quieres 3 opciones? 18. Secciones secundarias -- bloque de patrocinio / llamada de producto / evento / enlaces rápidos / ¿ninguna? 19. Versión en texto plano -- sí (recomendado) / ¿no?"

Valores predeterminados si se omite:

PreguntaPredeterminado
Extensiónestándar (500-700 palabras)
Formatoartículo editorial
Contexto del númeroenvío único
URL de la CTAmarcador de posición [CTA_URL]
Nombre de la empresamarcador de posición [TU_MARCA]
Esloganninguno
Ciudad y paísmarcador de posición [CIUDAD, PAÍS]
Color de marcaninguno (usar #D8F90A para todos los acentos)
Acento secundario#D8F90A (amarillo-verde predeterminado)
Fondooscuro
Fuente de visualizaciónInstrument Serif (serifa editorial)
Estilo del botónpíldora
Estilo visualeditorial
Plataformagenérica
Tonoconversacional
Personalizaciónninguna
Asuntogenerar 3 opciones
Secciones secundariasninguna
Texto planosí

Paso 2.5: Dirección de Diseño (interno -- no se muestra al usuario)

A partir de las respuestas del Paso 2, determina:

  • Carácter visual (de la pregunta 13, o inferido del tono + formato si se omitió)
  • UN elemento inolvidable -- identifícalo antes del Paso 3
  • Ruta de la plantilla (consulta el Paso 5)

Valores predeterminados del carácter si se omite la pregunta 13:

  • Tono educativo / formal: Editorial
  • Contenido con muchas métricas (estadísticas, puntos de referencia, informes): Técnico/centrado en datos
  • Lanzamientos de productos, eventos, campañas: Audaz/campaña

Nunca preguntes al usuario por la dirección de diseño por separado; dedúcela de sus respuestas.


Paso 3: Diseño de la Estructura

Lee references/html-email-guide.md para conocer las reglas de diseño antes de elegir las secciones.

Basándote en el tema + la audiencia + la CTA + las secciones secundarias solicitadas, selecciona las secciones de esta biblioteca:

SecciónIncluir cuando
encabezadoSiempre -- marcador de posición del logotipo + número de edición o fecha
heroSiempre -- gran titular + frase de enganche de 1-2 oraciones
introducciónTono conversacional o educativo -- nota personal breve
contenido-principalArtículo o idea principal (con mucho texto)
llamada-estadísticaHay una estadística, cita o dato convincente
seccion-secundariaSe solicitó una CTA secundaria
cta-productoEl contexto de la marca está presente y encaja un complemento de producto sutil
bloque-patrocinioSe solicitó una sección de patrocinio
enlaces-rapidosSe solicitó una sección de enlaces seleccionados
pie-de-paginaSiempre -- enlace de cancelación de suscripción + nombre de la empresa

Muestra la estructura elegida como una lista numerada con el propósito de cada sección en una línea:

Estructura propuesta:
1. Encabezado -- logotipo + Número 1 / [fecha]
2. Hero -- titular + párrafo de enganche
3. Introducción -- breve encuadre personal
4. Contenido Principal -- desglose de [tema]
5. Llamada Estadística -- punto de datos clave de la historia
6. CTA -- [texto de la cta]
7. Pie de página -- cancelar suscripción + empresa

¿Funciona esta estructura o debería ajustar alguna sección?

Espera la confirmación antes del Paso 4.


Paso 4: Borrador de Contenido

Redacta el texto de cada sección en orden. Aún sin HTML, solo prosa limpia.

Reglas por sección:

  • Encabezado: Número de edición + fecha. No se necesita texto.
  • Titular hero: Máximo 8 palabras, centrado en el resultado, sin empezar con "Yo/Nosotros/Nuestro"
  • Frase de enganche hero: 1-2 oraciones, problema o brecha de curiosidad, atrae al lector
  • Introducción: 2-3 oraciones, personal o contextual, sin lenguaje corporativo, se permiten contracciones
  • Contenido principal: 250-400 palabras, fácil de escanear -- usa frases en negrita para puntos clave, párrafos cortos (1-3 líneas), sin muros de texto, sin sobrecarga de viñetas
  • Llamada estadística: Una estadística o cita, máximo 20 palabras, impactante
  • CTA de producto: 2-3 oraciones, centrado en el valor, no "Mira nuestro producto" -- diles qué cambia para ellos
  • Texto del botón CTA: 3-5 palabras, verbo de acción + beneficio ("Lee el desglose completo", "Reserva mi asiento", "Consigue la guía")
  • Pie de página: Marcador de posición del enlace de cancelación de suscripción + nombre de la empresa

Lee references/subject-line-formulas.md y luego escribe 3 opciones de asunto (si el usuario no proporcionó el asunto):

  • Opción A: Fórmula de brecha de curiosidad
  • Opción B: Fórmula de beneficio directo
  • Opción C: Fórmula de número/lista

No uses guiones largos (—). No uses: "poderoso", "sin fisuras", "innovador", "aprovechar", "revolucionario", "desbloquear", "transformar", "elevar", "de vanguardia", "robusto".


Paso 5: Generación de HTML

Lee references/design-system.md y references/html-email-guide.md antes de generar el HTML.

Plantilla o personalizado -- decide según las respuestas del Paso 2:

Usa templates/dark-newsletter.html como base cuando TODAS las siguientes condiciones se cumplan:

  • fondo = oscuro (o no especificado)
  • fuente de visualización = Instrument Serif (o no especificado)
  • no se proporcionó un hexadecimal de fondo personalizado

Usa templates/light-newsletter.html como base cuando TODAS las siguientes condiciones se cumplan:

  • fondo = claro O tono = formal
  • fuente de visualización = Instrument Serif (o no especificado)
  • no se proporcionó un hexadecimal de fondo personalizado

Genera HTML personalizado desde cero cuando se cumpla ALGUNA de las siguientes condiciones:

  • se proporcionó un hexadecimal de fondo personalizado (ni oscuro, ni blanco)
  • fuente de visualización = sans moderna o solo fuentes del sistema
  • la combinación de respuestas produce un diseño que ninguna plantilla cubre

Para la generación personalizada: usa references/design-system.md Guía de Generación Personalizada como la especificación completa del token. Aplica las elecciones de fondo/fuente/botón/acento del usuario en todo momento.

Luego (para la ruta de la plantilla):

  1. Selecciona solo las secciones necesarias de la plantilla (según la estructura del Paso 3)
  2. Rellena todos los valores [MARCADOR] con el contenido del Paso 4
  3. Aplica la sustitución del color de la marca (ver más abajo)
  4. Verifica que todos los marcadores de posición [URL_CANCELAR_SUSCRIPCION] sigan presentes (el ajuste de la plataforma se realiza en el Paso 6)

Reglas de sustitución del color de la marca:

Si se proporciona color_marca:

  • Reemplaza el bgcolor de la franja de la marca (#D8F90A en la fila height:2px) con color_marca
  • Reemplaza el color del borde izquierdo de la llamada estadística con color_marca
  • Reemplaza el color de la etiqueta de categoría con color_marca
  • Si la luminancia de color_marca es alta (amarillos, verdes, naranjas -- la mayoría de los neones): reemplaza también #D8F90A de la insignia de paso con color_marca
  • Si la luminancia de color_marca es baja (azul marino oscuro, verde bosque, carbón): mantén las insignias de paso y el botón CTA como #D8F90A, usa color_marca solo para la franja y el borde de la estadística

Si NO se proporciona color_marca: mantén todos los valores #D8F90A como están.

Reglas de sustitución de contenido (de las respuestas del Paso 2):

  • Si se proporciona nombre_empresa: reemplaza todos los marcadores de posición [TU_MARCA] y [NOMBRE_EMPRESA]
  • Si se proporciona ciudad_pais: reemplaza el marcador de posición [CIUDAD, PAÍS]
  • Si se proporciona eslogan: agrégalo como línea de subtítulo en el pie de página después del nombre de la empresa
  • Si se proporciona url_cta: reemplaza todos los marcadores de posición [URL_CTA] con la URL real
  • Si personalizacion = nombre: añade la variable de nombre específica de la plataforma al saludo hero -- ej. Hola %%first_name%%, en Beehiiv, Hola {{first_name}}, en Loops, Hola *|FNAME|*, en Mailchimp
  • Si personalizacion = nombre + empresa: añade ambas variables donde sea contextualmente apropiado

Comprobación de tensión visual del color de la marca (en correo oscuro):

¿El color de la marca resalta visualmente sobre #111111? Pruébalo mentalmente: ¿sería visible como una franja de 2px?

  • Colores de alta saturación (púrpuras, azules, turquesas, rosas, amarillos, naranjas, verdes): SÍ -- úsalos para la franja + borde de estadística + etiqueta de categoría
  • Colores de baja saturación / casi neutros (grises cálidos, beige, blanco roto): solo franja; la etiqueta de categoría vuelve a #555555
  • Colores casi negros (azul marino muy oscuro, verde bosque, carbón por debajo de ~#2A2A2A): omite color_marca para TODOS los usos de acento, recurre a #D8F90A para cada elemento

Regla de disciplina de acento: color_marca aparece en un MÁXIMO de 3 lugares: franja de la marca, borde de estadística, etiqueta de categoría. Nunca en el cuerpo del texto, titulares, fondos de botones o fondos de sección. La sobrecarga de marca mata la sensación premium.

Color del texto del botón CTA:

  • Sobre fondo de botón #D8F90A: usa siempre texto #0A0A0A (es un color claro)
  • Sobre fondo de botón #111111 (dentro de la tarjeta de llamada amarilla): usa siempre texto #F2F2F2
  • Sobre botón con color_marca: usa #0A0A0A si la marca es clara, #FFFFFF si la marca es oscura

Requerido en cada <td> con color de fondo: Tanto el atributo HTML bgcolor= como el estilo en línea background-color:. Ejemplo:

<td bgcolor="#D8F90A" style="background-color:#D8F90A;">

El atributo maneja Outlook. El estilo maneja todo lo demás. Nunca uses solo uno.

Excelencia en el diseño (principios de diseño frontend, adaptados al correo electrónico):

Las restricciones de las tablas en el correo no limitan la ambición del diseño. Avanza dentro de ellas:

  • Tipografía al extremo: titulares de 4-5 palabras = 60px, tracking -0.04em. Titulares de 6-7 palabras = 56px, tracking -0.03em. 8 palabras = 48px. Nunca reduzcas el tamaño por seguridad: el titular es un cartel, no una etiqueta. La cursiva de Instrument Serif en las citas estadísticas añade un peso literario que ningún otro elemento puede igualar.

  • Contraste de densidad como señal de oficio: Hero = máximo espacio abierto (64px arriba). Párrafos del cuerpo = apretados y densos. Tarjeta de llamada CTA = máximo espacio abierto otra vez (64px). Abierto → apretado → abierto es el ritmo que se lee como diseño intencional, no como resultado de una plantilla.

  • Profundidad de fondo mediante alternancia de secciones (todo seguro para correo):

    • Encabezado: #0A0A0A
    • Hero: #111111
    • Llamada estadística exterior: #111111, tarjeta elevada interior: #1A1A1A
    • Párrafos del cuerpo: #161616 (la elevación sutil crea profundidad sin color)
    • Tarjetas de paso: #111111 (contraste con el cuerpo)
    • Tarjeta de llamada CTA: #D8F90A (el ÚNICO elemento brillante -- nunca lo diluyas)
    • Pie de página: #080808
  • Escasez de acento = lujo: Una tarjeta de llamada amarilla en un mar oscuro se lee como premium. El amarillo apareciendo en seis lugares se lee como barato. El poder de la tarjeta CTA proviene enteramente de ser el único elemento brillante en un correo oscuro.

  • Prueba inolvidable: Antes de guardar, indica en una oración lo que un lector le describiría a un colega 3 horas después. Si es vago ("era oscuro y limpio") -- el ancla visual no es lo suficientemente fuerte. Hazlo específico ("la tarjeta amarilla con el gran titular serif").

  • Llamada estadística como cita destacada editorial: Borde izquierdo de 4px (no 3px). 26px cursiva Instrument Serif en el texto de la cita. Relleno interior de 32px. Esto es lo más cerca que un correo electrónico llega a una cita destacada de revista. Trátala como tal.


Paso 6: Ajuste de Plataforma

Lee references/platform-compat.md y aplica los ajustes específicos de la plataforma:

PlataformaAcción
LoopsReemplaza [URL_CANCELAR_SUSCRIPCION] con {{unsubscribe_url}}. Reemplaza las referencias [NOMBRE] con {{first_name}}
MailchimpReemplaza [URL_CANCELAR_SUSCRIPCION] con `*
BeehiivReemplaza [URL_CANCELAR_SUSCRIPCION] con %%unsubscribe_url%%. Reemplaza [NOMBRE] con %%first_name%%
ResendReemplaza [URL_CANCELAR_SUSCRIPCION] con {unsubscribeUrl}. Nota: Salida React Email .tsx disponible bajo petición
Genérica/OtraMantén [URL_CANCELAR_SUSCRIPCION] como marcador de posición con el comentario: <!-- Reemplaza con tu enlace de cancelación de suscripción -->

Paso 7: Autoverificación

Revisa el HTML generado antes de la salida. Corrige todos los problemas encontrados -- no los omitas.

Verificaciones de renderizado:

  • Todos los estilos en línea -- sin bloques <style>, sin atributos class= en ninguna parte
  • Todas las <table> tienen cellpadding="0" cellspacing="0" border="0"
  • Las imágenes (si las hay) tienen alt="", border="0", display:block en el estilo
  • Ancho máximo de 600px aplicado en la tabla contenedora
  • El botón CTA usa la estructura <table> + <td> con el atributo bgcolor=, no solo <a> con display:block
  • Sin flexbox, grid, position:, float:, variables CSS (--var), min-height, max-height en ningún estilo en línea
  • border-radius solo en <td> -- no en <table> o <a> (Outlook renderiza el radio de <td>)
  • El pie de página tiene un enlace de cancelación de suscripción con la variable correcta para la plataforma

Verificaciones de contenido:

  • El titular hero tiene 8 palabras o menos
  • El texto del botón CTA tiene 3-5 palabras
  • Sin guiones largos (—) (-- está bien, — no)
  • Sin palabras prohibidas: "poderoso", "sin fisuras", "innovador", "aprovechar", "revolucionario", "desbloquear", "transformar", "elevar", "de vanguardia", "robusto"
  • Sin viñetas en el contenido principal
  • Sin enlaces rotos o marcadores de posición sin reemplazar (excepto [URL_CANCELAR_SUSCRIPCION] si es genérico)
  • El texto de la llamada estadística tiene 20 palabras o menos
  • La introducción tiene 2-3 oraciones

Paso 8: Salida Final

Proporciona al usuario:

  1. Asunto (si se solicitaron 3 opciones): enumera las 3 opciones con viñetas
  2. Vista previa del texto: las primeras líneas del boletín como aparecerían en la bandeja de entrada (opcional)
  3. Bloque de código HTML completo, listo para copiar
  4. Texto plano (si se solicitó): versión en texto plano con enlaces entre paréntesis
  5. Notas de implementación: una línea sobre qué reemplazar antes de enviar (ej. "Reemplaza [URL_CTA] con tu enlace antes de enviar")

Formato de salida:

## Opciones de Asunto

- Opción A: [asunto]
- Opción B: [asunto]
- Opción C: [asunto]

---

## HTML del Boletín

```html
[código HTML completo]

Versión en Texto Plano

[líneas de texto plano]


Notas de Implementación

  • [nota uno]
  • [nota dos]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Creates professionally designed B2B SaaS e-books in HTML + CSS, exported as print-ready PDF. 3–10 pages, 9 style presets, 11 page layout types. Trigger when user says "create an ebook", "design a lead magnet", "make a PDF guide", "build a gated content piece", "write a B2B ebook", "design a white paper", "create a nurture asset", or "make a PDF report".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Skills relacionados