kilaslab/kilas-content

Planifica y crea contenido social de principio a fin para cualquier marca: un plan mensual con pilares, series y calendario; piezas investigadas con un gancho que atrae la atención; carruseles y publicaciones individuales para Instagram creados en Figma o renderizados desde HTML a PNG; guiones y storyboards para Reels/TikTok; publicaciones e hilos para X; publicaciones y documentos para LinkedIn; Threads; y contenido de formato largo que los alimenta.

¿Qué es kilas-content?

Este skill permite planificar y producir contenido para redes sociales de manera integral para cualquier marca. Su funcionamiento se basa en un 'brand pack' que contiene la voz, los pilares, las series y los tokens de diseño de la marca, lo que permite mantener la coherencia en todas las piezas. El flujo de trabajo comienza con una investigación profunda y redacción, priorizando la calidad del mensaje sobre el diseño, y ofrece soporte para múltiples plataformas como Instagram, X, LinkedIn, Threads y TikTok. Utiliza Figma o renderizado HTML a PNG para crear las piezas visuales, e incluye scripts de verificación y linting para garantizar la calidad. Es ideal para quienes necesitan un proceso estructurado y repetible para la creación de contenido, desde la planificación mensual hasta la publicación final.

Compatible con✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/kilaslab/kilas-content/tree/main/skills/kilas-content

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Contenido: planificar y crear

Planifica el contenido de una marca y prodúcelo de principio a fin: una historia investigada, un gancho que atraiga la atención, un texto sin marcas de IA, una construcción en el diseño de la marca y una hoja de publicación por canal. Todo lo específico de la marca vive en un brand pack; el método aquí funciona para cualquier marca. Los marcos se construyen en Figma o se escriben como HTML y se renderizan a PNG, según la elección que la marca haya hecho en la configuración.

Las palabras deciden si alguien se detiene. La mayor parte del esfuerzo se dedica a la investigación y a la escritura, antes que a Figma o a la cámara. Lee references/writing-craft.md y los dos ejemplos prácticos antes de escribir nada: references/examples/linux-7.4-carousel.md (un registro de noticias) y references/examples/ai-cost-js-carousel.md (un experimento de otra persona). Cada uno enumera los borradores que perdieron y por qué; imita los movimientos, no las frases.

Empieza aquí, cada ejecución

Las rutas a scripts/, references/, templates/ y brands/ están dentro de la carpeta de este skill; content/ está en el proyecto en el que trabajas. Ejecuta los comandos desde la raíz del proyecto con la ruta del skill, por ejemplo python3 <skill>/scripts/new_item.py content ... (<skill> es la carpeta donde está este archivo). Los scripts que usan Pillow (contact_sheet.py, slides_to_pdf.py, artefact_marks.py, ref_sheets.py) se ejecutan sin python3 -I.

  1. Verificación de configuración. Lee content/setup.md en el proyecto. Si no existe, esta es la primera ejecución: ejecuta el skill setup-content (instalado junto a este; en este repositorio en ../setup-content/SKILL.md; invócalo, o síguelo manualmente) antes de cualquier otra cosa. Pregunta qué marca, recoge los activos propios de la marca de su sitio y perfiles con permiso, elige el renderizador (Figma o HTML → PNG) y escribe el brand pack.
  2. Encuentra el brand pack (brands/README.md): content/brand/ en el proyecto, o si no brands/<nombre>/ en este skill. Lee brand.md, design.md y content/brand/assets/README.md si existe (las fotos y logotipos propios de la marca tienen prioridad sobre los de stock). Cualquier cosa marcada como (propuesto) no está confirmada; pregunta antes de que un plan dependa de ello.
  3. Toma nota de las herramientas y usa todas las que ayuden (references/research-tools.md): búsqueda web, obtención de páginas, un navegador real (ego-browser), MCPs de redes sociales o acceso X incorporado, MCP de Figma y generación de imágenes: tu propia herramienta de imágenes si tienes una (Grok Imagine de Grok Bot, Codex, ChatGPT, Antigravity), luego python3 <skill>/scripts/gen_image.py detect (claves de agy, OpenAI, Gemini, xAI). Anota lo que falta.
  4. Encuentra el espacio de trabajo (templates/workspace.md): content/ con plan/, items/, reviews/, ideas.md, design-log.md. Créalo la primera vez.
  5. Elige el modo a continuación.
