Construí un skill personalizado de claude code que convierte escribir posts de blog de una tarea de 30 minutos en un comando de 30 segundos
El Problema
Cada vez que quería escribir sobre un proyecto, pasaba por los mismos pasos tediosos:
- buscar capturas de pantalla en la carpeta del proyecto
- copiarlas al directorio de assets del blog
- crear un nuevo archivo mdx con el frontmatter correcto
- escribir el contenido
- recordar el formato correcto de categorías y tags
- hacer commit de todo
- levantar el servidor de desarrollo para previsualizar
No es difícil. Pero es fricción. Y la fricción mata el impulso
Claude Code Skills 101
Los skills viven en ~/.claude/skills/ como archivos markdown. Cada archivo define un comando slash que claude code puede ejecutar. La estructura es simple:
~/.claude/├── CLAUDE.md # global instructions└── skills/├── blog.md # /blog command├── rewrite.md # /rewrite command├── tweet.md # /tweet command└── commit.md # /commit command
Cuando escribes /blog en claude code, carga el archivo del skill correspondiente y sigue las instrucciones
Anatomía de un Skill
Aquí está la estructura de mi skill para el blog:
# Blog Post SkillCreate a new blog post for jovweb.dev about a project or topic.## Usage/blog [project-folder-or-topic]## Arguments- $ARGUMENTS: path to a project folder or a topic to write about## Instructions### 1. Determine the Subject- Parse $ARGUMENTS to get the project folder or topic- If a folder path is provided, explore it to understand:- What the project does (check README, package.json, main source files)- Key features and technologies used- Any screenshots or images in the repo### 2. Find Images- Search the project folder for potential cover images:- Look in: `/public`, `/assets`, `/images`, `/screenshots`- File types: `.png`, `.jpg`, `.jpeg`, `.webp`, `.gif`- Copy the best image to `/path/to/blog/public/assets/blog/`### 3. Write the Blog Post Content- Create an outline based on:- What problem does this project solve?- How does it work?- Key features or interesting technical decisions- Use the `/rewrite` skill to convert to personal style### 4. Create the MDX File- Location: `/path/to/blog/content/blog/`- Filename: kebab-case based on topic- Include frontmatter with title, description, date, category, tags
Lo clave aquí es $ARGUMENTS. Así es como pasas input a un skill. Lo que sea que venga después de /blog se inyecta ahí
Encadenando Skills
El skill del blog llama a otro skill: /rewrite. Este convierte mis borradores a mi estilo de escritura
# Rewrite Skill## Instructions1. Parse the text from $ARGUMENTS2. Rewrite using the style guide below3. Show the rewritten version## Style Guide- start with lowercase- use "I" not "I"- no ending punctuation- short, direct sentences- stream of consciousness flow
Skills que llaman a otros skills. Es automatización composable
El Flujo de Ejecución
Cuando ejecuto /blog ~/Sites/hyperscalper:
1. Claude code loads ~/.claude/skills/blog.md2. $ARGUMENTS = "~/Sites/hyperscalper"3. Claude explores the folder:- reads README.md- checks package.json for dependencies- scans src/ for main functionality4. Finds images in ~/Sites/hyperscalper/public/5. Copies best image to blog assets6. Drafts the post content7. Calls /rewrite to apply my style8. Creates content/blog/building-hyperscalper.mdx9. Runs: git add . && git commit -m "add hyperscalper blog post"10. Runs: npm run dev (if not running)11. Opens http://localhost:3000/blog/building-hyperscalper
Todo desde un solo comando
La Salida MDX
El skill sabe exactamente qué frontmatter necesita mi blog:
---Title: "Building Hyperscalper"Description: "a real-time trading dashboard for crypto markets"PublishedAt: "2026-01-13"Author: "Jo Vinkenroye"Category: "Development"Tags: ["Trading", "Crypto", "Real-time", "Next.js"]CoverImage: "/assets/blog/hyperscalper-cover.png"Featured: false---
Categorías, tags, rutas de imágenes. Todo definido en el skill para que no tenga que recordarlo
La Parte Meta
Este post fue escrito usando el skill sobre el que estoy escribiendo. /blog sobre el skill del blog :D
Construye el Tuyo
Empieza simple. Crea ~/.claude/skills/tu-skill.md con:
# Your Skill NameDescription of what it does.## Usage/your-skill [arguments]## Instructions1. First step2. Second step3. ...
Piensa en lo que haces repetitivamente:
- revisar prs → skill
/reviewcon tu checklist - configurar proyectos → skill
/initcon tu stack preferido - escribir documentación → skill
/docscon tu formato - publicar actualizaciones → skill
/tweetcon tu voz
El Stack
Mi blog corre en next.js 14 con mdx. Los posts son solo archivos:
Content/blog/├── automating-blog-posts.mdx├── building-hyperscalper.mdx└── ...
Sin base de datos. Sin cms. Solo markdown y git. El skill escribe directamente en el repo
Qué Viene Después
Estoy pensando en agregar:
- integración con
/imagenpara auto-generar imágenes de portada - extraer snippets de código relevantes automáticamente
- cross-posting a dev.to con
/crosspost
Pero por ahora, ya me está ahorrando tiempo y—más importante—eliminando la fricción que me impedía escribir en primer lugar
Stay Updated
Get notified about new posts on automation, productivity tips, indie hacking, and web3.
No spam, ever. Unsubscribe anytime.

