MCP HubMCP Hub
Retour aux compétences

chrysopoeia

pjt222
Mis à jour 2 days ago
3 vues
17
2
17
Voir sur GitHub
Développementapi

À propos

La compétence chrysopoeia optimise systématiquement les bases de code existantes en identifiant et en améliorant les modèles utiles, tout en éliminant le code mort. Elle se concentre sur l'optimisation des performances, l'affinage de la surface d'API et la réduction de la taille des paquets ou de l'utilisation de la mémoire. Utilisez cette compétence lorsque votre code fonctionne correctement mais a besoin d'être poli—pour des améliorations de performances, un nettoyage d'API ou la préparation d'un code pour une publication open-source—sans nécessiter une réécriture complète.

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

点金术

系统性地从现有代码中提取最大价值——识别什么是黄金(高价值、设计良好)、什么是铅(资源密集、优化不佳)、什么是渣滓(死代码)。然后放大黄金、转化铅块、清除渣滓。

适用场景

  • 优化运行正常但缓慢的代码库以提升性能
  • 精炼经过多次迭代积累了冗余的 API 表面
  • 减少包体积、内存占用或启动时间
  • 为开源发布准备代码(提取有价值的核心)
  • 当代码正确运行但不够出色——需要打磨,而非重写

输入

  • 必需:需要优化的代码库或模块(文件路径)
  • 必需:价值度量标准(性能、API 清晰度、包体积、可读性)
  • 可选:显示当前性能的分析数据或基准测试
  • 可选:预算或目标(例如"减少 40% 的包体积"、"响应时间低于 100ms")
  • 可选:约束条件(不能更改公共 API、必须保持向后兼容)

步骤

第 1 步:化验——分类材料

系统性地按价值贡献对每个元素进行分类。

  1. 从输入中定义价值度量标准(性能、清晰度、体积等)
  2. 盘点代码库元素(函数、模块、导出、依赖)
  3. 对每个元素进行分类:
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. 对于性能优化,先进行分析:
    • 识别热路径(时间花费在哪里)
    • 识别冷路径(很少执行的代码,可能是渣滓)
    • 测量内存分配模式
  2. 生成化验报告:逐元素分类并附带证据

预期结果: 每个重要元素都有证据支持的分类。黄金元素已被识别,在优化过程中予以保护。铅元素按影响程度排列优先级。

失败处理: 如果没有可用的分析工具,使用静态分析:函数复杂度(圈复杂度)、依赖计数和代码体积作为替代指标。如果代码库太大,先关注关键路径。

第 2 步:精炼——放大黄金

保护和增强最高价值的元素。

  1. 对每个黄金元素:
    • 确保它有全面的测试(这些是你最有价值的资产)
    • 如果尚未完成,清晰地记录其接口
    • 考虑是否可以将其提取为可复用模块
  2. 对每个白银元素:
    • 应用有针对性的改进(更好的命名、更清晰的类型、微小的优化)
    • 将测试覆盖率提升到黄金级别
    • 解决轻微的代码异味,不进行重构
  3. 不修改黄金/白银的行为——只改善其打磨和保护

预期结果: 黄金和白银元素经过更好的测试、文档和保护。没有行为变更,仅有质量改进。

失败处理: 如果"黄金"元素在更仔细检查后暴露出隐藏问题,重新分类它。诚实面对价值比保护有缺陷的代码更好。

第 3 步:转化——将铅变为金

将笨重、低效的元素转化为优化的等价物。

  1. 按影响排列铅元素的优先级(最高资源消耗优先)
  2. 对每个铅元素,选择转化策略:
    • 算法优化:用 O(n log n) 替换 O(n^2),消除冗余计算
    • 缓存/记忆化:存储被重复请求的昂贵结果
    • 惰性求值:将计算推迟到结果实际需要时
    • 批处理:将许多小操作合并为更少的大操作
    • 结构简化:降低圈复杂度,展平深层嵌套
  3. 应用策略并测量改进:
    • 性能变化的前后基准测试
    • 复杂度变化的前后行数统计
    • 耦合变化的前后依赖计数
  4. 在每次转化后验证行为等价性

预期结果: 目标价值度量标准上的可测量改进。每个被转化的元素在保持相同行为的同时,性能优于其铅前身。

失败处理: 如果铅元素在其当前接口内抵抗优化,考虑接口本身是否是问题。有时转化需要改变元素的调用方式,而不仅仅是其实现方式。

第 4 步:清除——去除渣滓

