
关于
使 makepad-skills 在开发过程中持续自我改进的技能
name: evolution description: "此技能使makepad-skills在开发过程中能够持续自我改进。" risk: critical source: community
Makepad Skills 演进
此技能使makepad-skills在开发过程中能够持续自我改进。
何时使用
- 你正在维护
makepad-skills并希望技能库在开发过程中自我改进。 - 你需要决定何时将新模式转化为技能更新或钩子驱动演进的工作流程。
- 你正在进行技能集的自我修正、自我验证或版本适配。
快速导航
| 主题 | 描述 | |-------|-------------| | 协作指南 | 贡献makepad-skills | | 钩子设置 | 使用钩子自动触发演进 | | 何时演进 | 触发条件和分类 | | 演进流程 | 分步指南 | | 自我修正 | 自动修复技能错误 | | 自我验证 | 验证技能准确性 | | 版本适配 | 多分支支持 |
基于钩子的自动触发
为实现可靠的自动触发,使用Claude Code钩子。通过 --with-hooks 安装:
# Install makepad-skills with hooks enabled
curl -fsSLo /tmp/makepad-skills-install.sh https://raw.githubusercontent.com/ZhangHanDong/makepad-skills/main/install.sh
sed -n '1,160p' /tmp/makepad-skills-install.sh
bash /tmp/makepad-skills-install.sh --with-hooks
这将在 .claude/hooks/ 安装钩子并配置 .claude/settings.json:
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/makepad-skill-router.sh"
}
]
}
],
"PreToolUse": [
{
"matcher": "Bash|Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/pre-tool.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash .claude/hooks/post-bash.sh"
}
]
}
]
}
}
钩子功能
| 钩子 | 触发事件 | 动作 |
|------|---------------|--------|
| makepad-skill-router.sh | UserPromptSubmit | 自动路由到相关技能 |
| pre-tool.sh | Bash/Write/Edit之前 | 从Cargo.toml检测Makepad版本 |
| post-bash.sh | Bash命令失败后 | 检测Makepad错误,建议修复 |
| session-end.sh | 会话结束 | 提示捕获学习成果 |
技能路由和捆绑
makepad-skill-router.sh 钩子根据用户查询自动加载相关技能。
上下文检测
| 上下文 | 触发关键词 | 加载的技能 | |---------|------------------|---------------| | 完整应用 | "build app", "从零", "完整应用" | basics, dsl, layout, widgets, event-action, app-architecture | | UI设计 | "ui design", "界面设计" | dsl, layout, widgets, animation, shaders | | 组件创建 | "create widget", "创建组件", "自定义组件" | widgets, dsl, layout, animation, shaders, font, event-action | | 生产环境 | "best practice", "robrix pattern", "实际项目" | app-architecture, widget-patterns, state-management, event-action |
技能依赖
加载某些技能时,相关技能会自动加载:
| 主技能 | 自动加载 | |---------------|------------| | robius-app-architecture | makepad-basics, makepad-event-action | | robius-widget-patterns | makepad-widgets, makepad-layout | | makepad-widgets | makepad-layout, makepad-dsl | | makepad-animation | makepad-shaders | | makepad-shaders | makepad-widgets | | makepad-font | makepad-widgets | | robius-event-action | makepad-event-action |
示例
User: "我想从零开发一个 Makepad 应用"
[makepad-skills] Detected Makepad/Robius query
[makepad-skills] App development context detected - loading skill bundle
[makepad-skills] Routing to: makepad-basics makepad-dsl makepad-event-action
makepad-layout makepad-widgets robius-app-architecture
何时演进
当开发过程中出现以下任何情况时触发技能演进:
| 触发条件 | 目标技能 | 优先级 | |---------|--------------|----------| | 发现新组件模式 | robius-widget-patterns/_base | 高 | | 学到着色器技术 | makepad-shaders | 高 | | 解决编译错误 | makepad-reference/troubleshooting | 高 | | 找到布局方案 | makepad-reference/adaptive-layout | 中 | | 解决构建/打包问题 | makepad-deployment | 中 | | 新项目结构洞察 | makepad-basics | 低 | | 核心概念澄清 | makepad-dsl/makepad-widgets | 低 |
演进流程
步骤1:识别值得捕获的知识
自问:
- 这是可复用的模式吗?(非项目特定的)