athanor
정보
아타노르 스킬은 네 단계의 연금술적 리팩토링(니그레도, 알베도, 키트리니타스, 루베도)을 수행하여 복잡하게 얽히거나 레거시 코드를 체계적으로 최적화되고 구조화된 결과물로 변환합니다. 이 스킬은 레거시 시스템 현대화, 심층적으로 얽힌 모듈 리팩토링, 점진적 수정이 실패한 패러다임 간 코드베이스 변환과 같은 복잡한 시나리오를 위해 설계되었습니다. 이 과정에는 각 단계 사이에 명상과 치유 체크포인트가 포함되어 완전한 변환 주기를 안내합니다.
빠른 설치
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/athanorClaude 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
디자인executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.
requesting-code-review
디자인이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.
connect-mcp-server
디자인이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.
web-cli-teleport
디자인이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.
