返回技能列表

chrysopoeia

pjt222
更新于 2 days ago
3 次查看
17
2
17
在 GitHub 上查看
开发api

关于

Chrysopoeia is a skill for refining and optimizing existing, functional codebases to extract maximum value. It focuses on performance tuning, API surface refinement, and removing bloat to polish code without a full rewrite. Use it when you need to optimize a sluggish codebase, reduce bundle size, or prepare code for open-source release.

快速安装

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/chrysopoeia

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

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.

  1. Die Wertmetrik aus den Eingaben definieren (Performance, Klarheit, Groesse usw.)
  2. Die Codebasis-Elemente inventarisieren (Funktionen, Module, Exporte, Abhaengigkeiten)
  3. 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.                                  |
+--------+---------------------------------------------------------+
  1. Fuer Performanceoptimierung zuerst profilen:
    • Heisse Pfade identifizieren (wo Zeit verbracht wird)
    • Kalte Pfade identifizieren (selten ausgefuehrter Code der Schlacke sein koennte)
    • Speicherzuweisungsmuster messen
  2. 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.

  1. 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
  2. Fuer jedes Silber-Element:
    • Gezielte Verbesserungen anwenden (bessere Benennung, klarere Typen, kleine Optimierungen)
    • Testabdeckung auf Gold-Niveau bringen
    • Kleine Code-Gerueche beheben ohne umzustrukturieren
  3. 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.

  1. Blei-Elemente nach Auswirkung priorisieren (hoechster Ressourcenverbrauch zuerst)
  2. 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
  3. Die Strategie anwenden und die Verbesserung messen:
    • Vorher/Nachher-Benchmarks fuer Performanceaenderungen
    • Vorher/Nachher-Zeilenzahlen fuer Komplexitaetsaenderungen
    • Vorher/Nachher-Abhaengigkeitszahlen fuer Kopplungsaenderungen
  4. 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.

  1. 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)
  2. Bestaetigte Schlacke entfernen:
    • Toten Code, ungenutzte Exporte, vestigiale Funktionen loeschen
    • Ungenutzte Abhaengigkeiten aus Paketmanifesten entfernen
    • Konfiguration fuer entfernte Funktionen bereinigen
  3. Nach jeder Entfernung verifizieren dass nichts kaputt geht (Tests ausfuehren)
  4. 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.

  1. Dieselben Benchmarks/Metriken wie in Schritt 1 ausfuehren
  2. Vorher/Nachher der Zielwertmetrik vergleichen
  3. 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 Optimierung
  • transmute — Gezielte Konvertierung wenn ein Blei-Element einen Paradigmenwechsel braucht
  • review-software-architecture — Bewertung auf Architekturebene die Chrysopoeia auf Codeebene ergaenzt
  • review-data-analysis — Optimierung von Datenpipelines parallel zu Codeoptimierung

GitHub 仓库

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

相关推荐技能

qmd

开发

这是一个本地搜索和索引的CLI工具,支持BM25、向量搜索和重排序功能。开发者可以用它快速索引本地文件(如Markdown文档)并进行混合搜索,特别适合代码库或文档的本地检索。它还提供MCP模式,能轻松集成到Claude开发环境中使用。

查看技能

subagent-driven-development

开发

该Skill用于在当前会话中执行包含独立任务的实施计划,它会为每个任务分派一个全新的子代理并在任务间进行代码审查。这种"全新子代理+任务间审查"的模式既能保障代码质量,又能实现快速迭代。适合需要在当前会话中连续执行独立任务,并希望在每个任务后都有质量把关的开发场景。

查看技能

mcporter

开发

mcporter Skill 让开发者能在Claude中直接管理和调用MCP服务器。它支持列出可用服务器、调用工具、处理OAuth认证以及管理服务器守护进程。开发者可以通过命令行式交互快速执行`mcporter list`查看服务器,或使用`mcporter call`直接调用工具,简化了MCP工作流程。

查看技能

adk-deployment-specialist

开发

这是一个用于部署和编排Google Vertex AI ADK智能体的Claude Skill,专为构建生产级多智能体系统而设计。它支持通过A2A协议进行智能体通信,提供代码执行沙箱和记忆库功能,并能处理智能体发现与任务提交。当开发者需要部署ADK智能体或编排多智能体协作时,可使用此Skill来简化Vertex AI Agent Engine的部署流程。

查看技能