/SKILL.md
Crea artículos de blog personal para Substack. Usa cuando el usuario dice "escribir post", "blog personal", "artículo para substack", o quiere crear contenido técnico/reflexivo personal.
npx skillsauth add easymailing/substack-blog substack-blogInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Crea artículos de blog personal para Substack con tono técnico-conversacional.
Verifica que existe .blog-config.json en la carpeta de esta skill. Si no existe, pregunta:
Crea el archivo:
{
"obsidian_vault_path": "{ruta al vault}",
"substack_publication_url": "{url de la publicación}",
"user_id": "{tu user_id}"
}
Las cookies se extraen automáticamente de Safari, Chrome o Firefox usando @steipete/sweet-cookie.
Solo necesitas estar logueado en substack.com en tu navegador.
Fallback manual: Si la extracción automática falla, crea .env en la carpeta de la skill:
SID=tu_cookie_sid
SUBSTACK_SID=tu_cookie_substack_sid
SUBSTACK_LLI=tu_cookie_substack_lli
Verifica que existe Areas/Writing/style-guide.md en el vault de Obsidian. Si no existe, créalo con el contenido base (ver sección Referencias).
Pregunta:
¿De dónde viene la idea?
1. Buscar en Inbox/ - Seleccionar idea guardada
2. Tema nuevo - Describir directamente
Lista archivos en:
{vault}/Inbox/ideas/{vault}/Inbox/bookmarks/{vault}/Inbox/trending/Muestra lista numerada con título de cada archivo
Usuario selecciona uno
Lee el contenido como contexto para el artículo
Pregunta: "¿De qué quieres escribir?"
Haz estas preguntas UNA A UNA:
Presenta estructura propuesta:
## Outline propuesto
1. **Gancho** - {descripción}
2. **Contexto/Problema** - {descripción}
3. **Desarrollo**
- {sección 1}
- {sección 2}
- ...
4. **Reflexión** - {descripción}
5. **Cierre** - {descripción}
¿Ajustamos algo?
Itera hasta que el usuario apruebe.
{vault}/Areas/Writing/style-guide.md---
title: "{título}"
date: {fecha actual YYYY-MM-DD}
tags: [{tags relevantes}]
excerpt: "{resumen de 1-2 frases}"
status: draft
---
Pregunta: "¿Quieres que revise claridad y estilo?"
Si responde sí:
marketing-skills:copy-editingGenera el slug del título (lowercase, guiones, sin caracteres especiales).
Crea carpeta y archivos:
{vault}/Areas/Writing/{slug}/
├── article.md # Artículo final con frontmatter
└── source-idea.md # Solo si vino de Inbox/
Si la idea vino de Inbox/:
source-idea.md{vault}/Processed/{subcarpeta original}/Ejecuta:
npx bun {skill_path}/scripts/substack.ts create --title "{título}" --subtitle "{excerpt}" --file "{vault}/Areas/Writing/{slug}/article.md"
Muestra resultado:
Si no existe Areas/Writing/style-guide.md, créalo con:
# Style Guide - Blog Personal
## Voz y Tono
- **Perspectiva:** Primera persona ("descubrí", "decidí", "me funcionó")
- **Tono:** Conversacional, como hablar con un colega
- **Honestidad:** Admitir limitaciones ("esto no es perfecto", "hay casos donde no aplica")
- **Opiniones:** Claras y fundamentadas ("prefiero X porque...")
## Principios de Escritura
### 1. Muestra el proceso, no solo el resultado
- Qué problema tenías
- Qué intentaste
- Qué falló y por qué
- Qué funcionó finalmente
### 2. Código con contexto
- No code dumps sin explicación
- Explica el "por qué", no solo el "qué"
- Muestra errores reales que cometiste
### 3. Reflexiones genuinas
- Qué aprendiste
- Qué harías diferente
- Qué sigue sin estar claro
### 4. Estructura clara pero no rígida
- Headers que guían la lectura
- Párrafos cortos (2-3 líneas máximo)
- Listas cuando ayudan, no por defecto
## Qué Evitar
- Tono de tutorial genérico ("en este post vamos a ver...")
- Exceso de disclaimers
- Falsa modestia
- Jerga innecesaria sin explicar
- CTAs o tono de venta
- Frases vacías ("es importante mencionar que...")
## Estructura Típica
1. **Gancho** - Problema o situación interesante
2. **Contexto** - Por qué importa, qué intentabas
3. **Desarrollo** - El journey, con código si aplica
4. **Reflexión** - Qué aprendiste, qué cambiarías
5. **Cierre** - Próximos pasos, preguntas abiertas (opcional)
## Formato
### Títulos
- Descriptivos y específicos
- Pueden ser preguntas
- Evitar clickbait
### Código
- Bloques con lenguaje especificado
- Comentarios donde ayuden
- Mostrar output cuando sea relevante
### Links
- Solo si aportan valor real
- Describir a dónde llevan
Leer de .blog-config.json:
obsidian_vault_pathsubstack_publication_urluser_idLa skill incluye un script CLI para interactuar con Substack:
# Crear draft desde archivo markdown
npx bun scripts/substack.ts create --title "Título" --file path/to/article.md
# Crear draft con subtítulo
npx bun scripts/substack.ts create --title "Título" --subtitle "Subtítulo" --file article.md
# Listar drafts existentes
npx bun scripts/substack.ts drafts
El script lee automáticamente .blog-config.json y .env de la carpeta de la skill.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.