CommunityRedacción y edicióngithub.com

Blog — Jekyll + GitHub Pages

Escribe y publica un post en un blog personal construido con Jekyll y GitHub Pages. Úsalo cuando el usuario diga "blog this", "write a post", "push to the blog" o "/blog".

¿Qué es Blog — Jekyll + GitHub Pages?

Esta skill automatiza el proceso completo de escritura, publicación y verificación de un post en un blog personal alojado en GitHub Pages mediante Jekyll. Está diseñada para desarrolladores que gestionan su blog como un repositorio de GitHub y usan el tema minima. La skill se activa mediante comandos como "blog this" o "/blog", y guía al agente a través de una serie de pasos: escribir el post en la carpeta `_posts/` con el frontmatter adecuado, seguir un estilo técnico (sin contenido de empleador), verificar cada enlace con `curl` para evitar enlaces rotos, hacer commit y push al repositorio, actualizar el índice de publicaciones con el nuevo enlace, y finalmente comprobar que el post está realmente accesible en la URL pública, evitando la trampa de fechas futuras de Jekyll. Incluye reglas estrictas para no incluir información del empleador y medidas de seguridad contra publicaciones con fecha futura. Compatible con entornos de desarrollo donde el usuario tiene un repositorio de GitHub Pages configurado con Jekyll y utiliza la rama `master` para despliegue automático.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ankitg12/agent-skills/tree/HEAD/blog-it

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Blog — Jekyll + GitHub Pages?

Repositorio: ~/repos/github.com/<tu>/<tu>.github.io Motor: Jekyll + GitHub Pages, tema: minima Rama: master → se despliega automáticamente al hacer push Índice: mantén un archivo de notas del índice del blog (por ejemplo, ~/notes/blog.md) — actualízalo después de cada publicación

Nota — No es necesario compilar Jekyll localmente. GitHub compila en el servidor.


⚠️ Regla estricta: sin información del empleador

NUNCA incluyas en ninguna publicación:

  • Herramientas internas, sistemas, nombres en clave o infraestructura de tu empleador
  • Nombres de proyectos internos, nombres de equipos, estructura organizativa o detalles de hojas de ruta
  • Nombres de clientes, socios o detalles de contratos
  • Tickets internos, páginas wiki o contenido de reuniones
  • Salario, número de empleados, presupuesto o métricas empresariales

Escribe sobre técnicas, herramientas y patrones — no sobre dónde trabajas ni qué envía tu empleador. Ante la duda, pregunta al usuario antes de publicar.


Flujo de trabajo

1. Escribe la publicación

_posts/AAAA-MM-DD-slug-aqui.md

Frontmatter:

---
layout: post
title: "Tu título aquí"
date: AAAA-MM-DD
categories: ai agentes productividad   # separados por espacios
series: "Productividad con agentes de IA"   # omitir si no es parte de una serie
---

2. Estilo

  • Empieza con el problema, no con la solución
  • Una oración de apertura concreta — nada de "En este post voy a..."
  • Bloques de código para todo lo que se pueda ejecutar
  • Tablas para comparaciones
  • Termina con una sección ## Fuentes enlazando repositorios/referencias
  • Sin relleno de LLM — escribe como un README
  • Escapa @palabra como \@palabra para evitar errores de citación en Typst si alguna vez se necesita PDF

Elige una publicación bien valorada del blog y úsala como referencia de tono y densidad.

3. Verifica cada enlace ANTES de publicar (no lo omitas)

Citar URLs de memoria produce errores 404. Verifica primero el estado HTTP de cada enlace:

for u in "https://example.com/a" "https://example.com/b"; do
  echo "$(curl -sS -L -o /dev/null -w '%{http_code}' "$u")  $u"
done

Cada enlace DEBE devolver 200 (o 301/302 hacia un destino válido) antes de hacer commit. Esto es más barato que publicar un enlace roto y arreglarlo después de que el usuario lo detecte.

4. Haz commit y push

cd ~/repos/github.com/<tu>/<tu>.github.io
git add _posts/AAAA-MM-DD-slug.md
git commit -m "post: <título>"
git push   # GitHub Pages despliega automáticamente en ~60s

5. Actualiza el índice

Agrega una fila a la tabla ## Posts en el archivo de notas del índice del blog (más reciente primero), y añade la publicación a la fila ## Active series si pertenece a una serie:

| AAAA-MM-DD | Título | `categoría/ruta/AAAA/MM/DD/slug.html` |

La URL sigue el patrón permalink de Jekyll derivado de categories + date + slug.

6. Verifica que realmente se publicó (no lo omitas)

Una compilación exitosa de Pages NO significa que la publicación esté activa — Jekyll descarta silenciosamente las publicaciones con fecha futura. CURL a la URL real después de que la compilación termine:

base="https://<tu>.github.io"; slug="/CATEGORIA/RUTA/AAAA/MM/DD/slug.html"
curl -sS -L -o /dev/null -w "%{http_code}\n" "$base$slug"   # debe ser 200
curl -sS -L "$base/" | grep -o 'slug[^"]*html' | head -1     # debe aparecer en la página de inicio

Si devuelve 404 pero la compilación fue exitosa, es casi seguro la trampa de fecha futura que se describe a continuación.


Salvaguardas al actualizar publicaciones ya publicadas

  • Conserva la narrativa original y añade una actualización claramente etiquetada, a menos que el usuario solicite explícitamente una reescritura.
  • Verifica HTTP solo para URLs nuevas o modificadas; no verifiques repetidamente enlaces de publicaciones ya publicadas a menos que se solicite una auditoría de enlaces.
  • Después de hacer push, verifica que la URL real publicada devuelva HTTP 200.

Consejos

  • Mantén una sección ## TODO en el archivo de notas del índice del blog para ideas de borradores; revísala antes de empezar desde cero
  • Si la publicación continúa o contradice una publicación anterior, enlázala con {% post_url AAAA-MM-DD-slug %}
  • Publicación antes del amanecer + trampa de fecha futura: Jekyll interpreta un date: AAAA-MM-DD sin hora como medianoche en la zona horaria del sitio y descarta silenciosamente las publicaciones con fecha futura. Antes de que _config.yml tuviera una línea timezone: explícita, una publicación escrita a las 04:00 hora local se leía como medianoche UTC = ~1h en el futuro → descartada hasta que UTC la alcanzara. Configura timezone: en _config.yml y NO la elimines. Si una publicación escrita antes del amanecer aún devuelve 404 después de una compilación exitosa, agrega una hora explícita al frontmatter (date: AAAA-MM-DD 04:00:00 +0530).

Individual skills in this repo

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

Skills relacionados