🧭 Opus 5.5 Dev — Definir «Terminado», TASKS.md y un Informe Fijo
El playbook para que una tarea larga no se desinfle
ToroFelipe/opus-5-5-deves una skill de Claude Code que impone hábitos de trabajo en tareas de varios pasos: features, refactors, migraciones, auditorías, revisiones y UI.
- Las tres reglas que la definen: fijar qué significa «terminado» antes de tocar código, mantener un
TASKS.mdpara sobrevivir a la compactación de contexto, y cerrar con un informe de cuatro bloques.- La cuarta, la que más cambia el día a día: no preguntar «¿continúo?». Sigue salvo que necesite información tuya o vaya a hacer algo destructivo.
- Base: Getting the most out of Opus 5.5 in Claude and Claude Code, de Addy Osmani (claude.dev, sep-2026).
- Licencia: MIT. Proyecto comunitario, no oficial de Anthropic.
Repo de 4 estrellas, un solo commit y cero mantenimiento
4 ⭐, 0 forks, 0 issues, 10 KB y 8 archivos. Se creó el 23-sep-2026 a las 04:59:13 y el último push es de las 04:59:18 — cinco segundos después.
Traducción: un commit inicial y nunca más se tocó. No lo juzgues por popularidad ni por actividad. Júzgalo por el contenido, que es denso y está bien pensado, y cópialo a tu proyecto en vez de esperar actualizaciones.
🧭 Qué es y qué no es
| Es | No es |
|---|---|
| Una skill con hábitos de trabajo | Un agente autónomo nuevo |
| Una capa de disciplina sobre Opus 5.5 | Un modelo o un plugin de terceros |
Un CLAUDE.md listo para pegar | Configuración oficial de Anthropic |
| Una guía de prompting para humanos | Documentación de la API |
| MIT y 10 KB de texto | Un framework con dependencias |
No ejecuta nada: no hay scripts, ni hooks, ni instalador. Es texto que Claude lee para cambiar cómo trabaja. Toda su fuerza está en las reglas, no en el código.
flowchart TD A["🎯 Definir «terminado»<br/>+ cuándo parar"] --> B["📋 Crear TASKS.md"] B --> C["⚙️ Trabajar y marcar pasos"] C --> D{"¿Bloqueo real o<br/>acción destructiva?"} D -- "Sí" --> E["🛑 Parar y preguntar"] D -- "No" --> C C --> F["🧪 Tests + revisar el diff"] F --> G["📄 Informe: Blocked / Changed /<br/>Found / Not verified"]
🎯 Regla 1: «terminado» es una comprobación, no una sensación
Antes de tocar código, la skill exige dos frases explícitas:
- «Done means…» — una línea de meta verificable: «pasa la suite», «todos los endpoints usan el cliente nuevo y el viejo está borrado», «cada servicio tiene un veredicto sí/no con evidencia».
- «Stop and ask when…» — las condiciones en las que devuelve el control.
Si no se las das, las infiere y las declara en una línea al empezar, y sigue. Solo pregunta antes si el objetivo es ambiguo de verdad y una suposición equivocada tiraría a la basura una tirada larga.
Migra los endpoints de pago al cliente nuevo.
Terminado = todos usan el cliente nuevo, el viejo está borrado y pasan los tests.
Párate y pregúntame solo si falla un test por una razón que no puedas explicar.Por qué esto importa más de lo que parece
Sin línea de meta, una tarea larga tiene dos finales posibles y los dos son malos: parar antes («ya está» cuando no lo está) o seguir de más (refactorizar lo que nadie pidió). La frase «Done = X» es lo que hace que el agente sepa cuándo soltar.
📋 Regla 2: TASKS.md sobrevive a la compactación
Para cualquier cosa más allá de un puñado de pasos, crea TASKS.md en la raíz y mantenlo vivo:
# Task: <una línea>
Done means: <línea de meta>
Stop and ask if: <condiciones>
- [x] Paso ya terminado
- [ ] Paso en curso — nota de lo que queda
- [ ] Hallazgo nuevo (encontrado mientras hacía X)
## Decisions made
- Elegí A sobre B porque … (reversible: sí/no)| Por qué funciona | Detalle |
|---|---|
| Sobrevive al contexto | Las tiradas largas llenan la ventana y los turnos viejos se resumen; el archivo queda. |
| Se relee tras compactar | Es la primera cosa que debe mirar al retomar. |
| Tú ves el progreso de un vistazo | Sin hacer scroll por el historial. |
| Registra decisiones | Las no bloqueantes se anotan y se siguen, en vez de preguntarte. |
| No se borra solo | Al acabar queda, salvo que pidas eliminarlo. |
El bloque «Decisions made» es el que casi nadie copia
Y es el que evita la pregunta más cara: «¿por qué hiciste esto así?». Anotar la decisión y si es reversible convierte una discusión en una línea.
📄 Regla 3: el informe fijo de cuatro bloques
Toda tirada sustancial termina así, en este orden, porque lo primero que necesitas saber es qué te está esperando:
## Blocked on you
- Decisiones abiertas, aprobaciones, credenciales. «Nada» si no hay.
## Changed
- Qué se hizo, por áreas, en lenguaje llano. Archivos clave enlazados.
## Found
- Bugs, riesgos, sorpresas y seguimientos descubiertos por el camino.
## Not verified
- Qué no se pudo confirmar y dónde se buscó. «Todo verificado» si aplica.| Bloque | La pregunta que responde |
|---|---|
| Blocked on you | ¿Qué me toca hacer a mí? |
| Changed | ¿Qué cambió? |
| Found | ¿Qué descubriste que yo no sabía? |
| Not verified | ¿Qué me estás vendiendo como cierto sin serlo? |
En inglés por defecto
Los encabezados del snippet están en inglés. Si los quieres en español, cámbialos en el
CLAUDE.md: la skill dice explícitamente que el formato del usuario gana sobre el suyo.
⚙️ Las otras cuatro reglas
| Regla | Qué hace | Qué evita |
|---|---|---|
| Seguir sin preguntar | Si el siguiente paso no te necesita, lo da. Notas de estado en el mismo mensaje que la acción. | El «¿quieres que continúe?» y los menús de opciones que no bloquean nada |
| Parar solo por bloqueo o peligro | Borrar datos, force-push, reescribir historia, desplegar, enviar algo externo, tocar fuera del repo | Que la autonomía se coma tu red de seguridad |
| Repartir en subagentes y verificar | Una unidad (servicio, paquete, endpoint) por subagente; cada uno devuelve evidencia, no veredicto | Aceptar «está afectado» sin abrir la línea citada |
| Revisar el diff antes de decir «hecho» | Corre tests, build, linter y type-checker; lista solo lo que bloquearía un merge, con archivo:línea y cómo falla | El «listo» sin pruebas y el auto-review complaciente |
Sobre subagentes, la frase clave: «las afirmaciones de un subagente son pistas, no hechos». Se abre la línea citada y se repite el comando si es barato. Al final, una tabla consolidada:
| Unidad | Resultado | Evidencia |
|---|---|---|
services/billing | afectado | retry.go:88 reintenta un POST no idempotente |
🎨 El anexo de UI: 9 defaults a evitar
Sin dirección de diseño, Opus 5.5 cae en los mismos tics. Nombrarlos funciona; «hazlo menos genérico» no.
| # | Default | Por qué se nota |
|---|---|---|
| 1 | Fondos crema, beige o blanco roto | El «look IA» de 2025-2026 |
| 2 | Palabras en cursiva o serif dentro de titulares sans | Adorno sin función |
| 3 | Etiquetas numeradas 01 / 02 / 03 | Relleno de sección |
| 4 | Eyebrows en mono o versalitas sobre el titular | Decoración repetida |
| 5 | Botones píldora en todas partes | Forma por defecto, no decisión |
| 6 | Degradado violeta→azul o pastel como acento | El acento más previsible |
| 7 | Tres tarjetas idénticas con icono, título y frase | Estructura sin contenido |
| 8 | Emojis como iconos | Rompe la jerarquía visual |
| 9 | Hero gigante centrado con dos botones como única idea | Una landing sin argumento |
Cuidado con aplicar la lista donde no toca
Es una lista para UI de producto, no para documentación. Tu bóveda usa emojis como marcadores de navegación y tiene su propio sistema visual (Scorch); ahí la regla 8 no aplica. La propia skill lo dice: si hay una dirección de diseño —tu marca, un design system— esa gana y la lista se ignora donde choque.
El resto del anexo: si no hay dirección, elige una que encaje con el producto, evita esos patrones y di en una línea qué dirección tomaste. Si no te gusta, di qué exactamente: eso se convierte en un ítem de tu lista, no en un «prueba otra vez».
🚀 Instalación
git clone https://github.com/ToroFelipe/opus-5-5-dev.git
cp -r opus-5-5-dev/opus-5-5-dev ~/.claude/skills/| Alcance | Destino |
|---|---|
| Todos tus proyectos | ~/.claude/skills/ |
| Un solo proyecto | .claude/skills/ dentro del repo |
En Windows (PowerShell):
Copy-Item -Recurse opus-5-5-dev\opus-5-5-dev $HOME\.claude\skills\El paso que de verdad importa: el CLAUDE.md
Una skill solo se carga cuando se activa. Las reglas de cuándo parar y el formato del informe las quieres siempre, así que pega el snippet en tu CLAUDE.md (raíz del proyecto o ~/.claude/CLAUDE.md):
## Working style
- When a step doesn't need my input, keep going. Put status notes in the same
message as your next action. Don't end a turn with "want me to continue?".
- Stop and ask only when you can't continue without me, or before anything
destructive: deleting data, force-pushing, rewriting history, deploying,
or changing anything outside this repository.
- For long tasks, keep a checklist in TASKS.md. Tick items when done and add
anything new you find.
- Before saying you're done, run the tests and review your own diff.
- End every run with these headings: Blocked on me, Changed, Found, Not verified.Hay un modo «pair programming»
El repo trae una alternativa para cuando no quieres autonomía: plan de una línea antes de empezar y esperar tu OK, recaps de dos líneas por paso. Útil en código delicado o cuando estás aprendiendo el flujo.
Menos paradas significa que los permisos son tu red
Si el agente deja de preguntar «¿continúo?», lo único que queda entre él y un desastre son las condiciones de parada y los prompts de permiso. La skill lo dice sin rodeos: no las sortees ni las desactives «para ir más rápido».
🗣️ La guía de prompting (para ti, no para Claude)
| Hábito | Qué hacer |
|---|---|
| Pedir | Entrega la tarea completa en un mensaje, con línea de meta y condiciones de parada |
| Quitar | «Think carefully» y «step by step»: el modelo ya piensa y decide cuánto; quitarlo hace que empiece antes |
| Añadir | Escribe el seguimiento mientras trabaja y pulsa Enter; no reinicies |
| Diseño | Di qué patrones no quieres, no «hazlo bonito» |
| Datos | Adjunta el gráfico o la captura en vez de reescribir números |
| Revisar | Lee primero Blocked on you; luego pide un pase de revisión con criterio de merge |
| Velocidad | /fast en Claude Code: mismo modelo, salida más rápida, más caro por token |
Lo del «razonamiento interno»
Pedirle que reproduzca su razonamiento paso a paso en la respuesta puede ser rechazado. Pide una explicación corta de la decisión, que es lo que realmente necesitas.
⚖️ Lectura crítica
Lo bueno:
- Ataca el problema correcto: las tareas largas no fallan por falta de inteligencia, fallan por falta de línea de meta y de memoria.
- Reglas cortas, comprobables y en imperativo. Se pueden pegar y funcionar el mismo día.
- El informe de cuatro bloques es la mejor pieza: obliga a separar «hecho», «encontrado» y «no verificado». Ese último bloque es donde suele estar la verdad.
- Bilingüe en el README (español primero), aunque la skill esté en inglés.
- Anexo de UI muy concreto: nombra los patrones en vez de decir «sé original».
- Reconoce la autoridad del usuario: tu
CLAUDE.mdgana sobre la skill. - Cita la fuente (Addy Osmani) en vez de venderlo como propio.
Lo que hay que tener en cuenta:
- 4 estrellas, 0 forks y un solo commit de hace un mes. Cero señal de uso real y cero mantenimiento.
- Un push de 5 segundos tras crear el repo: es un volcado inicial, no un proyecto en desarrollo.
- No tiene tests ni validación de que las reglas funcionen; es texto opinado.
- Reglas en inglés y formato de informe en inglés: si trabajas en español, hay que adaptarlo.
- Sesgo hacia la autonomía. El modo por defecto empuja a no preguntar; en código delicado eso se paga. El modo pair-programming existe, pero es la alternativa, no el default.
- No está empaquetado para marketplaces ni tiene versión; se instala copiando carpetas.
- Depende de que tú leas el informe. Si no abres «Not verified», el bloque se vuelve decorativo.
- La fuente es un artículo de blog, no documentación oficial de Anthropic. Las recomendaciones son de una persona, por buenas que sean.
TASKS.mdpuede ensuciar el repo si no lo añades a.gitignoreo lo borras al cerrar.
La lectura de fondo
No es una skill para que Claude escriba mejor código: es una skill para que termine lo que empieza y te lo cuente sin adornos. Su valor está en tres frases que puedes copiar sin instalar nada — «Done = X», «me paro solo si Y» y «Blocked / Changed / Found / Not verified» — y en la disciplina de no confundir «hecho» con «creo que está hecho». Lo demás es un anexo de UI que está bien tener a mano. Con 4 estrellas y un commit, esto es un buen documento, no un proyecto con comunidad: úsalo como checklist y verifica tú mismo que las reglas se cumplen.
🔗 Enlaces
- Repositorio — opus-5-5-dev
- SKILL.md
- Snippet para CLAUDE.md
- Lista de estilos de UI a evitar
- Guía de prompting
- Artículo original de Addy Osmani
🔗 Notas relacionadas
- 🧠 Claude Code Best Practices — cómo se estructura una skill, subagentes y memoria.
- 🗺️ Awesome Claude Code — el mapa de herramientas y skills de Claude Code.
- 🧰 Awesome Claude Code Toolkit — agentes, hooks y reglas listos para copiar.
- 🚀 AI Product Development Toolkit — prompts de planificación y un workflow de producto.
- 📥 Vault Ingest — cómo se guardó esta nota.