athanor
정보
아타노르 스킬은 4단계 연금술적 과정을 통해 복잡한 레거시 코드나 뒤얽힌 코드를 체계적으로 최적화되고 구조화된 결과물로 변환합니다. 이 스킬은 점진적인 수정이 실패하여 완전한 변환이 필요한 경우, 심층 리팩토링이나 패러다임 전환을 위해 설계되었습니다. 각 단계 사이에는 분석과 수정을 위한 검증 지점이 포함되어 있습니다.
빠른 설치
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
Eine vierstufige alchemistische Transmutation von Code oder Daten ausfuehren — die Prima Materia zersetzen, ihre Essenz reinigen, ihre Zielform erleuchten und die verfeinerte Ausgabe synthetisieren. Der Athanor ist der Ofen, der gleichmaessige Hitze ueber alle Stufen aufrechterhaelt.
Wann verwenden
- Legacy-Code in moderne, gut strukturierte Aequivalente transformieren
- Tief verwickelte Module refactoren, bei denen inkrementelle Korrekturen immer wieder scheitern
- Eine Codebasis von einem Paradigma in ein anderes konvertieren (prozedural zu funktional, Monolith zu modular)
- Rohe, unordentliche Daten in saubere analytische Datensaetze verarbeiten
- Wenn einfachere Refactoring-Ansaetze stagniert sind und eine vollstaendige Transformation noetig ist
Eingaben
- Erforderlich: Das zu transformierende Material (Dateipfade, Modulnamen oder Datenquellen)
- Erforderlich: Der gewuenschte Endzustand (Zielarchitektur, Paradigma oder Format)
- Optional: Bekannte Einschraenkungen (API muss erhalten bleiben, Datenbankschema darf nicht geaendert werden usw.)
- Optional: Fruehere fehlgeschlagene Transformationsversuche und warum sie stagniert sind
Vorgehensweise
Schritt 1: Nigredo — Zersetzung
Die Prima Materia in ihre Bestandteile zerlegen. Nichts ist heilig; alles wird katalogisiert.
- Das Material vollstaendig inventarisieren:
- Jede Funktion, Klasse, jedes Modul oder jede Datenentitaet auflisten
- Alle Abhaengigkeiten kartieren (Imports, Aufrufe, Datenfluesse)
- Versteckte Kopplung identifizieren (geteilte Globale, impliziter Zustand, Seiteneffekte)
- Versteckte Annahmen aufdecken:
- Auf welche undokumentierten Verhaltensweisen stuetzt sich der Code?
- Welche Fehlerbedingungen werden stillschweigend geschluckt?
- Welche Reihenfolge-Abhaengigkeiten bestehen?
- Anti-Muster und technische Schulden katalogisieren:
- God Objects, zirkulaere Abhaengigkeiten, Copy-Paste-Duplikation
- Toter Code, unerreichbare Zweige, rudimentaere Features
- Hartcodierte Werte, magische Zahlen, eingebettete Konfiguration
- Das Nigredo-Inventar erstellen: einen strukturierten Katalog aller Elemente, Abhaengigkeiten, Annahmen und Anti-Muster
Erwartet: Ein vollstaendiges, schonungsloses Inventar des Materials. Das Inventar sollte sich unbequem anfuehlen — wenn nicht, ist die Zersetzung nicht gruendlich genug. Jede versteckte Annahme ist jetzt explizit.
Bei Fehler: Wenn das Material zu gross fuer eine vollstaendige Inventarisierung ist, nach Modulgrenzen zersetzen und jedes Modul als separaten Athanor-Durchlauf behandeln. Wenn Abhaengigkeiten zu verwickelt zum Kartieren sind, grep/Grep verwenden, um tatsaechliche Aufrufstellen zu verfolgen, anstatt sich auf Dokumentation zu verlassen.
Schritt 2: Meditate — Kalzinations-Pruefpunkt
Den meditate-Skill ausfuehren, um waehrend des Nigredo angesammelte Annahmen zu klaeren.
- Das Nigredo-Inventar beiseitelegen und den mentalen Kontext klaeren
- Auf das in den Eingaben genannte Transformationsziel verankern
- Beobachten, welche Verzerrungen das Nigredo eingefuehrt hat — hat die Zersetzung bestimmte Ansaetze unvermeidlich erscheinen lassen?
- Vorzeitige Loesungsideen als "Tangente" kennzeichnen und zum Ziel zurueckkehren
Erwartet: Ein klarer, unvoreingenommener Zustand, bereit das Material zu bewerten, ohne an seine aktuelle Form gebunden zu sein. Das Ziel fuehlt sich frisch an, nicht durch die Befunde eingeschraenkt.
Bei Fehler: Wenn die Nigredo-Befunde die Aufmerksamkeit staendig anziehen (ein besonders schlimmes Anti-Muster, ein cleverer Hack, den man gerne behalten moechte), aufschreiben und explizit beiseitelegen. Erst fortfahren, wenn das Ziel klarer ist als die aktuelle Form.
Schritt 3: Albedo — Reinigung
Das Wesentliche vom Zufaelligen trennen. Alles entfernen, was der Zielform nicht dient.
- Aus dem Nigredo-Inventar jedes Element klassifizieren:
- Wesentlich: Kern-Geschaeftslogik, unersetzliche Algorithmen, kritische Datentransformationen
- Zufaellig: Framework-Boilerplate, Workarounds fuer alte Bugs, Kompatibilitaets-Shims
- Toxisch: Anti-Muster, Sicherheitsluecken, toter Code
- Die wesentlichen Elemente isoliert extrahieren:
- Kernlogik aus Framework-Wrappern herausloesen
- Datentransformation von I/O trennen
- Schnittstellen von Implementierungen extrahieren
- Toxische Elemente vollstaendig entfernen — dokumentieren, was entfernt wurde und warum
- Fuer zufaellige Elemente feststellen, ob Aequivalente in der Zielform existieren
- Das Albedo-Extrakt erstellen: gereinigte wesentliche Logik mit sauberen Schnittstellen
Erwartet: Ein Satz reiner, isolierter Funktionen/Module, die den Kernwert des Originalmaterials darstellen. Jedes Stueck ist isoliert testbar. Das Extrakt ist deutlich kleiner als das Original.
Bei Fehler: Wenn Wesentliches und Zufaelliges zu verflochten sind, um sie zu trennen, zuerst Nahtstellen (Schnittstellen) einfuehren. Wenn das Material sich der Reinigung widersetzt, muss moeglicherweise dissolve-form vor dem Athanor angewendet werden.
Schritt 4: Heal — Reinigungsbewertung
Den heal-Skill ausfuehren, um zu bewerten, ob die Reinigung gruendlich war.
- Das Albedo-Extrakt sichten: traegt irgendetwas noch toxische Rueckstaende?
- Auf Abdrift pruefen: ist die Reinigung vom urspruenglichen Transformationsziel abgewichen?
- Vollstaendigkeit bewerten: sind alle wesentlichen Elemente erfasst, oder wurden einige voreilig verworfen?
- Bei Bedarf neu ausbalancieren: wesentliche Elemente wiederherstellen, die faelschlicherweise als zufaellig klassifiziert wurden
Erwartet: Vertrauen, dass das Albedo-Extrakt vollstaendig, sauber und bereit fuer die Erleuchtung ist. Keine wesentliche Logik wurde verloren; keine toxischen Muster verbleiben.
Bei Fehler: Wenn die Bewertung erhebliche Luecken aufdeckt, zu Schritt 3 mit den spezifisch identifizierten Luecken zurueckkehren. Nicht zur Citrinitas fortschreiten mit unvollstaendigem Material.
Schritt 5: Citrinitas — Erleuchtung
Die Zielform sehen. Die gereinigten Elemente auf ihre optimale Struktur abbilden.
- Mustererkennung: identifizieren, welche Entwurfsmuster den gereinigten Elementen dienen
- Legt der Datenfluss Pipes/Filter, Event Sourcing, CQRS nahe?
- Legen die Schnittstellen Strategy, Adapter, Facade nahe?
- Legt die Modulstruktur hexagonal, geschichtet, Mikro-Kernel nahe?
- Die Zielarchitektur entwerfen:
- Jedes wesentliche Element auf seinen neuen Platz abbilden
- Die Schnittstellen zwischen Komponenten definieren
- Den Datenfluss durch die neue Struktur spezifizieren
- Identifizieren, was neu erstellt werden muss (hat kein Aequivalent im Original):
- Neue Abstraktionen, die duplizierte Logik vereinheitlichen
- Neue Schnittstellen, die implizite Kopplung ersetzen
- Neue Fehlerbehandlung, die stille Fehler ersetzt
- Den Citrinitas-Bauplan erstellen: eine vollstaendige Abbildung vom Albedo-Extrakt zur Zielform
Erwartet: Ein klarer, detaillierter Bauplan, in dem jedes wesentliche Element eine Heimat hat und jede Schnittstelle definiert ist. Der Bauplan sollte sich unvermeidlich anfuehlen — angesichts der gereinigten Elemente ist diese Struktur die natuerliche Passung.
Bei Fehler: Wenn mehrere gueltige Architekturen konkurrieren, jede gegen die Einschraenkungen aus den Eingaben bewerten. Wenn kein klarer Sieger hervorgeht, die einfachste Option bevorzugen und die Alternativen als zukuenftige Optionen dokumentieren.
Schritt 6: Meditate — Vorsynthese-Pruefpunkt
Den meditate-Skill ausfuehren, um sich auf die abschliessende Synthese vorzubereiten.
- Den analytischen Kontext der Citrinitas klaeren
- Auf den Citrinitas-Bauplan als Syntheseleitfaden verankern
- Eventuelle Angst vor der Transformation beobachten — wird irgendetwas ueberhastet?
- Bereitschaft bestaetigen: der Bauplan ist klar, das Material gereinigt, die Einschraenkungen bekannt
Erwartet: Ruhige Klarheit darueber, was gebaut werden muss. Die Synthesephase sollte Ausfuehrung sein, nicht Entwurf.
Bei Fehler: Wenn Zweifel am Bauplan bestehen bleiben, Schritt 5 mit den spezifischen Bedenken erneut besuchen. Besser den Bauplan verfeinern als die Synthese mit Unsicherheit beginnen.
Schritt 7: Rubedo — Synthese
Die gereinigten Elemente zu ihrer Zielform zusammensetzen. Der Stein der Weisen: funktionierender, optimierter Code.
- Die neue Struktur nach dem Citrinitas-Bauplan aufbauen:
- Dateien, Module und Schnittstellen wie spezifiziert erstellen
- Jedes wesentliche Element an seinen neuen Platz migrieren
- Neue Abstraktionen und Schnittstellen implementieren
- Die Komponenten verbinden:
- Datenfluesse wie entworfen anschliessen
- Fehlerweiterleitung durch neue Pfade implementieren
- Dependency Injection oder Modulladung konfigurieren
- Die Synthese verifizieren:
- Funktioniert jede Komponente isoliert? (Unit-Tests)
- Setzen sich die Komponenten korrekt zusammen? (Integrationstests)
- Erzeugt das Gesamtsystem die gleichen Ausgaben wie das Original? (Regressionstests)
- Gerueste entfernen:
- Temporaere Kompatibilitaets-Shims loeschen
- Migrationshilfen entfernen
- Verbleibende Referenzen auf die alte Struktur bereinigen
- Die Rubedo-Ausgabe erstellen: den transmutierten Code, voll funktionsfaehig in seiner neuen Form
Erwartet: Funktionierender Code, der messbar besser als das Original ist: weniger Zeilen, klarere Struktur, bessere Testabdeckung, weniger Abhaengigkeiten. Die Transformation ist abgeschlossen und die alte Form kann in den Ruhestand versetzt werden.
Bei Fehler: Wenn die Synthese Luecken im Bauplan aufdeckt, nicht flicken — zu Schritt 5 (Citrinitas) zurueckkehren, um den Entwurf zu ueberarbeiten. Wenn einzelne Komponenten scheitern, sie isolieren und reparieren, bevor die vollstaendige Integration versucht wird. Das Rubedo darf keine halb-transformierte Chimaere erzeugen.
Validierung
- Nigredo-Inventar ist vollstaendig (alle Elemente, Abhaengigkeiten, Annahmen katalogisiert)
- Meditate-Pruefpunkt zwischen Nigredo/Albedo bestanden (Annahmen geklaert)
- Albedo-Extrakt enthaelt nur wesentliche Elemente mit sauberen Schnittstellen
- Heal-Bewertung bestaetigt Reinigungsvollstaendigkeit
- Citrinitas-Bauplan bildet jedes wesentliche Element auf die Zielform ab
- Meditate-Pruefpunkt zwischen Citrinitas/Rubedo bestanden (bereit zur Synthese)
- Rubedo-Ausgabe besteht Regressionstests gegen das Originalverhalten
- Rubedo-Ausgabe ist messbar verbessert (Komplexitaet, Kopplung, Testabdeckung)
- Keine toxischen Elemente haben die endgueltige Ausgabe ueberlebt
- Transformationseinschraenkungen aus den Eingaben sind erfuellt
Haeufige Stolperfallen
- Nigredo-Tiefe ueberspringen: Hastige Zersetzung bedeutet, dass versteckte Kopplung waehrend der Synthese auftaucht. Vollstaendig in das Inventar investieren
- Zufaellige Komplexitaet bewahren: Bindung an clevere Workarounds oder "funktioniert doch, nicht anfassen"-Code. Wenn es nicht wesentlich ist, muss es weg
- Meditate-Pruefpunkte ueberspringen: Kognitive Traegheit von einer Stufe verzerrt die naechste. Die Pausen sind strukturell, nicht optional
- Bauplanlose Synthese: Mit dem Coden beginnen, bevor Citrinitas abgeschlossen ist, erzeugt Flickwerk, keine Transmutation
- Unvollstaendige Regressionstests: Das Rubedo muss das Originalverhalten reproduzieren. Ungetestete Pfade werden lautlos brechen
- Scope-Creep waehrend Citrinitas: Die Erleuchtungsphase enthuellt Verbesserungsmoeglichkeiten jenseits des urspruenglichen Ziels. Notieren aber nicht verfolgen — der Athanor dient der angegebenen Transformation, nicht einem hypothetischen Ideal
Verwandte Skills
transmute— Leichtgewichtigere Transformation fuer einzelne Funktionen oder kleine Modulechrysopoeia— Wertextraktion und Optimierung (aus Basis-Code Gold machen)meditate— Metakognitive Klaerung als Stufentor-Pruefpunkte verwendetheal— Subsystem-Bewertung fuer die Reinigungsvalidierung verwendetdissolve-form— Wenn Material zu starr fuer den Athanor ist, zuerst aufloesenadapt-architecture— Komplementaerer Ansatz fuer Migrationsmuster auf Systemebenereview-software-architecture— Architekturpruefung nach der Synthese
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 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.
