/migration-plan
Planificar migraciones de base de datos con rollback y estimación de impacto. Activar cuando el usuario quiera migrar base de datos, cambiar esquema, ejecutar ALTER TABLE, planificar un rollback o realizar una migracion segura.
$ npx -y skills add 686f6c61/alfred-dev --skill migration-plan --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
/migration-plan
Context preview
The summary Claude sees to decide when to auto-load this skill.
Planificar migraciones de base de datos con rollback y estimación de impacto. Activar cuando el usuario quiera migrar base de datos, cambiar esquema, ejecutar ALTER TABLE, planificar un rollback o realizar una migracion segura.
SKILL.md
migration-plan.SKILL.mdname: migration-plan
description: "Planificar migraciones de base de datos con rollback y estimación de impacto. Activar cuando el usuario quiera migrar base de datos, cambiar esquema, ejecutar ALTER TABLE, planificar un rollback o realizar una migracion segura."
Planificación de migraciones de base de datos
Resumen
Este skill estructura la planificación de una migración de base de datos de principio a fin. Una migración mal planificada puede causar pérdida de datos, downtime prolongado o inconsistencias difíciles de detectar. La planificación rigurosa es la diferencia entre un cambio transparente y un incidente.
El resultado es un plan de migración que incluye el script forward, el script de rollback, la estimación de impacto y los pasos de verificación posteriores. Este plan se revisa antes de ejecutar cualquier cambio.
Proceso
1. **Analizar el cambio requerido.** Antes de escribir SQL, entender exactamente qué cambia y por qué:
- Qué tablas y columnas se ven afectadas.
- Si el cambio es aditivo (nueva tabla, nueva columna) o destructivo (eliminar columna, cambiar tipo).
- Si hay datos existentes que necesitan transformación.
- Si el cambio es compatible hacia atrás con la versión actual del código o requiere despliegue coordinado.
2. **Estimar el impacto en producción.** Obtener métricas del entorno real:
- Tamaño de las tablas afectadas (número de filas y tamaño en disco).
- Tiempo estimado de la migración según el volumen de datos.
- Si la operación bloquea la tabla (ALTER TABLE con lock en MySQL, por ejemplo).
- Si se necesita ventana de mantenimiento o se puede ejecutar en caliente.
Para tablas grandes (millones de filas), considerar migraciones en lotes o herramientas como gh-ost, pt-online-schema-change o pgroll.
3. **Escribir el script forward.** El script que aplica el cambio. Requisitos:
- Debe ser idempotente cuando sea posible (IF NOT EXISTS, IF EXISTS).
- Incluir transacción si el motor lo permite para DDL.
- Separar cambios de esquema y cambios de datos si la migración es compleja.
- Respetar el sistema de migraciones del proyecto (Prisma Migrate, Alembic, Django Migrations, Flyway).
4. **Escribir el script de rollback.** El script que deshace el cambio forward:
- Para cambios aditivos: DROP de lo creado.
- Para cambios destructivos: restaurar desde backup o columna temporal.
- Para transformaciones de datos: script inverso o restauración desde backup.
- Verificar que el rollback deja la base de datos en un estado consistente.
5. **Definir el orden de ejecución.** Si la migración afecta a varias tablas con dependencias:
- Crear tablas referenciadas antes que las que las referencian.
- Eliminar foreign keys antes de eliminar tablas referenciadas.
- Si hay migración de datos entre tablas, respetar el orden de dependencia.
- Documentar el orden explícitamente en el plan.
6. **Planificar la verificación post-migración.** Definir comprobaciones que confirmen que la migración se aplicó correctamente:
- Verificar que las tablas y columnas existen con los tipos esperados.
- Contar filas antes y después para detectar pérdida de datos.
- Ejecutar queries de validación sobre los datos migrados.
- Comprobar que la aplicación funciona correctamente con el nuevo esquema.
- Revisar los logs en busca de errores relacionados con el cambio.
7. **Documentar el plan.** El plan de migración debe incluir:
- Descripción del cambio y motivación.
- Script forward y script de rollback.
- Estimación de tiempo y necesidad de downtime.
- Orden de ejecución.
- Checklist de verificación post-migración.
- Responsable de la ejecución y plan de comunicación.
Que NO hacer
- No ejecutar migraciones directamente en producción sin haberlas probado en un entorno con datos realistas.
- No asumir que el rollback "no se necesitará". Si no hay rollback, no hay plan.
- No mezclar migraciones de esquema con migraciones de datos en un solo paso si la migración es compleja.
- No ignorar los bloqueos de tabla. Un ALTER TABLE en una tabla con millones de filas puede bloquear la base de datos durante minutos u horas.
- No olvidar actualizar los modelos del ORM después de la migración.
- No ejecutar migraciones sin rollback probado. Si el rollback no se ha verificado en un entorno de prueba, no se puede confiar en él cuando se necesite de verdad.
- No migrar sin backup previo. Antes de cualquier migración destructiva, asegurar que existe un backup reciente y verificado de la base de datos.
Read more
name: migration-plan description: "Planificar migraciones de base de datos con rollback y estimación de impacto. Activar cuando el usuario quiera migrar base de datos, cambiar esquema, ejecutar ALTER TABLE, planificar un rollback o realizar una migracion segura."
Planificación de migraciones de base de datos
Resumen
Este skill estructura la planificación de una migración de base de datos de principio a fin. Una migración mal planificada puede causar pérdida de datos, downtime prolongado o inconsistencias difíciles de detectar. La planificación rigurosa es la diferencia entre un cambio transparente y un incidente.
El resultado es un plan de migración que incluye el script forward, el script de rollback, la estimación de impacto y los pasos de verificación posteriores. Este plan se revisa antes de ejecutar cualquier cambio.
Proceso
1. **Analizar el cambio requerido.** Antes de escribir SQL, entender exactamente qué cambia y por qué:
- Qué tablas y columnas se ven afectadas.
- Si el cambio es aditivo (nueva tabla, nueva columna) o destructivo (eliminar columna, cambiar tipo).
- Si hay datos existentes que necesitan transformación.
- Si el cambio es compatible hacia atrás con la versión actual del código o requiere despliegue coordinado.
2. **Estimar el impacto en producción.** Obtener métricas del entorno real:
- Tamaño de las tablas afectadas (número de filas y tamaño en disco).
- Tiempo estimado de la migración según el volumen de datos.
- Si la operación bloquea la tabla (ALTER TABLE con lock en MySQL, por ejemplo).
- Si se necesita ventana de mantenimiento o se puede ejecutar en caliente.
Para tablas grandes (millones de filas), considerar migraciones en lotes o herramientas como gh-ost, pt-online-schema-change o pgroll.
3. **Escribir el script forward.** El script que aplica el cambio. Requisitos:
- Debe ser idempotente cuando sea posible (IF NOT EXISTS, IF EXISTS).
- Incluir transacción si el motor lo permite para DDL.
- Separar cambios de esquema y cambios de datos si la migración es compleja.
- Respetar el sistema de migraciones del proyecto (Prisma Migrate, Alembic, Django Migrations, Flyway).
4. **Escribir el script de rollback.** El script que deshace el cambio forward:
- Para cambios aditivos: DROP de lo creado.
- Para cambios destructivos: restaurar desde backup o columna temporal.
- Para transformaciones de datos: script inverso o restauración desde backup.
- Verificar que el rollback deja la base de datos en un estado consistente.
5. **Definir el orden de ejecución.** Si la migración afecta a varias tablas con dependencias:
- Crear tablas referenciadas antes que las que las referencian.
- Eliminar foreign keys antes de eliminar tablas referenciadas.
- Si hay migración de datos entre tablas, respetar el orden de dependencia.
- Documentar el orden explícitamente en el plan.
6. **Planificar la verificación post-migración.** Definir comprobaciones que confirmen que la migración se aplicó correctamente:
- Verificar que las tablas y columnas existen con los tipos esperados.
- Contar filas antes y después para detectar pérdida de datos.
- Ejecutar queries de validación sobre los datos migrados.
- Comprobar que la aplicación funciona correctamente con el nuevo esquema.
- Revisar los logs en busca de errores relacionados con el cambio.
7. **Documentar el plan.** El plan de migración debe incluir:
- Descripción del cambio y motivación.
- Script forward y script de rollback.
- Estimación de tiempo y necesidad de downtime.
- Orden de ejecución.
- Checklist de verificación post-migración.
- Responsable de la ejecución y plan de comunicación.
Que NO hacer
- No ejecutar migraciones directamente en producción sin haberlas probado en un entorno con datos realistas.
- No asumir que el rollback "no se necesitará". Si no hay rollback, no hay plan.
- No mezclar migraciones de esquema con migraciones de datos en un solo paso si la migración es compleja.
- No ignorar los bloqueos de tabla. Un ALTER TABLE en una tabla con millones de filas puede bloquear la base de datos durante minutos u horas.
- No olvidar actualizar los modelos del ORM después de la migración.
- No ejecutar migraciones sin rollback probado. Si el rollback no se ha verificado en un entorno de prueba, no se puede confiar en él cuando se necesite de verdad.
- No migrar sin backup previo. Antes de cualquier migración destructiva, asegurar que existe un backup reciente y verificado de la base de datos.
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

