MCP HubMCP Hub
Retour aux compétences

chrysopoeia

pjt222
Mis à jour Yesterday
4 vues
17
2
17
Voir sur GitHub
Designapi

À propos

Chrysopoeia est une compétence Claude destinée à optimiser et à affiner des bases de code existantes et fonctionnelles sans réécriture complète. Elle améliore systématiquement les performances, nettoie les API et élimine le code mort pour réduire la taille du bundle et l'empreinte mémoire. Utilisez-la pour transformer un code lent ou encombré en un état plus efficace et maintenable.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/chrysopoeia

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

Chrysopoeia

Extract max value from existing code. Identify gold (high-value, well-designed), lead (resource-heavy, poorly optimized), dross (dead weight). Amplify gold, transmute lead, remove dross.

When Use

  • Optimizing working but sluggish codebase for performance
  • Refining API surface with accumulated cruft
  • Reducing bundle size, memory footprint, startup time
  • Prepping code for open-source release (extract valuable core)
  • Code works correctly but doesn't shine — needs polish, not rewrite

Inputs

  • Required: Codebase or module to optimize (file paths)
  • Required: Value metric (performance, API clarity, bundle size, readability)
  • Optional: Profiling data or benchmarks showing current performance
  • Optional: Budget or target (e.g., "reduce bundle by 40%", "sub-100ms response")
  • Optional: Constraints (can't change public API, must maintain backward compat)

Steps

Step 1: Assay — Classify the Material

Classify every element by value contribution.

  1. Define value metric from Inputs (performance, clarity, size, etc.)
  2. Inventory elements (functions, modules, exports, dependencies)
  3. Classify each:
Value Classification:
+--------+---------------------------------------------------------+
| Gold   | High value, well-designed. Amplify and protect.         |
| Silver | Good value, minor imperfections. Polish.                |
| Lead   | Functional but heavy — poor performance, complex API.   |
|        | Transmute into something lighter.                       |
| Dross  | Dead code, unused exports, vestigial features.          |
|        | Remove entirely.                                        |
+--------+---------------------------------------------------------+
  1. Performance optimization: profile first.
    • Identify hot paths (where time spent)
    • Identify cold paths (rarely-run code, may be dross)
    • Measure memory allocation patterns
  2. Produce Assay Report: element-by-element classification with evidence

Got: Every significant element classified with evidence. Gold elements identified for protection. Lead elements prioritized by impact.

If fail: No profiling tools? Use static analysis — function complexity (cyclomatic), dependency count, code size as proxies. Codebase too large? Focus critical path first.

Step 2: Refine — Amplify the Gold

Protect and enhance highest-value elements.

  1. Each Gold element:
    • Ensure comprehensive tests (most valuable assets)
    • Document interface clearly if not already
    • Consider extraction as reusable module
  2. Each Silver element:
    • Apply targeted improvements (better naming, clearer types, minor optimizations)
    • Bring test coverage to Gold level
    • Resolve minor code smells without restructuring
  3. Do not modify Gold/Silver behavior. Only improve polish and protection.

Got: Gold and Silver elements better tested, documented, protected. No behavioral changes. Quality improvements only.

If fail: "Gold" element reveals hidden problems under closer inspection? Reclassify. Honest about value beats protecting flawed code.

Step 3: Transmute — Convert Lead to Gold

Transform heavy, inefficient elements into optimized equivalents.

  1. Prioritize Lead elements by impact (highest resource consumption first)
  2. Each Lead element, choose transmutation strategy:
    • Algorithm optimization: Replace O(n^2) with O(n log n). Eliminate redundant computation.
    • Caching/memoization: Store expensive results requested repeatedly
    • Lazy evaluation: Defer computation until results actually needed
    • Batch processing: Combine many small operations into fewer large ones
    • Structural simplification: Reduce cyclomatic complexity, flatten deep nesting
  3. Apply strategy. Measure improvement.
    • Before/after benchmarks for performance changes
    • Before/after line counts for complexity changes
    • Before/after dependency counts for coupling changes
  4. Verify behavioral equivalence after each transmutation.

Got: Measurable improvement on target value metric. Each transmuted element performs better than Lead predecessor. Identical behavior maintained.

If fail: Lead element resists optimization within current interface? Interface itself may be problem. Transmutation may require changing how element is called, not just implementation.

Step 4: Purge — Remove the Dross

Eliminate dead weight.

  1. Each Dross element, verify truly unused:
    • Search all references (grep, IDE find-usages)
    • Check dynamic references (string-based dispatch, reflection)
    • Check external consumers (if library)
  2. Remove confirmed dross:
    • Delete dead code, unused exports, vestigial features
    • Remove unused dependencies from package manifests
    • Clean up config for removed features
  3. Verify nothing breaks after each removal (run tests)
  4. Document what removed and why (commit messages, not code)

Got: Codebase lighter. Bundle size, dependency count, or code volume measurably reduced. All tests pass.

If fail: Removing element breaks something? Wasn't dross. Reclassify. Dynamic references make usage hard to verify? Add temp logging before deletion to confirm no runtime access.

Step 5: Verify — Weigh the Gold

Measure overall improvement.

  1. Run same benchmarks/metrics from Step 1
  2. Compare before/after on target value metric
  3. Document chrysopoeia results:
    • Elements refined (Gold/Silver improvements)
    • Elements transmuted (Lead → Gold, with measurements)
    • Elements purged (Dross removed, with size/count impact)
    • Overall metric improvement (e.g., "47% faster", "32% smaller bundle")

Got: Measurable, documented improvement on target value metric. Codebase demonstrably more valuable.

If fail: Overall improvement marginal? Original code may have been better than assumed. Document learnings — knowing code is near-optimal is itself valuable.

Checks

  • Assay report classifies all significant elements with evidence
  • Gold elements have comprehensive tests and documentation
  • Lead transmutations show measurable before/after improvement
  • Dross removal verified with reference checks before deletion
  • All tests pass after each stage
  • Overall improvement measured and documented
  • No behavioral regressions introduced
  • Constraints from Inputs satisfied

Pitfalls

  • Premature optimization: Optimizing without profiling. Measure first. Optimize hot paths.
  • Polishing dross: Effort on code that should be deleted. Classify before refining.
  • Breaking Gold: Optimization that degrades best code. Gold should only get better, never worse.
  • Unmeasured claims: "Feels faster" is not chrysopoeia. Every improvement quantified.
  • Optimizing cold paths: Effort on code that runs once at startup when bottleneck is request loop.

See Also

  • athanor — Full four-stage transformation when chrysopoeia reveals code needs restructuring, not just optimization
  • transmute — Targeted conversion when Lead element needs paradigm shift
  • review-software-architecture — Architecture-level evaluation complementing code-level chrysopoeia
  • review-data-analysis — Data pipeline optimization parallels code optimization

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/caveman/skills/chrysopoeia
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

executing-plans

Design

Utilisez la compétence executing-plans lorsque vous disposez d'un plan de mise en œuvre complet à exécuter par lots contrôlés avec des points de contrôle de revue. Elle charge et examine le plan de manière critique, puis exécute les tâches par petits lots (3 tâches par défaut) tout en rapportant la progression entre chaque lot pour une revue par l'architecte. Cela garantit une mise en œuvre systématique avec des points de contrôle de qualité intégrés.

Voir la compétence

requesting-code-review

Design

Cette compétence délègue un sous-agent réviseur de code pour analyser les modifications apportées au code par rapport aux exigences avant de poursuivre. Elle doit être utilisée après avoir terminé des tâches, implémenté des fonctionnalités majeures, ou avant une fusion vers la branche principale. La revue aide à détecter précocement les problèmes en comparant l'implémentation actuelle avec le plan initial.

Voir la compétence

connect-mcp-server

Design

Cette compétence fournit un guide complet permettant aux développeurs de connecter des serveurs MCP à Claude Code via les transports HTTP, stdio ou SSE. Elle couvre l'installation, la configuration, l'authentification et la sécurité pour intégrer des services externes tels que GitHub, Notion et des API personnalisées. Utilisez-la lors de la configuration d'intégrations MCP, de la configuration d'outils externes ou du travail avec le Protocole de Contexte de Modèle de Claude.

Voir la compétence

web-cli-teleport

Design

Cette compétence aide les développeurs à choisir entre les interfaces Web et CLI de Claude Code en fonction de l'analyse des tâches, puis permet une téléportation transparente des sessions entre ces environnements. Elle optimise le flux de travail en gérant l'état et le contexte de la session lors du passage entre le web, la CLI ou le mobile. Utilisez-la pour des projets complexes nécessitant différents outils à diverses étapes.

Voir la compétence