关于
The athanor skill systematically transforms complex legacy or tangled code into optimized, well-structured output through a four-stage alchemical process. It is designed for deep refactoring, paradigm conversions, or when incremental fixes have failed, requiring a complete transformation. The process includes checkpoints for analysis and correction between each stage.
快速安装
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
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 仓库
Frequently asked questions
What is the athanor skill?
athanor is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform athanor-related tasks without extra prompting.
How do I install athanor?
Use the install commands on this page: add athanor to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does athanor belong to?
athanor is in the Design category, tagged design.
Is athanor free to use?
Yes. athanor is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