El usuario quiereModo
un plan, un calendario, "rencana konten bulan ini"Plan
una pieza: carrusel, publicación individual, hilo, guion de Reels, publicación de LinkedIn, artículoCrear
varias piezas de una misma fuenteReutilizar
saber qué funcionó y qué cambiarRevisar
configurar una nueva marca, cambiar el renderizador o actualizar activosConfiguración (el skill setup-content)

Plan

  1. Lee las entradas (references/planning.md sección 1): brand pack, última revisión, ideas.md, los momentos del mes (verifica las fechas), la capacidad, el objetivo del propietario.
  2. Escribe content/plan/YYYY-MM.md a partir de templates/plan-month.md: pilares con sus porcentajes, series con su cadencia, aproximadamente una cuarta parte de los espacios reactivos, cada elemento fuerte dividido en 3–5 formatos en diferentes días.
  3. Ejecuta python3 <skill>/scripts/check_plan.py content/plan/YYYY-MM.md --brand <pack>/brand.md hasta que no haya FAIL; explica cualquier advertencia que mantengas en las notas del plan.
  4. Informa: el mes en tres líneas, qué se propone y necesita una confirmación, los vacíos.

Crear

  1. Carpeta del elemento: python3 <skill>/scripts/new_item.py content <fecha> <slug> <formato>.
  2. Investigación (research-tools.md): fuente primaria, un nivel de profundidad, correcciones desde la publicación, las palabras de las personas nombradas, el ángulo local, una segunda fuente por número.
  3. Historia en brief.md (writing-craft.md secciones 1–4): cinco preguntas, el giro, la escalera (berita, uji coba, daftar referensi, o una rúbrica de copy-playbook.md), la diapositiva o publicación que vale la pena guardar, cinco ganchos en al menos tres formas pasados por las compuertas y los duelos, una familia de metáforas con su línea Verbos:.
  4. Texto en copy.md para el formato (references/formats/: carousel.md, single-post.md, x.md, threads.md, linkedin.md, reels-tiktok.md, long-form.md), una nota de fuente > debajo de cada número, nombre y cita. Cada titular pasa "¿y luego qué?" y la metáfora está en al menos tres de ellos; las salvedades van donde writing-craft.md 7b las coloca; la acción pasa "quién, con qué, cuándo". Luego python3 <skill>/scripts/lint_copy.py <item>/copy.md --format <formato> --brand <pack>/brand.md debe salir con código 0 (new_item.py imprime el --format correcto: thread se verifica como x, document como linkedin). Lee sus advertencias y su lectura solo de titulares; escribe esa lectura en brief.md, y lee el texto en voz alta una vez.
  5. Imágenes (image-sourcing.md): artefactos reales en marcos de evidencia; para marcos de metáfora, las fotos propias de la marca, luego una imagen generada automáticamente cuando nada encaja (primero tu propia herramienta de imágenes, luego agy, luego una API de pago solo si content/setup.md lo permite), luego Unsplash; un hilo visual, créditos mantenidos desde el manifiesto. El propietario puede cambiar la herramienta de imágenes o dejar de generar en cualquier momento.
  6. Elige el esquema y los diseños (design-variety.md): el esquema de color de la serie, o para una pieza independiente uno que las piezas anteriores no hayan usado; luego una variante por diapositiva según el trabajo de la diapositiva y según lo que content/design-log.md diga que se ha usado recientemente, para que no haya dos piezas iguales. Escríbelos en la tabla "Diseño" de brief.md, con un estilo de marca de titular y una diapositiva que rompa el patrón. Las páginas de galería del brand pack (Figma) o content/setup-gallery/*.jpg (HTML), y refs/ cuando el pack las tiene, muestran las opciones.
  7. Construye con el renderizador en content/setup.md (design-system.md); cuando diga ambos, sigue su regla para qué piezas van a dónde, si no, pregunta:
    • Figma (figma-mechanics.md): las funciones de diseño en scripts/figma-helpers.js, empaquetadas con el bloque BRAND del pack por scripts/figma_bundle.py --brand <pack>/design.md --page "<nombre>" --scheme <esquema> --n <marcos> (la herramienta acepta 50.000 caracteres), en una nueva página del archivo de Figma de la marca; nunca toques otras páginas. Sube las imágenes, luego ajústalas en una segunda llamada con los pares del esquema (duotone(id, 'light' | 'dark')).
    • HTML → PNG (html-render.md): scripts/new_html.py configura la carpeta html/ del elemento con el kit y el CSS de la marca; escribe slides.html con los diseños del kit, con las fotos elegidas y las imágenes generadas copiadas en html/img/; scripts/render_slides.py renderiza un PNG por diapositiva. Reels: storyboard.md + un marco de portada de 1080×1920 (Figma, o una página HTML separada como dice la sección 4 de html-render.md).
  8. Verifica económicamente: primero la comprobación de diseño (layoutCheck() en Figma, los problemas que render_slides.py imprime en HTML) y corrige lo que informe; luego mira la portada, el marco de datos y lo que cambió (capturas de pantalla una a la vez en Figma; los PNG en HTML). Si el usuario detiene las capturas de pantalla, detente e indica qué marcos quedaron sin verificar.
  9. Hoja de publicación: publish.md con el texto por canal, hashtags dentro de los límites, texto alternativo, hora, enlaces, créditos; añade una fila a content/design-log.md. La publicación es el paso del propietario a menos que te pida explícitamente publicar una pieza específica a través de una herramienta conectada; confírmalo primero.
  10. Informa: dónde está, la dirección en dos líneas, los diseños elegidos, qué se verificó y qué no, qué herramientas de investigación tenías y cuáles te faltaron, y el pie de foto.

Reutilizar

Planifica los recortes juntos (planning.md sección 6), una carpeta de elemento, una fila por recorte en el plan. Cada recorte se reescribe para su formato (references/formats/), dice algo completo por sí mismo y enlaza de vuelta. Los marcos del carrusel sirven como documento de LinkedIn (scripts/slides_to_pdf.py) y la publicación de fotos de Threads/TikTok.

Revisar

Escribe content/reviews/YYYY-MM.md a partir de templates/review-month.md: solo números de la plataforma o del propietario, con fecha; compara cada pieza con la mediana propia de la marca para su formato; decide mantener, arreglar o detener por serie; traslada las decisiones al plan del próximo mes. Sin números compartidos: enumera qué recopilar y detente.

Reglas de escritura que tienen más peso

Método completo en writing-craft.md, reglas en copy-playbook.md, idioma en language/<lang>.md.

  • Gancho = número exacto + escena + apuestas, o una de las seis formas en writing-craft.md sección 3b. Escribe cinco en tres formas, pásalos por las compuertas (≤30 palabras, sencillo, sin salvedades, honesto, la respuesta retenida, tensión), duela a los supervivientes y escribe por qué perdió cada perdedor. No los puntúes: las autopuntuaciones empatan.
  • Los titulares son afirmaciones con una consecuencia: cada uno pasa "¿y luego qué?". Las palabras temáticas van en la ceja. Marca las una o dos palabras que llevan la afirmación.
  • Una familia de metáforas, dicha una vez, luego llevada en los verbos de al menos tres titulares.
  • Un giro al final de la historia; un marco o publicación que vale la pena guardar.
  • Tráelo a casa: el propio precio, fecha, lugar, empresa o acción del público.
  • Los números se comparan de manera justa, los gráficos comienzan en cero, las reservas se copian de la fuente, la primera persona solo para lo que la marca hizo.
  • Las reservas permanecen en la oración; las salvedades tienen un presupuesto: ninguna en la portada o en un titular, una en la diapositiva de datos, una en la diapositiva de opinión, el resto en el pie de foto.
  • La opinión se etiqueta y termina en una acción que pasa "quién, con qué, cuándo".
  • Una CTA del brand pack; la promesa describe lo que la pieza acaba de hacer.
  • Idioma del brand pack; otro idioma solo cuando el usuario lo pida explícitamente para esa pieza.
  • Sin aperturas de relleno, sin marcas de IA; el lint detecta la mayoría.

Control de calidad

  • Brand pack leído; nada (propuesto) usado como confirmado sin preguntar.
  • Todas las herramientas de investigación disponibles utilizadas donde ayudan; vacíos reportados.
  • Cinco preguntas de la historia respondidas con el ángulo local; el giro colocado.
  • Taller de ganchos hecho con compuertas y duelos; la portada tiene ≤30 palabras sin salvedades y funciona sola.
  • Lectura solo de titulares escrita en brief.md y cuenta la historia; la metáfora está en al menos tres titulares; una pieza que vale la pena guardar, nombrada.
  • La acción pasa "quién, con qué, cuándo".
  • lint_copy.py sale con 0 para el formato; cada número, nombre y cita tiene una nota.
  • Límites de la plataforma respetados (formats/specs.md): hashtags, caracteres, zonas seguras.
  • Diseños elegidos por diapositiva en brief.md; portada y marca de titular difieren de la pieza anterior en content/design-log.md; una diapositiva rompe el patrón.
  • Un esquema aplicado; las fotos propias de la marca utilizadas donde encajan; fotos ajustadas; capturas de pantalla en color, sin alterar, con crédito y marcadas con marcas de resaltador.
  • Comprobación de diseño limpia (layoutCheck() en Figma, render_slides.py en HTML) o cada nota explicada; portada y marco de datos vistos (o el vacío reportado).
  • Cierre: una CTA, todas las fuentes y créditos; las imágenes generadas etiquetadas como ilustraciones.
  • publish.md completo y una fila añadida a content/design-log.md; nada publicado, gustado o seguido sin consentimiento explícito.
  • Los planes pasan check_plan.py.

Mapa de archivos

ArchivoLeer cuando
brands/README.md, brands/<marca>/brand.md, design.mdcada ejecución
../setup-content/SKILL.md, references/brand-onboarding.mdprimera ejecución (sin content/setup.md), una nueva marca, un nuevo renderizador
references/planning.mdplanificar, reutilizar, revisar
references/writing-craft.md, references/examples/*.md (dos carruseles prácticos con borradores rechazados)antes de escribir cualquier cosa
references/copy-playbook.mdmarcos de trabajo, formato de copy.md, CTA, pie de foto
references/language/id.md, en.mdel idioma de la marca
references/formats/*.mdel formato que se está creando; specs.md para límites
references/design-system.md, design-variety.md, design-references.mdantes de construir marcos: roles, variantes de diseño y cómo elegirlas, patrones de otras cuentas
references/figma-mechanics.mdantes del primer use_figma; subir, duotono, capturas de pantalla
references/html-render.md, templates/html/el renderizador HTML → PNG: configuración, referencia de clases, renderizado, comprobación
references/image-sourcing.md, research-tools.mdinvestigación e imágenes
references/patterns-from-data.mdpor qué las reglas son como son
references/prerequisites.mdinstalar acompañantes y herramientas opcionales
templates/espacio de trabajo, configuración, plan, informe, publicación, revisión, ideas, registro de diseño; html/ (kit de diapositivas y ejemplo)
scripts/lint_copy.py, check_plan.py, new_item.py, figma-helpers.js (diseños, esquemas), figma_bundle.py, figma-gallery.js + figma-gallery-2.js, figma-gallery-schemes.js, brand_css.py, new_html.py, render_slides.py, crawl_site.py, capture_profile.sh, artefact_marks.py, ref_sheets.py, slides_to_pdf.py, capture_artefact.sh, x_post.py, scan_site_tokens.sh, unsplash_search.py, gen_image.py, agy_image.sh, contact_sheet.py, export_oss.sh

Cuándo no usar esto

No para una presentación de diapositivas (usa un skill de diapositivas), no para construir un sitio web y no para una corrección de una palabra en una publicación existente (edítala directamente).

Skills relacionados