/refactor
Usar para refactorizar código con tests como red de seguridad. Activar cuando el usuario quiera limpiar código, reducir complejidad, extraer función, mejorar nombres, eliminar duplicación, resolver un code smell o reorganizar la estructura interna sin cambiar comportamiento.
$ npx -y skills add 686f6c61/alfred-dev --skill refactor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/refactor
Context preview
The summary Claude sees to decide when to auto-load this skill.
Usar para refactorizar código con tests como red de seguridad. Activar cuando el usuario quiera limpiar código, reducir complejidad, extraer función, mejorar nombres, eliminar duplicación, resolver un code smell o reorganizar la estructura interna sin cambiar comportamiento.
SKILL.md
refactor.SKILL.mdname: refactor
description: "Usar para refactorizar código con tests como red de seguridad. Activar cuando el usuario quiera limpiar código, reducir complejidad, extraer función, mejorar nombres, eliminar duplicación, resolver un code smell o reorganizar la estructura interna sin cambiar comportamiento."
Refactorizar código
Resumen
Este skill guía un proceso de refactorización seguro. La regla de oro es que la refactorización no debe cambiar el comportamiento observable del sistema, solo mejorar su estructura interna. Para reducir el riesgo de cambios involuntarios, los tests existentes actúan como red de seguridad: deben pasar antes, durante y después de la refactorización.
La refactorización y la adición de funcionalidad son dos actividades distintas que nunca se mezclan en el mismo commit. Si se detecta un bug durante la refactorización, se anota y se corrige en un commit separado.
Proceso
1. **Identificar el code smell.** Antes de refactorizar, tener claro qué problema se está resolviendo. Los code smells más comunes son:
- Funciones demasiado largas (más de 30 líneas).
- Parámetros excesivos (más de 3).
- Duplicación de lógica.
- Condicionales anidados profundamente.
- Nombres poco descriptivos.
- Clases con demasiadas responsabilidades.
- Acoplamiento excesivo entre módulos.
- Comentarios que compensan código confuso (mejor reescribir el código).
2. **Verificar que los tests pasan ANTES de empezar.** HARD-GATE: ejecutar la suite de tests completa (o al menos los tests del módulo afectado) y confirmar que todo está en verde. No se refactoriza sobre una base rota.
3. **Si no hay tests suficientes, escribirlos primero.** Si el área a refactorizar no tiene cobertura de tests, escribir tests de caracterización que capturen el comportamiento actual antes de cambiar nada. Estos tests se commitean por separado.
4. **Aplicar la refactorización en pasos pequeños.** Cada paso debe ser:
- Lo bastante pequeño como para ser reversible.
- Verificable con los tests existentes.
- Comprensible de forma aislada.
Técnicas comunes: extraer función, renombrar, mover a módulo, introducir parámetro, reemplazar condicional con polimorfismo, simplificar expresión.
5. **Ejecutar tests después de cada paso.** No acumular múltiples cambios sin verificar. Si un test se rompe, deshacer el último paso y analizar por qué.
6. **Verificar que los tests SIGUEN pasando al final.** Ejecutar la suite completa una última vez. Comparar el comportamiento observable: mismos inputs deben producir mismos outputs.
7. **Hacer commit separado.** El commit de refactorización va aparte del commit de nueva funcionalidad. Mensaje descriptivo: `refactor: extraer lógica de validación a módulo independiente`.
Criterios de éxito
- Los tests pasan antes y después de la refactorización.
- El comportamiento observable del sistema no ha cambiado.
- El code smell identificado se ha eliminado o reducido.
- El commit de refactorización no incluye nueva funcionalidad.
- El código resultante es más legible, mantenible o simple que el anterior.
Read more
name: refactor description: "Usar para refactorizar código con tests como red de seguridad. Activar cuando el usuario quiera limpiar código, reducir complejidad, extraer función, mejorar nombres, eliminar duplicación, resolver un code smell o reorganizar la estructura interna sin cambiar comportamiento."
Refactorizar código
Resumen
Este skill guía un proceso de refactorización seguro. La regla de oro es que la refactorización no debe cambiar el comportamiento observable del sistema, solo mejorar su estructura interna. Para reducir el riesgo de cambios involuntarios, los tests existentes actúan como red de seguridad: deben pasar antes, durante y después de la refactorización.
La refactorización y la adición de funcionalidad son dos actividades distintas que nunca se mezclan en el mismo commit. Si se detecta un bug durante la refactorización, se anota y se corrige en un commit separado.
Proceso
1. **Identificar el code smell.** Antes de refactorizar, tener claro qué problema se está resolviendo. Los code smells más comunes son:
- Funciones demasiado largas (más de 30 líneas).
- Parámetros excesivos (más de 3).
- Duplicación de lógica.
- Condicionales anidados profundamente.
- Nombres poco descriptivos.
- Clases con demasiadas responsabilidades.
- Acoplamiento excesivo entre módulos.
- Comentarios que compensan código confuso (mejor reescribir el código).
2. **Verificar que los tests pasan ANTES de empezar.** HARD-GATE: ejecutar la suite de tests completa (o al menos los tests del módulo afectado) y confirmar que todo está en verde. No se refactoriza sobre una base rota.
3. **Si no hay tests suficientes, escribirlos primero.** Si el área a refactorizar no tiene cobertura de tests, escribir tests de caracterización que capturen el comportamiento actual antes de cambiar nada. Estos tests se commitean por separado.
4. **Aplicar la refactorización en pasos pequeños.** Cada paso debe ser:
- Lo bastante pequeño como para ser reversible.
- Verificable con los tests existentes.
- Comprensible de forma aislada.
Técnicas comunes: extraer función, renombrar, mover a módulo, introducir parámetro, reemplazar condicional con polimorfismo, simplificar expresión.
5. **Ejecutar tests después de cada paso.** No acumular múltiples cambios sin verificar. Si un test se rompe, deshacer el último paso y analizar por qué.
6. **Verificar que los tests SIGUEN pasando al final.** Ejecutar la suite completa una última vez. Comparar el comportamiento observable: mismos inputs deben producir mismos outputs.
7. **Hacer commit separado.** El commit de refactorización va aparte del commit de nueva funcionalidad. Mensaje descriptivo: `refactor: extraer lógica de validación a módulo independiente`.
Criterios de éxito
- Los tests pasan antes y después de la refactorización.
- El comportamiento observable del sistema no ha cambiado.
- El code smell identificado se ha eliminado o reducido.
- El commit de refactorización no incluye nueva funcionalidad.
- El código resultante es más legible, mantenible o simple que el anterior.
Plugin de Claude Code: 18 agentes especializados, 60 skills, 25 comandos, 13 hooks, memoria persistente, Memory UI local, quality gates, evidence guard, continuidad operativa y modo autopilot.
Repo: 686f6c61/alfred-dev
Other skills on alfred-dev.
- /alfred
Alias global /alfred para abrir el asistente contextual de Alfred Dev sin escribir el namespace completo. Activar solo cuando el usuario invoque explicitamente /alfred.
Open skill - /choose-stack
Usar para evaluar y elegir tecnologías con matriz de decisión ponderada. Activar cuando el usuario quiera elegir tecnología, comparar frameworks, decidir entre alternativas técnicas, construir una matriz de decisión, evaluar stack, seleccionar base de datos, elegir lenguaje o
Open skill - /design-system
Usar para diseñar la arquitectura de un sistema con diagramas y contratos. Activar cuando el usuario quiera diseñar arquitectura, definir componentes del sistema, crear un diagrama de flujo, establecer contratos entre módulos, planificar la estructura del proyecto o decidir cómo
Open skill - /evaluate-dependencies
Usar para evaluar si una dependencia merece la pena antes de añadirla. Activar cuando el usuario quiera añadir una librería, saber si merece la pena esta dependencia, evaluar un paquete antes de instalarlo, hacer npm install o pip install de algo nuevo, buscar alternativas a una
Open skill - /write-adr
Usar para documentar decisiones arquitectónicas como ADR. Activar cuando el usuario quiera documentar por qué se tomó una decisión, registrar alternativas descartadas, crear un ADR, un decision record, dejar constancia de una elección técnica o justificar una decisión de diseño
Open skill - /code-review
Usar para revisar código con foco en calidad, legibilidad y errores lógicos. También: revisar código, buscar errores, calidad del código, revisión de PR, pull request review.
Open skill

