Back to Skills

athanor

pjt222
Updated 2 days ago
8 views
17
2
17
View on GitHub
Designdesign

About

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.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/athanor

Copy and paste this command in Claude Code to install this skill

Documentation

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.

  1. 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)
  2. 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?
  3. 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
  4. 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.

  1. Dejar de lado el inventario nigredo y limpiar el contexto mental
  2. Anclarse en el objetivo de transformación declarado en las Entradas
  3. Observar qué sesgos introdujo el nigredo — ¿la descomposición hizo que ciertos enfoques parecieran inevitables?
  4. 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.

  1. 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
  2. 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
  3. Eliminar los elementos tóxicos completamente — documentar lo que se eliminó y por qué
  4. Para elementos accidentales, determinar si existen equivalentes en la forma objetivo
  5. 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.

  1. Triaje del extracto albedo: ¿algo todavía lleva residuo tóxico?
  2. Verificar desviación: ¿la purificación se desvió del objetivo de transformación original?
  3. Evaluar completitud: ¿todos los elementos esenciales están contabilizados, o algunos fueron descartados prematuramente?
  4. 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.

  1. 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?
  2. 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
  3. 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
  4. 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.

  1. Limpiar el contexto analítico del citrinitas
  2. Anclarse en el plano citrinitas como guía de síntesis
  3. Observar cualquier ansiedad sobre la transformación — ¿se está apresurando algo?
  4. 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.

  1. 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
  2. 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
  3. 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)
  4. Remover andamiaje:
    • Eliminar shims de compatibilidad temporales
    • Remover ayudas de migración
    • Limpiar cualquier referencia restante a la estructura antigua
  5. 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ños
  • chrysopoeia — Extracción y optimización de valor (convertir código base en oro)
  • meditate — Limpieza meta-cognitiva usada como puntos de control entre etapas
  • heal — Evaluación de subsistemas usada para validación de purificación
  • dissolve-form — Cuando el material es demasiado rígido para el athanor, disolver primero
  • adapt-architecture — Enfoque complementario para patrones de migración a nivel de sistema
  • review-software-architecture — Revisión de arquitectura post-síntesis

GitHub Repository

pjt222/agent-almanac
Path: i18n/es/skills/athanor
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

requesting-code-review

Design

This skill dispatches a code-reviewer subagent to analyze code changes against requirements before proceeding. It should be used after completing tasks, implementing major features, or before merging to main. The review helps catch issues early by comparing the current implementation with the original plan.

View skill

connect-mcp-server

Design

This skill provides a comprehensive guide for developers to connect MCP servers to Claude Code using HTTP, stdio, or SSE transports. It covers installation, configuration, authentication, and security for integrating external services like GitHub, Notion, and custom APIs. Use it when setting up MCP integrations, configuring external tools, or working with Claude's Model Context Protocol.

View skill

web-cli-teleport

Design

This skill helps developers choose between Claude Code Web and CLI interfaces based on task analysis, then enables seamless session teleportation between these environments. It optimizes workflow by managing session state and context when switching between web, CLI, or mobile. Use it for complex projects requiring different tools at various stages.

View skill