MCP HubMCP Hub
Volver a habilidades

adapt-architecture

pjt222
Actualizado Yesterday
1 vistas
17
2
17
Ver en GitHub
Diseñodesign

Acerca de

Esta habilidad ejecuta transformaciones arquitectónicas graduales utilizando patrones como la migración de higuera estranguladora y la ejecución en paralelo. Proporciona orientación estructurada para la planificación, el traspaso progresivo, el diseño de reversión y la estabilización durante la evolución del sistema. Úsela al migrar desde monolitos, reemplazar subsistemas centrales, o cuando los cambios deben ser incrementales en lugar de un enfoque de implementación masiva.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/adapt-architecture

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

Adaptar Arquitectura

Ejecutar una metamorfosis estructural — transformando la arquitectura de un sistema desde su forma actual a una forma objetivo mientras se mantiene la continuidad operativa. Utiliza migración strangler fig, fases de crisálida y preservación de interfaces para asegurar que el sistema nunca deje de funcionar durante la transformación.

Cuándo Usar

  • La evaluación de forma (ver assess-form) clasificó el sistema como LISTO
  • Un sistema debe evolucionar su arquitectura para cumplir nuevos requisitos sin tiempo de inactividad
  • Migración de monolito a microservicios (o viceversa)
  • Reemplazo de un subsistema central mientras los sistemas dependientes continúan operando
  • Evolución de un modelo de datos manteniendo compatibilidad retroactiva
  • Cualquier cambio arquitectónico que deba ser gradual en lugar de big-bang

Entradas

  • Requerido: Evaluación de la forma actual (de assess-form o análisis equivalente)
  • Requerido: Arquitectura objetivo (en qué debe convertirse el sistema)
  • Requerido: Requisitos de continuidad operativa (qué no debe romperse durante la transformación)
  • Opcional: Presupuesto de transformación disponible (tiempo, personas, cómputo)
  • Opcional: Requisitos de rollback (¿hasta dónde debemos poder retroceder?)
  • Opcional: Duración de ejecución paralela (¿cuánto tiempo ejecutar el antiguo y el nuevo simultáneamente?)

Procedimiento

Paso 1: Diseñar el Plan de Transformación

Planificar la ruta de metamorfosis desde la forma actual a la forma objetivo.

  1. Mapear la transformación como una secuencia de formas intermedias:
    • Forma actual → Forma intermedia 1 → ... → Forma objetivo
    • Cada forma intermedia debe ser operativamente viable (puede servir tráfico, pasar pruebas)
    • Ninguna forma intermedia debe ser más difícil de mantener que la forma actual
  2. Identificar las costuras de transformación:
    • ¿Dónde se puede "cortar" la forma actual para insertar la nueva arquitectura?
    • Costuras naturales: interfaces existentes, límites de módulos, particiones de datos
    • Costuras artificiales: interfaces creadas específicamente para habilitar el corte (capas anticorrupción)
  3. Elegir el patrón de metamorfosis:
    • Strangler fig: el nuevo sistema crece alrededor del antiguo, reemplazándolo gradualmente
    • Crisálida: el sistema antiguo se envuelve en una nueva capa; los internos se reemplazan mientras la capa preserva la interfaz externa
    • Gemación: el nuevo sistema crece junto al antiguo; el tráfico se desplaza gradualmente (ver scale-colony para gemación de colonias)
    • Migración metamórfica: reemplazo por fases de componentes en orden de dependencia (hojas primero, raíces al final)
  4. Diseñar la capa de preservación de interfaces:
    • Los consumidores externos no deben experimentar interrupción
    • Versionado de API, contratos retrocompatibles, patrones adaptador
    • La capa de preservación es andamiaje temporal — planificar su eliminación
