athanor
关于
The athanor skill performs a four-stage alchemical refactoring (nigredo, albedo, citrinitas, rubedo) to systematically transform tangled or legacy code into optimized, well-structured output. It is designed for complex scenarios like modernizing legacy systems, refactoring deeply entangled modules, or converting codebases between paradigms where incremental fixes have failed. The process includes meditation and healing checkpoints between each stage to guide the complete transformation cycle.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/athanor在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Athanor
Ejecutar una transmutación alquímica de código o datos en cuatro etapas — descomponiendo la prima materia, purificando su esencia, iluminando su forma objetivo, y sintetizando la salida refinada. El athanor es el horno que mantiene calor constante a lo largo de todas las etapas.
Cuándo Usar
- Transformar código heredado en equivalentes modernos y bien estructurados
- Refactorizar módulos profundamente enredados donde las correcciones incrementales siguen fallando
- Convertir una base de código de un paradigma a otro (procedimental a funcional, monolito a modular)
- Procesar datos crudos y desordenados en conjuntos de datos analíticos limpios
- Cuando enfoques de refactorización más simples se han estancado y se necesita una transformación de ciclo completo
Entradas
- Requerido: El material a transformar (rutas de archivos, nombres de módulos o fuentes de datos)
- Requerido: El estado final deseado (arquitectura objetivo, paradigma o formato)
- Opcional: Restricciones conocidas (debe preservar API, no puede cambiar esquema de base de datos, etc.)
- Opcional: Intentos de transformación previos fallidos y por qué se estancaron
Procedimiento
Paso 1: Nigredo — Descomposición
Descomponer la prima materia en sus elementos constituyentes. Nada es sagrado; todo se cataloga.
- Inventariar el material completamente:
- Listar cada función, clase, módulo o entidad de datos
- Mapear todas las dependencias (importaciones, llamadas, flujos de datos)
- Identificar acoplamiento oculto (variables globales compartidas, estado implícito, efectos secundarios)
- Hacer explícitas las suposiciones ocultas:
- ¿En qué comportamientos no documentados se apoya el código?
- ¿Qué condiciones de error se tragan silenciosamente?
- ¿Qué dependencias de orden existen?
- Catalogar anti-patrones y deuda técnica:
- Objetos dios, dependencias circulares, duplicación de copiar y pegar
- Caminos de código muerto, ramas inalcanzables, características vestigiales
- Valores codificados en duro, números mágicos, configuración embebida
- Producir el Inventario Nigredo: un catálogo estructurado de cada elemento, dependencia, suposición y anti-patrón
Esperado: Un inventario completo e implacable del material. El inventario debe sentirse incómodo — si no lo hace, la descomposición no es suficientemente profunda. Cada suposición oculta es ahora explícita.
En caso de fallo: Si el material es demasiado grande para inventariar completamente, descomponer por límite de módulo y tratar cada módulo como una ejecución separada del athanor. Si las dependencias están demasiado enredadas para mapear, usar grep/Grep para rastrear los sitios de llamada reales en lugar de confiar en la documentación.
Paso 2: Meditate — Punto de control de calcinación
Ejecutar la habilidad meditate para limpiar las suposiciones acumuladas durante el nigredo.
- Dejar de lado el inventario nigredo y limpiar el contexto mental
- Anclarse en el objetivo de transformación declarado en las Entradas
- Observar qué sesgos introdujo el nigredo — ¿la descomposición hizo que ciertos enfoques parecieran inevitables?
- Etiquetar cualquier idea de solución prematura como "tangente" y volver al objetivo
Esperado: Un estado claro y sin sesgos listo para evaluar el material sin estar anclado a su forma actual. El objetivo se siente fresco en lugar de restringido por lo que se encontró.
En caso de fallo: Si los hallazgos del nigredo siguen atrayendo la atención (un anti-patrón particularmente malo, un hack ingenioso que es tentador preservar), escribirlo y dejarlo de lado explícitamente. Proceder solo cuando el objetivo sea más claro que la forma actual.
Paso 3: Albedo — Purificación
Separar lo esencial de lo accidental. Eliminar todo lo que no sirva a la forma objetivo.
- Del inventario nigredo, clasificar cada elemento:
- Esencial: Lógica de negocio central, algoritmos irremplazables, transformaciones de datos críticas
- Accidental: Boilerplate de framework, soluciones alternativas para bugs antiguos, shims de compatibilidad
- Tóxico: Anti-patrones, vulnerabilidades de seguridad, código muerto
- Extraer los elementos esenciales en aislamiento:
- Extraer la lógica central de los wrappers del framework
- Separar la transformación de datos de la E/S
- Extraer interfaces de las implementaciones
- Eliminar los elementos tóxicos completamente — documentar lo que se eliminó y por qué
- Para elementos accidentales, determinar si existen equivalentes en la forma objetivo
- Producir el Extracto Albedo: lógica esencial purificada con interfaces limpias
Esperado: Un conjunto de funciones/módulos puros y aislados que representan el valor central del material original. Cada pieza es testeable en aislamiento. El extracto es significativamente más pequeño que el original.
En caso de fallo: Si lo esencial y lo accidental están demasiado entrelazados para separar, introducir puntos de costura (interfaces) primero. Si el material resiste la purificación, puede necesitar dissolve-form antes de que el athanor pueda continuar.
Paso 4: Heal — Evaluación de purificación
Ejecutar la habilidad heal para evaluar si la purificación fue minuciosa.
- Triaje del extracto albedo: ¿algo todavía lleva residuo tóxico?
- Verificar desviación: ¿la purificación se desvió del objetivo de transformación original?
- Evaluar completitud: ¿todos los elementos esenciales están contabilizados, o algunos fueron descartados prematuramente?
- Reequilibrar si es necesario: restaurar cualquier elemento esencial que fue clasificado incorrectamente como accidental
Esperado: Confianza en que el extracto albedo está completo, limpio y listo para la iluminación. Ninguna lógica esencial se perdió; ningún patrón tóxico permanece.
En caso de fallo: Si la evaluación revela brechas significativas, volver al Paso 3 con las brechas específicas identificadas. No proceder al citrinitas con material incompleto.
Paso 5: Citrinitas — Iluminación
Ver la forma objetivo. Mapear los elementos purificados a su estructura óptima.
- Reconocimiento de patrones: identificar qué patrones de diseño sirven a los elementos purificados
- ¿El flujo de datos sugiere pipes/filters, event sourcing, CQRS?
- ¿Las interfaces sugieren strategy, adapter, facade?
- ¿La estructura de módulos sugiere hexagonal, por capas, micro-kernel?
- Diseñar la arquitectura objetivo:
- Mapear cada elemento esencial a su nueva ubicación
- Definir las interfaces entre componentes
- Especificar el flujo de datos a través de la nueva estructura
- Identificar lo que debe crearse nuevo (no tiene equivalente en el original):
- Nuevas abstracciones que unifican lógica duplicada
- Nuevas interfaces que reemplazan acoplamiento implícito
- Nuevo manejo de errores que reemplaza fallos silenciosos
- Producir el Plano Citrinitas: un mapeo completo del extracto albedo a la forma objetivo
Esperado: Un plano claro y detallado donde cada elemento esencial tiene un hogar y cada interfaz está definida. El plano debe sentirse inevitable — dados los elementos purificados, esta estructura es el ajuste natural.
En caso de fallo: Si múltiples arquitecturas válidas compiten, evaluar cada una contra las restricciones de las Entradas. Si no emerge un claro ganador, preferir la opción más simple y documentar las alternativas como opciones futuras.
Paso 6: Meditate — Punto de control pre-síntesis
Ejecutar la habilidad meditate para prepararse para la síntesis final.
- Limpiar el contexto analítico del citrinitas
- Anclarse en el plano citrinitas como guía de síntesis
- Observar cualquier ansiedad sobre la transformación — ¿se está apresurando algo?
- Confirmar preparación: el plano es claro, el material está purificado, las restricciones son conocidas
Esperado: Claridad tranquila sobre lo que necesita construirse. La fase de síntesis debe ser ejecución, no diseño.
En caso de fallo: Si la duda persiste sobre el plano, revisitar el Paso 5 con las preocupaciones específicas. Es mejor refinar el plano que comenzar la síntesis con incertidumbre.
Paso 7: Rubedo — Síntesis
Componer los elementos purificados en su forma objetivo. La piedra filosofal: código funcional y optimizado.
- Construir la nueva estructura siguiendo el plano citrinitas:
- Crear archivos, módulos e interfaces según lo especificado
- Migrar cada elemento esencial a su nueva ubicación
- Implementar nuevas abstracciones e interfaces
- Conectar los componentes:
- Conectar flujos de datos según el diseño
- Implementar propagación de errores a través de nuevos caminos
- Configurar inyección de dependencias o carga de módulos
- Verificar la síntesis:
- ¿Cada componente funciona en aislamiento? (pruebas unitarias)
- ¿Los componentes se componen correctamente? (pruebas de integración)
- ¿El sistema completo produce las mismas salidas que el original? (pruebas de regresión)
- Remover andamiaje:
- Eliminar shims de compatibilidad temporales
- Remover ayudas de migración
- Limpiar cualquier referencia restante a la estructura antigua
- Producir la Salida Rubedo: el código transmutado, completamente funcional en su nueva forma
Esperado: Código funcional que es mediblemente mejor que el original: menos líneas, estructura más clara, mejor cobertura de pruebas, menos dependencias. La transformación está completa y la forma antigua puede retirarse.
En caso de fallo: Si la síntesis revela brechas en el plano, no parchear — volver al Paso 5 (citrinitas) para revisar el diseño. Si componentes individuales fallan, aislarlos y corregirlos antes de intentar la integración completa. El rubedo no debe producir una quimera a medio transformar.
Validación
- El inventario nigredo está completo (todos los elementos, dependencias, suposiciones catalogadas)
- El punto de control meditate pasó entre nigredo/albedo (suposiciones limpiadas)
- El extracto albedo contiene solo elementos esenciales con interfaces limpias
- La evaluación heal confirma completitud de purificación
- El plano citrinitas mapea cada elemento esencial a la forma objetivo
- El punto de control meditate pasó entre citrinitas/rubedo (listo para síntesis)
- La salida rubedo pasa pruebas de regresión contra el comportamiento original
- La salida rubedo está mediblemente mejorada (complejidad, acoplamiento, cobertura de pruebas)
- Ningún elemento tóxico sobrevivió en la salida final
- Las restricciones de transformación de las Entradas se satisfacen
Errores Comunes
- Saltarse la profundidad del nigredo: Apurar la descomposición significa que el acoplamiento oculto surge durante la síntesis. Invertir completamente en el inventario
- Preservar complejidad accidental: Apego a soluciones alternativas ingeniosas o código "funciona, no lo toques". Si no es esencial, se va
- Saltarse los puntos de control meditate: El impulso cognitivo de una etapa sesga la siguiente. Las pausas son estructurales, no opcionales
- Síntesis sin plano: Comenzar a codificar antes de que el citrinitas esté completo produce remiendo, no transmutación
- Pruebas de regresión incompletas: El rubedo debe reproducir el comportamiento original. Los caminos no probados fallarán silenciosamente
- Expansión del alcance durante citrinitas: La fase de iluminación revela oportunidades de mejora más allá del objetivo original. Anotarlas pero no perseguirlas — el athanor sirve la transformación declarada, no un ideal hipotético
Habilidades Relacionadas
transmute— Transformación de menor peso para funciones individuales o módulos pequeñoschrysopoeia— Extracción y optimización de valor (convertir código base en oro)meditate— Limpieza meta-cognitiva usada como puntos de control entre etapasheal— Evaluación de subsistemas usada para validación de purificacióndissolve-form— Cuando el material es demasiado rígido para el athanor, disolver primeroadapt-architecture— Enfoque complementario para patrones de migración a nivel de sistemareview-software-architecture— Revisión de arquitectura post-síntesis
GitHub 仓库
相关推荐技能
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界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