系统性地消除死代码。

  1. 对每个渣滓元素,验证它确实未被使用:
    • 搜索所有引用(grep、IDE 查找用法)
    • 检查动态引用(基于字符串的调度、反射)
    • 检查外部消费者(如果代码是库)
  2. 移除确认的渣滓:
    • 删除死代码、未使用的导出、残留功能
    • 从包清单中移除未使用的依赖
    • 清理已移除功能的配置
  3. 在每次移除后验证没有破坏(运行测试)
  4. 记录移除了什么以及原因(在提交信息中,而非代码中)

预期结果: 代码库更轻量。包体积、依赖计数或代码量可测量地减少。所有测试仍然通过。

失败处理: 如果移除某个元素破坏了什么,它不是渣滓——重新分类它。如果动态引用使验证使用情况困难,在删除前添加临时日志以确认没有运行时访问。

第 5 步:验证——称量黄金

测量整体改进。

  1. 运行与第 1 步相同的基准测试/指标
  2. 比较目标价值度量标准的前后数据
  3. 记录点金术的结果:
    • 精炼的元素(黄金/白银改进)
    • 转化的元素(铅到金的转换及测量数据)
    • 清除的元素(渣滓移除及体积/计数影响)
    • 整体指标改进(例如"快 47%"、"包体积小 32%")

预期结果: 目标价值度量标准上可测量、有文档的改进。代码库明显比之前更有价值。

失败处理: 如果整体改进微乎其微,原始代码可能比假设的更好。记录学到了什么——知道代码已经接近最优本身就是有价值的。

验证清单

  • 化验报告对所有重要元素进行了有证据的分类
  • 黄金元素有全面的测试和文档
  • 铅转化显示了可测量的前后改进
  • 渣滓移除在删除前经过引用检查验证
  • 每个阶段后所有测试通过
  • 整体改进已测量和记录
  • 未引入行为回归
  • 满足输入中的约束条件

常见问题

  • 过早优化:不分析就优化。始终先测量,优化热路径
  • 打磨渣滓:花精力改进应该被删除的代码。先分类再精炼
  • 破坏黄金:优化降级了最好的代码。黄金元素应该只变更好,绝不变差
  • 未量化的声明:"感觉更快了"不是点金术。每个改进都必须量化
  • 优化冷路径:在启动时只运行一次的代码上花精力,而瓶颈在请求循环中

相关技能

  • athanor — 当点金术揭示代码需要重构而非仅优化时的完整四阶段转化
  • transmute — 当铅元素需要范式转变时的定向转换
  • review-software-architecture — 架构级别的评估,与代码级别的点金术互补
  • review-data-analysis — 数据流水线优化与代码优化并行

Dépôt GitHub

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

Compétences associées

qmd

Développement

qmd est un outil CLI de recherche et d'indexation locale qui permet aux développeurs d'indexer et de rechercher dans des fichiers locaux en utilisant une recherche hybride combinant BM25, des embeddings vectoriels et du reranking. Il prend en charge à la fois une utilisation en ligne de commande et un mode MCP (Model Context Protocol) pour l'intégration avec Claude. L'outil utilise Ollama pour les embeddings et stocke les index localement, ce qui le rend idéal pour rechercher dans de la documentation ou des bases de code directement depuis le terminal.

Voir la compétence

subagent-driven-development

Développement

Cette compétence exécute des plans de mise en œuvre en déployant un nouveau sous-agent pour chaque tâche indépendante, avec une revue de code entre les tâches. Elle permet une itération rapide tout en maintenant des contrôles de qualité grâce à ce processus de revue. Utilisez-la lorsque vous travaillez sur des tâches principalement indépendantes au sein d'une même session pour assurer une progression continue avec des vérifications de qualité intégrées.

Voir la compétence

mcporter

Développement

La compétence mcporter permet aux développeurs de gérer et d'appeler des serveurs Model Context Protocol (MCP) directement depuis Claude. Elle fournit des commandes pour lister les serveurs disponibles, appeler leurs outils avec des arguments, et gérer l'authentification ainsi que le cycle de vie du démon. Utilisez cette compétence pour intégrer et tester les fonctionnalités des serveurs MCP dans votre flux de travail de développement.

Voir la compétence

adk-deployment-specialist

Développement

Cette compétence déploie et orchestre des agents Vertex AI ADK en utilisant le protocole A2A, gérant la découverte d'AgentCard, la soumission de tâches, et prenant en charge des outils tels que le bac à sable d'exécution de code et la banque de mémoire. Elle permet de construire des systèmes multi-agents avec des modèles d'orchestration séquentiels, parallèles ou en boucle en Python, Java ou Go. Utilisez-la lorsqu'on vous demande de déployer des agents ADK ou d'orchestrer des flux de travail d'agents sur Google Cloud.

Voir la compétence