Metamorphosis Patterns:
┌───────────────┬───────────────────────────────────────────────────┐
│ Strangler Fig │ New code intercepts routes one by one;            │
│               │ old code handles everything else until replaced   │
│               │ ┌──────────┐                                     │
│               │ │ Old ████ │ → │ Old ██ New ██ │ → │ New ████ │  │
│               │ └──────────┘                                     │
├───────────────┼───────────────────────────────────────────────────┤
│ Chrysalis     │ Wrap old system in new interface; replace         │
│               │ internals while external shell stays stable       │
│               │ ┌──────────┐     ┌──[new]───┐     ┌──[new]───┐  │
│               │ │ old core │ → │ old core │ → │ new core │  │
│               │ └──────────┘     └──────────┘     └──────────┘  │
├───────────────┼───────────────────────────────────────────────────┤
│ Budding       │ New system runs in parallel; traffic shifts       │
│               │ ┌──────┐ ┌──────┐     ┌──────┐ ┌──────┐         │
│               │ │ Old  │ │ New  │  →  │ Old  │ │ New  │         │
│               │ │ 100% │ │  0%  │     │  0%  │ │ 100% │         │
│               │ └──────┘ └──────┘     └──────┘ └──────┘         │
└───────────────┴───────────────────────────────────────────────────┘

Esperado: Un plan de transformación que muestre formas intermedias, costuras, el patrón de metamorfosis elegido y la estrategia de preservación de interfaces. Cada paso es concreto y verificable.

En caso de fallo: Si no se encuentra una costura limpia, el sistema puede necesitar una disolución preliminar (ver dissolve-form) para crear costuras antes de la transformación. Si las formas intermedias no son operativamente viables, los pasos de transformación son demasiado grandes — descomponer en incrementos más pequeños.

Paso 2: Construir el Andamiaje

Construir la infraestructura temporal que soporta la metamorfosis.

  1. Crear la capa anticorrupción:
    • Una capa delgada de traducción entre los sistemas antiguo y nuevo
    • Enruta solicitudes al sistema apropiado (antiguo o nuevo) según el estado de migración
    • Traduce formatos de datos entre representaciones antiguas y nuevas
    • Esta capa es el "capullo" que protege la transformación
  2. Configurar la infraestructura de ejecución paralela:
    • Ambos sistemas, antiguo y nuevo, deben ser desplegables simultáneamente
    • Los feature flags controlan qué sistema maneja qué tráfico
    • Los mecanismos de comparación validan que antiguo y nuevo producen resultados equivalentes
  3. Establecer puntos de control de rollback:
    • En cada forma intermedia, verificar que el rollback a la forma anterior es posible
    • El rollback debe ser más rápido que el paso de transformación hacia adelante
    • La migración de datos debe ser reversible (o los datos deben escribirse dualmente durante la transición)
  4. Construir el arnés de validación:
    • Pruebas automatizadas que verifican la continuidad operativa en cada forma intermedia
    • Benchmarks de rendimiento que detectan regresión
    • Verificaciones de integridad de datos que capturan errores de migración

Esperado: La infraestructura de andamiaje (capa anticorrupción, ejecución paralela, rollback, validación) está en su lugar antes de que comience cualquier transformación. El andamiaje mismo está probado y verificado.

En caso de fallo: Si el andamiaje es demasiado costoso, simplificar: el andamiaje mínimo viable es un feature flag y un procedimiento de rollback. Las capas anticorrupción y la ejecución paralela añaden seguridad pero no siempre son necesarias para transformaciones más pequeñas.

Paso 3: Ejecutar el Traspaso Progresivo

Migrar funcionalidad de la forma antigua a la nueva forma de manera incremental.

  1. Ordenar componentes para migración:
    • Comenzar con el componente menos acoplado y de menor riesgo (generar confianza)
    • Progresar hacia componentes más críticos y más acoplados
    • Guardar el componente más acoplado/crítico para el final (para cuando el equipo tenga experiencia)
  2. Para cada componente: a. Implementar la nueva versión detrás de la capa anticorrupción b. Ejecutar en paralelo: tanto el antiguo como el nuevo procesan las mismas entradas c. Comparar salidas — deben ser equivalentes (o las diferencias deben ser esperadas y documentadas) d. Cuando haya confianza, cambiar el tráfico a la nueva versión (cambio de feature flag) e. Monitorear anomalías (aumentar la sensibilidad del monitoreo post-traspaso) f. Después de un período de estabilidad, desmantelar la versión antigua de este componente
  3. Mantener la entrega continua durante todo el proceso:
    • Cada paso de traspaso es un despliegue normal, no un evento especial
    • El sistema siempre está en un estado conocido, probado y operativo
    • Si un traspaso causa problemas, revertir al estado anterior (que sigue siendo operativo)

