chrysopoeia
Acerca de
Chrysopoeia es una habilidad para refinar y optimizar bases de código existentes y funcionales, con el fin de extraer el máximo valor. Se centra en la optimización del rendimiento, el refinamiento de la superficie de la API y la eliminación de elementos superfluos para pulir el código sin necesidad de una reescritura completa. Úsala cuando necesites optimizar una base de código lenta, reducir el tamaño del paquete o preparar código para su lanzamiento como código abierto.
Instalación rápida
Claude Code
Recomendadonpx 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/chrysopoeiaCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Chrysopoeia
Systematisch maximalen Wert aus vorhandenem Code extrahieren — identifizieren was Gold ist (hochwertig, gut entworfen), was Blei ist (ressourcenlastig, schlecht optimiert) und was Schlacke ist (toter Ballast). Dann das Gold verstaerken, das Blei transmutieren und die Schlacke entfernen.
Wann verwenden
- Optimieren einer funktionierenden aber traegen Codebasis fuer Performance
- Verfeinern einer API-Oberflaeche die ueber Iterationen Krusten angesammelt hat
- Reduzieren von Bundle-Groesse, Speicherverbrauch oder Startzeit
- Vorbereiten von Code fuer Open-Source-Veroeffentlichung (den wertvollen Kern extrahieren)
- Wenn Code korrekt funktioniert aber nicht glaenzt — er braucht Politur, keinen Neubau
Eingaben
- Erforderlich: Zu optimierende Codebasis oder Modul (Dateipfade)
- Erforderlich: Wertmetrik (Performance, API-Klarheit, Bundle-Groesse, Lesbarkeit)
- Optional: Profiling-Daten oder Benchmarks die aktuelle Performance zeigen
- Optional: Budget oder Ziel (z.B. "Bundle um 40% reduzieren", "unter 100ms Antwortzeit")
- Optional: Einschraenkungen (oeffentliche API nicht aenderbar, Rueckwaertskompatibilitaet wahren)
Vorgehensweise
Schritt 1: Probieren — Das Material klassifizieren
Jedes Element systematisch nach seinem Wertbeitrag klassifizieren.
- Die Wertmetrik aus den Eingaben definieren (Performance, Klarheit, Groesse usw.)
- Die Codebasis-Elemente inventarisieren (Funktionen, Module, Exporte, Abhaengigkeiten)
- Jedes Element klassifizieren:
Wertklassifikation:
+--------+---------------------------------------------------------+
| Gold | Hoher Wert, gut entworfen. Verstaerken und schuetzen. |
| Silber | Guter Wert, kleine Makel. Polieren. |
| Blei | Funktional aber schwer — schlechte Performance, |
| | komplexe API. In etwas Leichteres transmutieren. |
| Schlacke| Toter Code, ungenutzte Exporte, vestigiale Funktionen. |
| | Vollstaendig entfernen. |
+--------+---------------------------------------------------------+
- Fuer Performanceoptimierung zuerst profilen:
- Heisse Pfade identifizieren (wo Zeit verbracht wird)
- Kalte Pfade identifizieren (selten ausgefuehrter Code der Schlacke sein koennte)
- Speicherzuweisungsmuster messen
- Den Probierbericht erstellen: Element-fuer-Element-Klassifikation mit Belegen
Erwartet: Jedes signifikante Element mit Belegen klassifiziert. Gold-Elemente sind zum Schutz waehrend der Optimierung identifiziert. Blei-Elemente sind nach Auswirkung priorisiert.
Bei Fehler: Wenn Profiling-Werkzeuge nicht verfuegbar sind, statische Analyse verwenden: Funktionskomplexitaet (zyklomatisch), Abhaengigkeitsanzahl und Codegroesse als Naeherungswerte. Wenn die Codebasis zu gross ist, sich zuerst auf den kritischen Pfad konzentrieren.
Schritt 2: Veredeln — Das Gold verstaerken
Die hochwertigsten Elemente schuetzen und verbessern.
- Fuer jedes Gold-Element:
- Sicherstellen dass es umfassende Tests hat (das sind die wertvollsten Vermoegenswerte)
- Seine Schnittstelle klar dokumentieren falls noch nicht geschehen
- Erwaegen ob es als wiederverwendbares Modul extrahiert werden koennte
- Fuer jedes Silber-Element:
- Gezielte Verbesserungen anwenden (bessere Benennung, klarere Typen, kleine Optimierungen)
- Testabdeckung auf Gold-Niveau bringen
- Kleine Code-Gerueche beheben ohne umzustrukturieren
- Gold/Silber-Verhalten nicht aendern — nur Politur und Schutz verbessern
Erwartet: Gold- und Silber-Elemente sind besser getestet, dokumentiert und geschuetzt. Keine Verhaltensaenderungen, nur Qualitaetsverbesserungen.
Bei Fehler: Wenn ein "Gold"-Element bei naeherem Hinsehen verborgene Probleme offenbart, es umklassifizieren. Besser ehrlich ueber den Wert sein als fehlerhaften Code zu schuetzen.
Schritt 3: Transmutieren — Blei in Gold umwandeln
Schwere, ineffiziente Elemente in optimierte Aequivalente transformieren.
- Blei-Elemente nach Auswirkung priorisieren (hoechster Ressourcenverbrauch zuerst)
- Fuer jedes Blei-Element eine Transmutationsstrategie waehlen:
- Algorithmusoptimierung: O(n^2) durch O(n log n) ersetzen, redundante Berechnung eliminieren
- Caching/Memoisierung: Teure Ergebnisse speichern die wiederholt angefordert werden
- Faule Auswertung: Berechnung aufschieben bis Ergebnisse tatsaechlich gebraucht werden
- Stapelverarbeitung: Viele kleine Operationen in weniger grosse zusammenfassen
- Strukturelle Vereinfachung: Zyklomatische Komplexitaet reduzieren, tiefe Verschachtelung abflachen
- Die Strategie anwenden und die Verbesserung messen:
- Vorher/Nachher-Benchmarks fuer Performanceaenderungen
- Vorher/Nachher-Zeilenzahlen fuer Komplexitaetsaenderungen
- Vorher/Nachher-Abhaengigkeitszahlen fuer Kopplungsaenderungen
- Verhaltensaequivalenz nach jeder Transmutation verifizieren
Erwartet: Messbare Verbesserung der Zielwertmetrik. Jedes transmutierte Element leistet mehr als sein Blei-Vorgaenger bei Beibehaltung identischen Verhaltens.
Bei Fehler: Wenn ein Blei-Element sich innerhalb seiner aktuellen Schnittstelle der Optimierung widersetzt, erwaegen ob die Schnittstelle selbst das Problem ist. Manchmal erfordert die Transmutation eine Aenderung darin wie das Element aufgerufen wird, nicht nur wie es implementiert ist.
Schritt 4: Reinigen — Die Schlacke entfernen
Ballast systematisch beseitigen.
- Fuer jedes Schlacke-Element verifizieren dass es tatsaechlich ungenutzt ist:
- Alle Referenzen suchen (grep, IDE-Verwendungssuche)
- Auf dynamische Referenzen pruefen (zeichenkettenbasierter Dispatch, Reflection)
- Auf externe Konsumenten pruefen (wenn der Code eine Bibliothek ist)
- Bestaetigte Schlacke entfernen:
- Toten Code, ungenutzte Exporte, vestigiale Funktionen loeschen
- Ungenutzte Abhaengigkeiten aus Paketmanifesten entfernen
- Konfiguration fuer entfernte Funktionen bereinigen
- Nach jeder Entfernung verifizieren dass nichts kaputt geht (Tests ausfuehren)
- Dokumentieren was entfernt wurde und warum (in Commit-Nachrichten, nicht im Code)
Erwartet: Die Codebasis ist leichter. Bundle-Groesse, Abhaengigkeitsanzahl oder Codevolumen messbar reduziert. Alle Tests bestehen weiterhin.
Bei Fehler: Wenn das Entfernen eines Elements etwas kaputt macht, war es keine Schlacke — umklassifizieren. Wenn dynamische Referenzen die Nutzungsverifikation erschweren, temporaeres Logging vor dem Loeschen hinzufuegen um keinen Laufzeitzugriff zu bestaetigen.
Schritt 5: Verifizieren — Das Gold wiegen
Die Gesamtverbesserung messen.
- Dieselben Benchmarks/Metriken wie in Schritt 1 ausfuehren
- Vorher/Nachher der Zielwertmetrik vergleichen
- Die Chrysopoeia-Ergebnisse dokumentieren:
- Veredelte Elemente (Gold/Silber-Verbesserungen)
- Transmutierte Elemente (Blei -> Gold-Konvertierungen mit Messungen)
- Gereinigte Elemente (entfernte Schlacke mit Groessen-/Mengenauswirkung)
- Gesamtmetrische Verbesserung (z.B. "47% schneller", "32% kleineres Bundle")
Erwartet: Messbare, dokumentierte Verbesserung der Zielwertmetrik. Die Codebasis ist nachweislich wertvoller als zuvor.
Bei Fehler: Wenn die Gesamtverbesserung geringfuegig ist, war der urspruengliche Code moeglicherweise besser als angenommen. Dokumentieren was gelernt wurde — zu wissen dass Code bereits nahezu optimal ist, ist selbst wertvoll.
Validierung
- Probierbericht klassifiziert alle signifikanten Elemente mit Belegen
- Gold-Elemente haben umfassende Tests und Dokumentation
- Blei-Transmutationen zeigen messbare Vorher/Nachher-Verbesserung
- Schlacke-Entfernung mit Referenzpruefungen vor dem Loeschen verifiziert
- Alle Tests bestehen nach jeder Phase
- Gesamtverbesserung gemessen und dokumentiert
- Keine Verhaltensregressionen eingefuehrt
- Einschraenkungen aus den Eingaben sind erfuellt
Haeufige Stolperfallen
- Vorzeitige Optimierung: Optimieren ohne Profiling. Immer zuerst messen, die heissen Pfade optimieren
- Schlacke polieren: Aufwand in die Verbesserung von Code stecken der geloescht werden sollte. Klassifizieren vor dem Veredeln
- Gold brechen: Optimierung die den besten Code verschlechtert. Gold-Elemente sollten nur besser werden, nie schlechter
- Unbelegte Behauptungen: "Es fuehlt sich schneller an" ist keine Chrysopoeia. Jede Verbesserung muss quantifiziert werden
- Kalte Pfade optimieren: Aufwand in Code stecken der einmal beim Start laeuft waehrend der Engpass die Anfrageschleife ist
Verwandte Skills
athanor— Vollstaendige vierstufige Transformation wenn Chrysopoeia aufdeckt dass der Code Umstrukturierung braucht, nicht nur Optimierungtransmute— Gezielte Konvertierung wenn ein Blei-Element einen Paradigmenwechsel brauchtreview-software-architecture— Bewertung auf Architekturebene die Chrysopoeia auf Codeebene ergaenztreview-data-analysis— Optimierung von Datenpipelines parallel zu Codeoptimierung
Repositorio GitHub
Habilidades relacionadas
qmd
Desarrolloqmd es una herramienta CLI de búsqueda e indexación local que permite a los desarrolladores indexar y buscar en archivos locales mediante búsqueda híbrida que combina BM25, embeddings vectoriales y reranking. Es compatible tanto con uso desde la línea de comandos como con modo MCP (Model Context Protocol) para integración con Claude. La herramienta utiliza Ollama para los embeddings y almacena los índices localmente, lo que la hace ideal para buscar documentación o bases de código directamente desde la terminal.
subagent-driven-development
DesarrolloEsta habilidad ejecuta planes de implementación asignando un nuevo subagente para cada tarea independiente, con revisión de código entre tareas. Permite una iteración rápida mientras mantiene controles de calidad a través de este proceso de revisión. Úsala cuando trabajes en tareas mayormente independientes dentro de la misma sesión para garantizar un progreso continuo con verificaciones de calidad integradas.
mcporter
DesarrolloLa habilidad mcporter permite a los desarrolladores gestionar y llamar servidores del Protocolo de Contexto de Modelo (MCP) directamente desde Claude. Proporciona comandos para listar servidores disponibles, llamar a sus herramientas con argumentos, y manejar la autenticación y el ciclo de vida del daemon. Utiliza esta habilidad para integrar y probar la funcionalidad de servidores MCP en tu flujo de trabajo de desarrollo.
adk-deployment-specialist
DesarrolloEsta habilidad despliega y orquesta agentes Vertex AI ADK utilizando el protocolo A2A, gestionando el descubrimiento de AgentCard, el envío de tareas y soportando herramientas como el Sandbox de Ejecución de Código y el Banco de Memoria. Permite construir sistemas multiagente con patrones de orquestación secuencial, paralela o en bucle en Python, Java o Go. Úsela cuando se le solicite desplegar agentes ADK u orquestar flujos de trabajo de agentes en Google Cloud.
