用途
evolution 是 makepad-skills 的自我进化与贡献技能,目标是让 makepad-skills 在开发过程中持续自我改进。当开发中产生可复用的知识(如新的组件模式、着色器技巧、错误解决方案)时,可通过该技能将其沉淀回技能库。
主要能力
- 自动触发(Hooks):通过 Claude Code hooks 实现可靠自动触发。使用
--with-hooks安装:
curl -fsSL https://raw.githubusercontent.com/ZhangHanDong/makepad-skills/main/install.sh | bash -s -- --with-hooks
该命令会把 hooks 安装到 .claude/hooks/ 并配置 .claude/settings.json,包含 UserPromptSubmit、PreToolUse、PostToolUse 等事件。
- 技能路由与打包:
makepad-skill-router.sh根据用户查询自动加载相关技能。例如“从零开发一个 Makepad 应用”会加载 basics、dsl、layout、widgets、event-action、app-architecture 等技能包。 - 技能依赖自动加载:加载某些技能时会自动加载相关技能,如
makepad-widgets自动加载makepad-layout、makepad-dsl。 - 进化触发条件:发现新组件模式、学到着色器技巧、解决编译错误、找到布局方案、解决构建/打包问题等,均会触发对应技能的进化。
- 进化流程:识别值得沉淀的知识 → 分类 → 按格式撰写贡献 → 添加进化标记 → 通过 Git 提交。
- 自我纠错:当技能内容导致错误时自动纠正,并使用纠正标记格式记录。
- 自我验证:定期验证技能内容准确性,包括代码示例能否解析/编译、API 是否准确等。
- 版本适配:针对 main、dev、rik 等不同 Makepad 分支提供版本特定指导,并从 Cargo.toml、Cargo.lock 检测版本。
- 个性化:根据项目命名约定、代码组织、注释风格、组件复杂度等调整技能建议。
使用方式
- 安装时启用 hooks(见上方命令)。
- 开发中遇到值得沉淀的知识时,按进化流程分类并撰写贡献。
- 添加进化标记:
<!-- Evolution: 2024-01-15 | source: my-app | author: @zhangsan -->。 - 通过 Git 提交:
git checkout -b evolution/add-loading-pattern
git add robius-widget-patterns/_base/my-pattern.md
git commit -m "evolution: add loading state pattern from my-app"
git push origin evolution/add-loading-pattern
- 也可使用自动进化提示词,如“This solution should be added to makepad-skills for future reference.”。
适用场景
- 使用 Makepad 开发应用并希望将可复用经验回馈到技能库。
- 需要自动路由加载相关 Makepad 技能。
- 需要针对不同 Makepad 版本获得适配指导。
- 需要技能内容自我纠错与验证。
限制
- 仅适用于 makepad-skills 生态与 Makepad 开发。
- 贡献内容需为通用可复用模式,不应包含项目特定代码、未验证方案、重复内容或不完整示例。
- 版本适配依赖从 Cargo.toml、Cargo.lock 检测,若无法判断需询问用户。
- 具体收费、价格、平台等信息暂未提供。