Before You Refactor

Una checklist previa a la refactorización que detecta comportamiento no probado antes de 'limpiar' el código.

Por oribarilan · oribarilan/97

Probado · Funciona ★ 10.0/10

Before You Refactor — Una checklist previa a la refactorización que detecta comportamiento no probado antes de 'limpiar' el código.

Qué hace

Una checklist rígida previa a la refactorización: leer el código existente dos veces, encontrar y ejecutar las pruebas que ya lo cubren, declarar un objetivo de una oración y agregar una prueba de caracterización para cualquier comportamiento que la suite actual no fije antes de cambiar la forma del código. Se activa ante refactorizaciones, reestructuraciones, renombrados de archivos cruzados o revisión de un PR de reestructuración; explícitamente no se activa ante correcciones de errores de una línea, archivos nuevos o cambios solo de formato.

Informe de la prueba

Su checklist detectó una regresión real que introdujo una refactorización ingenua: un registro archivado que 'reclamaba' silenciosamente su ID de deduplicación para que un duplicado posterior activo fuera descartado; la reescritura ingenua pasó todas las 5 pruebas existentes de todos modos y solo falló en un caso que ninguno de ellos cubría; el paso de la skill para agregar una prueba de caracterización para comportamiento no probado lo detectó antes de que se realizara la edición.

Probado el: 2026-07-16 · Claude Code 2.x (agent harness)

Instalación

git clone https://github.com/oribarilan/97
mkdir -p ~/.claude/skills
cp -r 97/skills/before-you-refactor ~/.claude/skills/before-you-refactor

Comandos y prompts de ejemplo

  • /before-you-refactorUna checklist previa a la refactorización que detecta comportamiento no probado antes de 'limpiar' el código.

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

  • before I restructure this module, what tests actually cover it?
  • I'm about to rename these files across the codebase, what's the risk?
  • add a characterization test before I clean up this function's shape