Un skill de Claude Code lee el código real y escribe documentación basada en lo que existe, no en adjetivos de marketing. Sales con una definición de skill que funciona, cuándo se dispara, cómo funciona por dentro y el detalle clave que evita que invente comandos.

En resumen
- Un skill redactor de docs responde tres preguntas sobre un proyecto: qué es esto, cómo lo ejecuto, qué puede salir mal.
- Se dispara cuando un proyecto no tiene README o cuando el README dejó de reflejar la realidad.
- Por dentro lee los archivos de entrada, el manifiesto del paquete y la config, y escribe únicamente a partir de esas fuentes.
- La regla de seguridad clave: cita las entradas reales de los scripts, marca con un TODO lo que no pudo verificar y nunca inventa un comando que parezca creíble.
- Es un archivo SKILL.md más un prompt bien acotado, no un modelo: guárdalo versionado en el repo, junto al código que documenta.
Todo proyecto acumula deuda de documentación de la misma forma: el README se escribe una vez el primer día, el código sigue avanzando y, seis meses después, los pasos de instalación son pura ficción. Un skill redactor de docs cierra esa brecha porque saca la documentación de la fuente de verdad en lugar de la memoria. Al terminar esta guía vas a tener una definición de skill completa y lista para copiar, una idea clara de cuándo debería dispararse, de cómo lee una base de código y de la única restricción que evita que invente, con toda la seguridad del mundo, un comando que no existe.
01 · Qué hace el skill realmente
Un skill redactor de docs es un conjunto de instrucciones empaquetado que invocas cuando lo necesitas, en vez de pegar el mismo prompt de "escríbeme un README" una y otra vez. No es un autocompletado más sofisticado. Su trabajo es acotado y útil: responder las tres preguntas que se hace cualquiera que llega nuevo y abre tu repo.
- ¿Qué es esto? Dos frases, claras, sin adjetivos tipo "potente" o "fluido".
- ¿Cómo lo ejecuto? Los comandos reales, copiados de los scripts que existen, no una suposición genérica.
- ¿Qué puede salir mal? Requisitos, configuración y las limitaciones conocidas que, si no, terminarías explicando en el chat por quinta vez.
El resultado es un README (o una sección) que es correcto porque se armó a partir de archivos, no de la imaginación. Esa diferencia es toda la propuesta de valor. Un doc que parafrasea texto de marketing envejece mal. Uno que se regenera desde package.json y el punto de entrada real envejece junto al código.
Nota
Un skill es el formato indicado para esto porque documentar es una tarea repetitiva con una estructura estable. Cualquier cosa que hagas más de dos veces con las mismas instrucciones merece estar en un skill, no en tu portapapeles.
02 · Cuándo debería dispararse
El skill se gana su lugar en dos momentos puntuales, y conviene aguantar las ganas de ejecutarlo en todo.
- No existe README. Un servicio nuevo, un paquete recién creado, una herramienta interna que nadie documentó. Todavía no hay de qué desviarse, así que el skill arma la primera versión honesta.
- El README se desvió. Cambió el comando de instalación, renombraron una variable de entorno, eliminaron un script. Esto se suele notar apenas un compañero pregunta algo que el README debería responder.
El disparo que evito es "el README se ve pobre, mejóralo". Eso invita a rellenar, y el relleno es justo el modo de falla que estás tratando de evitar por diseño. La documentación se hace más larga cuando la realidad se complica, no cuando el modelo se aburre.
Consejo
Apunta el skill a los archivos de entrada, al manifiesto del paquete y a la config. Si lo dejas leer el repo completo, va a terminar resumiendo los tests y node_modules, y va a perder el hilo. Mientras más acotada la entrada, más afilada la salida.
03 · Cómo funciona por dentro
A nivel mecánico, el skill es un archivo SKILL.md con frontmatter YAML y un cuerpo de instrucciones. Claude Code lo expone por nombre y descripción. Al invocarlo, ese cuerpo pasa a ser el prompt operativo. Por dentro son tres fases.
Leer las fuentes reales
Antes de escribir una sola palabra, el skill revisa los archivos que describen qué es el proyecto y cómo se ejecuta:
- El manifiesto del paquete (package.json, pyproject.toml, Cargo.toml) para sacar el nombre, las dependencias y el bloque de scripts.
- El punto de entrada (el archivo principal, el arranque del server, la definición de la CLI) para entender qué hace realmente.
- La config y cualquier .env.example para las variables que hay que configurar.
Acotar la estructura
El skill no escribe prosa libre. Rellena una plantilla fija, y eso es lo que mantiene la salida comparable y fácil de hojear entre proyectos. Esta es la estructura de prompt que uso:
Escribe un README con exactamente estas secciones:
- Qué hace (2 frases, sin adjetivos tipo "potente")
- Requisitos (sácalos de package.json / pyproject)
- Cómo ejecutarlo (los comandos reales, copiados de los scripts)
- Configuración (cada variable de entorno: nombre, qué hace, valor por defecto)
- Limitaciones conocidas
Prohíbe estas palabras: revolucionario, fluido, potente, aprovechar.
Cita las entradas reales de los scripts. Si no encuentras un comando,
escribe TODO en vez de adivinar uno.
Verificar antes de afirmar
La tercera fase es la que separa un skill útil de uno peligroso. Todo comando de la salida tiene que poder rastrearse hasta una entrada de los scripts. Si el skill no encuentra el comando para ejecutar, escribe un TODO en lugar de inventar una línea que parezca creíble. Más sobre el porqué en la sección 05.
04 · Una corrida concreta y qué devuelve
Esta es la definición completa del skill. Colócala en .claude/skills/doc-writer/SKILL.md y queda disponible por nombre.
---
name: doc-writer
description: Lee el código y escribe un README basado en los archivos
reales. Úsalo cuando un proyecto no tiene README o el README se desvió.
---
1. Lee package.json (o pyproject/Cargo), el archivo de entrada y
cualquier .env.example o config.
2. Escribe un README con exactamente estas secciones: Qué hace,
Requisitos, Cómo ejecutarlo, Configuración, Limitaciones conocidas.
3. Copia los comandos para ejecutar tal cual del bloque de scripts.
Cítalos.
4. Por cada variable de entorno, da nombre, propósito y valor por defecto.
5. Si un comando o valor no aparece en ningún archivo, escribe TODO e
indica en qué archivo lo esperabas. Nunca lo inventes.
6. Prohibido: revolucionario, fluido, potente, aprovechar, disruptivo.
Lo invocas como cualquier skill: lo nombras y lo apuntas al proyecto. Para un servicio pequeño en Next.js, la entrada relevante es el bloque de scripts:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p 8080"
}
}
La salida esperada es un README cuya sección "Cómo ejecutarlo" diga exactamente npm run dev para trabajo local, y npm run build seguido de npm run start para producción, con el puerto anotado como 8080 porque es lo que dice el script de start. Si hubiera una variable como DATABASE_URL en .env.example sin valor por defecto, la sección de Configuración la listaría y marcaría ese valor faltante como TODO en vez de inventar "localhost:5432". Esa honestidad es justamente la función.
05 · Configuración y el detalle que de verdad importa
El skill lleva muy poca configuración, y es intencional. Las pocas opciones que vale la pena ajustar:
- Palabras prohibidas. Mantén una lista corta del vocabulario de marketing que nunca quieres ver. La mía: revolucionario, fluido, potente, aprovechar, disruptivo, desbloquear, potenciar.
- Conjunto de secciones. Si tu equipo se rige por un formato de README estándar, fija esos encabezados exactos para que todos los proyectos coincidan.
- Nivel de rigor en la verificación. Decide si un comando que no se puede verificar se convierte en un TODO (mi opción por defecto) o detiene el skill para consultarte. Para trabajo en solitario, el TODO es más rápido. Para docs en los que otros van a confiar, frenar y preguntar es más seguro.
Atención
El fallo número uno de un skill redactor de docs es inventar comandos que no existen y darlos por seguros. Si no encuentra el comando real para ejecutar, escribe uno que parece creíble pero que falla apenas alguien lo copia. La solución es la regla de verificación del paso 5: cita las entradas reales de los scripts y marca con un TODO lo que no pudiste verificar, en vez de adivinar. Un doc que reconoce un vacío vale mucho más que uno que miente sin despeinarse.
Hay una segunda trampa, más silenciosa. El skill describe lo que existe, no lo que piensas construir. Si el archivo de entrada es apenas un stub, el README va a decir con honestidad que hace muy poco, y eso puede doler. Aguanta las ganas de dejar que el skill se ponga aspiracional. Un doc que coincide con el código de hoy es útil. Uno que coincide con tu plan a futuro es ficción con fecha de entrega.
Importante
Versiona el archivo SKILL.md en el mismo repo que el código que documenta. Cuando las convenciones cambian, el skill cambia en el mismo commit, y los docs que genera se mantienen alineados con cómo funciona el proyecto en realidad.
Un skill redactor de docs no va a hacer tu proyecto más interesante de lo que es, y ese es justamente el punto. Te da documentación que se mantiene fiel porque sale de los archivos y se regenera sin esfuerzo cuando esos archivos cambian. Arranca con la definición de arriba, no negocies la regla de verificación y deja que el README le diga a quien lo lee la verdad sobre lo que está ejecutando.
Puntos clave
- Basa cada doc en los archivos: un manifiesto y un punto de entrada siempre le ganan a la memoria del modelo.
- Dispáralo para READMEs que faltan o que se desviaron, no para rellenar de adorno docs que ya están bien.
- No negocies la verificación: cita comandos reales, marca con TODO los que no puedas verificar y nunca inventes.
- Acota la estructura con un conjunto fijo de secciones y una lista de palabras prohibidas, para que la salida sea comparable.
- Versiona el SKILL.md junto al código para que los docs se regeneren sin esfuerzo y se mantengan fieles a medida que el proyecto avanza.
Preguntas frecuentes
¿Esto no es simplemente pedirle a Claude que escriba un README? ¿Para qué empaquetarlo como skill?
Empaquetarlo fija la estructura, las palabras prohibidas y la regla de verificación, así obtienes la misma salida honesta cada vez en lugar de tener que replantear el prompt. Documentar es una tarea repetitiva y con forma estable, que es justo para lo que sirve un skill. El prompt suelto se desvía; el skill no.
¿Qué le impide inventar comandos de instalación que en realidad no funcionan?
La regla de verificación del paso 5: todo comando debe citarse de una entrada real de los scripts, y lo que no encuentre se convierte en un TODO en vez de una suposición. Sin esa línea, el skill escribe con total seguridad un comando creíble que falla apenas alguien lo copia. Trata esa regla como innegociable.
¿Lo dejo leer el repo completo para que tenga contexto?
No. Apúntalo a los archivos de entrada, al manifiesto del paquete y a la config. Leerlo todo hace que termine resumiendo tests y dependencias y pierda el foco, además de quemar tokens sin ninguna ganancia. Una entrada acotada produce docs más afilados.
¿Funciona para proyectos en Python o Rust, o solo JavaScript?
Funciona para cualquier proyecto que tenga un manifiesto y una convención de scripts o punto de entrada. Cambia package.json por pyproject.toml o Cargo.toml en el paso de lectura; la estructura y la regla de verificación quedan idénticas. Al skill le importa dónde vive la verdad, no el lenguaje.
¿Y si el código es apenas un stub y el README honesto termina viéndose pobre?
Deja que se vea escueto. Un README que coincide con el código de hoy es útil; uno que coincide con tu plan a futuro es ficción con fecha de entrega. Si el doc se siente vacío, eso dice algo del código, no es un problema del skill. Construye primero y luego regeneras.
¿Cómo evito que los docs se vuelvan a desviar después de la primera pasada?
Versiona el SKILL.md junto al código y vuelve a ejecutarlo cuando cambie el manifiesto o el punto de entrada. Como la salida sale de los archivos y no de la memoria, regenerar cuesta poco y los docs siguen a la realidad en vez de quedarse atrás. Incorpóralo al mismo commit que cambia las convenciones.
¿Prefieres que lo hagamos por ti?
Esto mismo lo construimos para negocios como el tuyo. La primera conversación es gratis y sin compromiso.
Escríbenos por WhatsAppPrimera conversación gratis. Te responde el fundador.
Recursos relacionados

Release Cutter: un skill de Claude Code que lee git en vez de adivinar
Cortar un release de memoria tres días después significa que el changelog nunca cuadra con lo que salió y el salto de versión es una moneda al aire. Este es un skill de Claude Code empaquetado que lee tus commits, propone el salto de semver, escribe un changelog a partir de los títulos reales de los commits, crea el tag y deja listo el release en GitHub. Te muestra la propuesta y espera un sí antes de escribir nada, así un major equivocado nunca sale por accidente.

El skill autor de pruebas: tests que fallan por razones reales
Un skill de Claude Code que escribe tests para lo que de verdad importa: casos límite y rutas de error, no getters ni teatro de cobertura. Qué hace, cuándo debe activarse, cómo funciona por dentro y los detalles que vuelven una suite en verde una falsa sensación de seguridad.

El skill de diseño de UI: componentes a partir de tokens, no a ojo
Un skill de Claude Code que convierte un 'hazme una card' en un componente que respeta tu sistema de diseño y es accesible por defecto. Esto es el recorrido completo: qué hace, en qué momento exacto se dispara, cómo funciona por dentro, una invocación real con su salida, los ajustes que puedes tocar y los puntos donde hace trampa sin que te enteres.