返回技能列表

adapt-architecture

pjt222
更新于 Yesterday
2 次查看
17
2
17
在 GitHub 上查看
设计design

关于

This skill executes gradual architectural transformations using patterns like strangler fig migration and parallel running. It provides structured guidance for planning, progressive cutover, rollback design, and stabilization during system evolution. Use it when migrating from monoliths, replacing core subsystems, or when changes must be incremental rather than big-bang.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/adapt-architecture

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

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

GitHub 仓库

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

相关推荐技能

executing-plans

设计

该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。

查看技能

requesting-code-review

设计

该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。

查看技能

connect-mcp-server

设计

这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。

查看技能

web-cli-teleport

设计

该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。

查看技能