Esperado: La funcionalidad migra componente por componente con validación en cada paso. El sistema siempre está operativo. Cada traspaso genera confianza para el siguiente.

En caso de fallo: Si la ejecución paralela revela discrepancias, la nueva implementación tiene un error — corregirlo antes de hacer el traspaso. Si un traspaso causa degradación del rendimiento, el nuevo componente puede necesitar optimización o la capa anticorrupción está añadiendo demasiada sobrecarga. Si el equipo pierde confianza a mitad de la migración, pausar y estabilizar — un sistema medio migrado en un estado conocido es mucho mejor que una migración completa apresurada.

Paso 4: Gestionar la Fase de Crisálida

Navegar el período más vulnerable — cuando el sistema está entre formas.

  1. Reconocer la realidad de la crisálida:
    • Durante la migración, el sistema es parcialmente antiguo y parcialmente nuevo
    • Este estado híbrido es inherentemente más complejo que cualquiera de los estados puros
    • La complejidad alcanza su pico en el punto medio de la migración, luego disminuye
  2. Disciplina de crisálida:
    • Sin nuevas funcionalidades durante la fase de crisálida (solo transformación)
    • Cambios externos mínimos (congelar despliegues no esenciales)
    • Mayor monitoreo y cobertura de guardia
    • Revisiones diarias del progreso de migración y salud del sistema
  3. Evaluación a mitad de crisálida:
    • En el punto medio, evaluar: ¿sigue siendo la forma objetivo la meta correcta?
    • ¿Ha cambiado algo (mercado, requisitos, equipo) que afecte el objetivo?
    • ¿Debe la transformación continuar, pausarse o redirigirse?
  4. Proteger la crisálida:
    • Mantener la ruta de rollback despejada en todo momento
    • Documentar el estado híbrido actual exhaustivamente (los futuros depuradores lo necesitarán)
    • Resistir la tentación de "limpiar" el andamiaje temporal antes de que la migración esté completa

Esperado: La fase de crisálida se gestiona como un período deliberado y acotado en el tiempo con mayor disciplina y monitoreo. El equipo entiende que la complejidad temporal es el costo de una transformación segura.

En caso de fallo: Si la fase de crisálida se prolonga demasiado, el estado híbrido se convierte en la nueva normalidad — lo cual es peor que el antiguo o el nuevo. Establecer un límite de tiempo. Si se alcanza el límite, ya sea acelerar la migración restante o aceptar el estado híbrido como la "nueva forma" y estabilizarlo.

Paso 5: Completar la Metamorfosis y Estabilizar

Finalizar la transformación y eliminar el andamiaje.

  1. Traspaso final:
    • Migrar los últimos componentes a la nueva forma
    • Ejecutar la suite completa de validación contra el nuevo sistema completo
    • Prueba de rendimiento bajo carga equivalente a producción
  2. Eliminar andamiaje:
    • Desmantelar la capa anticorrupción (ya no es necesaria)
    • Eliminar los feature flags relacionados con la migración
    • Limpiar la infraestructura de ejecución paralela
    • Archivar (no eliminar) el código del sistema antiguo como referencia
  3. Estabilización post-metamorfosis:
    • Ejecutar en la nueva forma durante 2-4 semanas con monitoreo mejorado
    • Abordar cualquier problema que surja en condiciones reales
    • Actualizar la documentación para reflejar la nueva arquitectura
  4. Retrospectiva:
    • ¿Qué salió bien en la transformación?
    • ¿Qué fue más difícil de lo esperado?
    • ¿Qué haríamos diferente la próxima vez?
    • Actualizar el manual de transformación del equipo

Esperado: La transformación está completa. El sistema opera en su nueva forma. El andamiaje está eliminado. La documentación está actualizada. El equipo ha capturado aprendizajes para futuras transformaciones.

En caso de fallo: Si la nueva forma es inestable después del traspaso, mantener la ruta de rollback y continuar la estabilización. Si la estabilización toma más del período planificado, puede haber un problema de diseño en la nueva arquitectura — considerar si correcciones dirigidas o un rollback parcial del componente más problemático es apropiado.

