返回技能列表

athanor

pjt222
更新于 2 days ago
6 次查看
17
2
17
在 GitHub 上查看
设计design

关于

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-almanac
Git 克隆备选方式
git 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.

  1. 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)
  2. Versteckte Annahmen aufdecken:
    • Auf welche undokumentierten Verhaltensweisen stuetzt sich der Code?
    • Welche Fehlerbedingungen werden stillschweigend geschluckt?
    • Welche Reihenfolge-Abhaengigkeiten bestehen?
  3. 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
  4. 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.

  1. Das Nigredo-Inventar beiseitelegen und den mentalen Kontext klaeren
  2. Auf das in den Eingaben genannte Transformationsziel verankern
  3. Beobachten, welche Verzerrungen das Nigredo eingefuehrt hat — hat die Zersetzung bestimmte Ansaetze unvermeidlich erscheinen lassen?
  4. 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.

  1. 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
  2. Die wesentlichen Elemente isoliert extrahieren:
    • Kernlogik aus Framework-Wrappern herausloesen
    • Datentransformation von I/O trennen
    • Schnittstellen von Implementierungen extrahieren
  3. Toxische Elemente vollstaendig entfernen — dokumentieren, was entfernt wurde und warum
  4. Fuer zufaellige Elemente feststellen, ob Aequivalente in der Zielform existieren
  5. 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.

  1. Das Albedo-Extrakt sichten: traegt irgendetwas noch toxische Rueckstaende?
  2. Auf Abdrift pruefen: ist die Reinigung vom urspruenglichen Transformationsziel abgewichen?
  3. Vollstaendigkeit bewerten: sind alle wesentlichen Elemente erfasst, oder wurden einige voreilig verworfen?
  4. 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.

  1. 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?
  2. Die Zielarchitektur entwerfen:
    • Jedes wesentliche Element auf seinen neuen Platz abbilden
    • Die Schnittstellen zwischen Komponenten definieren
    • Den Datenfluss durch die neue Struktur spezifizieren
  3. 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
  4. 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.

  1. Den analytischen Kontext der Citrinitas klaeren
  2. Auf den Citrinitas-Bauplan als Syntheseleitfaden verankern
  3. Eventuelle Angst vor der Transformation beobachten — wird irgendetwas ueberhastet?
  4. 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.

  1. 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
  2. Die Komponenten verbinden:
    • Datenfluesse wie entworfen anschliessen
    • Fehlerweiterleitung durch neue Pfade implementieren
    • Dependency Injection oder Modulladung konfigurieren
  3. 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)
  4. Gerueste entfernen:
    • Temporaere Kompatibilitaets-Shims loeschen
    • Migrationshilfen entfernen
    • Verbleibende Referenzen auf die alte Struktur bereinigen
  5. 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 Module
  • chrysopoeia — Wertextraktion und Optimierung (aus Basis-Code Gold machen)
  • meditate — Metakognitive Klaerung als Stufentor-Pruefpunkte verwendet
  • heal — Subsystem-Bewertung fuer die Reinigungsvalidierung verwendet
  • dissolve-form — Wenn Material zu starr fuer den Athanor ist, zuerst aufloesen
  • adapt-architecture — Komplementaerer Ansatz fuer Migrationsmuster auf Systemebene
  • review-software-architecture — Architekturpruefung nach der Synthese

GitHub 仓库

pjt222/agent-almanac
路径: i18n/de/skills/athanor
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

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界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。

查看技能