Validación

  • El plan de transformación muestra formas intermedias viables
  • El andamiaje (capa anticorrupción, rollback, arnés de validación) está en su lugar antes de que comience la migración
  • Los componentes migran en orden de menor a mayor riesgo
  • La ejecución paralela valida equivalencia en cada paso
  • La fase de crisálida está acotada en el tiempo con disciplina de congelación de funcionalidades
  • Todo el andamiaje se elimina después de completar la transformación
  • El período de estabilización post-metamorfosis pasa sin problemas críticos
  • La retrospectiva captura aprendizajes

Errores Comunes

  • Migración big-bang: Intentar transformar todo de una vez. Esto abandona la seguridad del traspaso incremental y maximiza el radio de explosión. Siempre migrar incrementalmente
  • Andamiaje permanente: Las capas anticorrupción y feature flags que nunca se eliminan se convierten en deuda técnica. Planificar la eliminación del andamiaje como parte de la transformación, no como algo posterior
  • Negación de la crisálida: Pretender que el estado híbrido es normal lleva al desarrollo de funcionalidades sobre cimientos inestables. Reconocer la fase de crisálida y hacer cumplir su disciplina
  • Fijación en el objetivo: Comprometerse tanto con la arquitectura objetivo que se ignoran señales de una mejor alternativa. La evaluación a mitad de crisálida existe por esta razón
  • Fatiga de transformación: Las migraciones largas agotan a los equipos. Mantener cada paso de transformación lo suficientemente pequeño para completarse en días, no semanas. Celebrar hitos para mantener el impulso

Habilidades Relacionadas

  • assess-form — evaluación prerrequisito que determina si el sistema está listo para la transformación
  • dissolve-form — para sistemas demasiado rígidos para transformar directamente; la disolución crea las costuras necesarias aquí
  • repair-damage — habilidad de recuperación para cuando la transformación introduce daño
  • shift-camouflage — adaptación superficial que puede ser suficiente sin un cambio arquitectónico profundo
  • coordinate-swarm — la coordinación de enjambre informa la secuenciación de la transformación en sistemas distribuidos
  • scale-colony — la presión de crecimiento es un desencadenante común para la adaptación arquitectónica
  • implement-gitops-workflow — GitOps proporciona la infraestructura de despliegue para el traspaso progresivo
  • review-software-architecture — habilidad de revisión complementaria para evaluar la arquitectura objetivo

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/es/skills/adapt-architecture
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

executing-plans

Diseño

Utilice la habilidad executing-plans cuando tenga un plan de implementación completo para ejecutar en lotes controlados con puntos de revisión. Esta habilidad carga y revisa críticamente el plan, luego ejecuta tareas en pequeños lotes (por defecto 3 tareas) mientras reporta el progreso entre cada lote para la revisión del arquitecto. Esto asegura una implementación sistemática con puntos de control de calidad integrados.

Ver habilidad

requesting-code-review

Diseño

Esta habilidad despacha un subagente revisor de código para analizar los cambios en el código frente a los requisitos antes de proceder. Debe usarse después de completar tareas, implementar funciones principales o antes de fusionar con la rama principal. La revisión ayuda a detectar problemas de forma temprana al comparar la implementación actual con el plan original.

Ver habilidad

connect-mcp-server

Diseño

Esta habilidad proporciona una guía integral para que los desarrolladores conecten servidores MCP a Claude Code mediante transportes HTTP, stdio o SSE. Cubre la instalación, configuración, autenticación y seguridad para integrar servicios externos como GitHub, Notion y APIs personalizadas. Úsala al configurar integraciones MCP, al configurar herramientas externas o al trabajar con el Protocolo de Contexto del Modelo de Claude.

Ver habilidad

web-cli-teleport

Diseño

Esta habilidad ayuda a los desarrolladores a elegir entre las interfaces web y CLI de Claude Code mediante el análisis de tareas, y luego permite la teletransportación fluida de sesiones entre estos entornos. Optimiza el flujo de trabajo gestionando el estado y el contexto de la sesión al cambiar entre web, CLI o móvil. Úsala para proyectos complejos que requieren diferentes herramientas en varias etapas.

Ver habilidad