演进Skill evolution

本技能用于Makepad技能库的自我进化和贡献管理,支持通过钩子自动触发进化、技能路由、捕获学习、文档化解决方案等,旨在提升开发效率和知识共享。关键词:Makepad、技能进化、自我改进、钩子系统、贡献管理、开发工具、低代码、前端开发、SEO。

低代码开发 0 次安装 1 次浏览 更新于 3/13/2026

name: evolution description: | 关键:用于makepad-skills自我进化和贡献。触发于: evolve, evolution, contribute, contribution, self-improve, self-improvement, add pattern, new pattern, capture learning, document solution, hooks, hook system, auto-trigger, skill routing, template, pattern template, shader template, troubleshooting template, 演进, 贡献, 自我改进, 添加模式, 记录学习, 文档化解决方案

Makepad技能演进

本技能使makepad-skills在开发过程中能够持续自我改进。

快速导航

主题 描述
协作指南 贡献到makepad-skills
钩子设置 使用钩子自动触发演进
何时演进 触发器和分类
演进过程 逐步指南
自我纠正 自动修复技能错误
自我验证 验证技能准确性
版本适配 多分支支持

基于钩子的自动触发

为确保可靠自动触发,使用Claude代码钩子。通过--with-hooks安装:

# 安装makepad-skills并启用钩子
curl -fsSL https://raw.githubusercontent.com/ZhangHanDong/makepad-skills/main/install.sh | bash -s -- --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钩子基于用户查询自动加载相关技能。

上下文检测

上下文 触发关键词 加载的技能
完整应用 “构建应用”, “从零”, “完整应用” basics, dsl, layout, widgets, event-action, app-architecture
UI设计 “ui设计”, “界面设计” dsl, layout, widgets, animation, shaders
组件创建 “创建组件”, “自定义组件” widgets, dsl, layout, animation, shaders, font, event-action
生产环境 “最佳实践”, “robrix模式”, “实际项目” 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

示例

用户:"我想从零开发一个Makepad应用"

[makepad-skills] 检测到Makepad/Robius查询
[makepad-skills] 应用开发上下文检测到 - 加载技能包
[makepad-skills] 路由到: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步:识别值得捕获的知识

自问:

  • 这是可重用模式吗?(非项目特定)
  • 是否需要显著努力才能弄清?
  • 是否帮助其他Makepad开发者?
  • 是否尚未在makepad-skills中记录?

第2步:分类知识

组件/模式     → robius-widget-patterns/_base/
着色器/视觉效果 → makepad-shaders/
错误/调试解决方案 → makepad-reference/troubleshooting.md
布局/响应式设计 → makepad-reference/adaptive-layout.md
构建/部署问题   → makepad-deployment/SKILL.md
项目结构        → makepad-basics/
核心概念/API     → makepad-dsl/或makepad-widgets/

第3步:格式化贡献

对于模式

## 模式N: [模式名称]

简要描述此模式解决的问题。

### live_design!
```rust
live_design! {
    // DSL代码
}

Rust实现

// Rust代码

**对于故障排除**:
```markdown
### [错误类型/消息]

**症状**:开发者看到的内容

**原因**:发生的原因

**解决方案**:
```rust
// 修复后的代码

### 第4步:标记演进(非版本)

在新内容上方添加演进标记:

```markdown
<!-- Evolution: 2024-01-15 | source: my-app | author: @zhangsan -->

第5步:通过Git提交

# 为贡献创建分支
git checkout -b evolution/add-loading-pattern

# 提交更改
git add robius-widget-patterns/_base/my-pattern.md
git commit -m "evolution: 从my-app添加加载状态模式"

# 推送并创建PR
git push origin evolution/add-loading-pattern

自我纠正

当技能内容导致错误时,自动纠正。

触发条件

用户遵循技能建议 → 代码编译/运行失败 → Claude识别技能错误
                                                      ↓
                                         自动:立即纠正技能

纠正流程

  1. 检测 - 技能建议导致错误
  2. 验证 - 确认技能内容错误
  3. 纠正 - 更新技能文件

纠正标记格式

<!-- Correction: YYYY-MM-DD | was: [旧建议] | reason: [错误原因] -->

自我验证

定期验证技能内容是否准确。

验证清单

## 验证报告

### 代码示例
- [ ] 所有`live_design!`示例正确解析
- [ ] 所有Rust代码编译
- [ ] 所有模式按文档工作

### API准确性
- [ ] 组件名称存在于makepad-widgets
- [ ] 方法签名正确
- [ ] 事件类型准确

验证提示

“请针对当前Makepad版本验证makepad-skills”


版本适配

为不同Makepad分支提供版本特定指导。

支持版本

分支 状态 备注
main 稳定 生产就绪
dev 活跃 最新功能,可能破坏
rik 遗留 旧API风格

版本检测

Claude应从以下检测Makepad版本:

  1. Cargo.toml分支引用

    makepad-widgets = { git = "...", branch = "dev" }
    
  2. Cargo.lock内容

  3. 如果不清楚则询问用户


个性化

适应项目的编码风格。

风格检测

Claude分析当前项目检测:

方面 检测方法 适应
命名约定 扫描现有组件 匹配snake_case vs camelCase
代码组织 检查模块结构 建议匹配模式
注释风格 阅读现有注释 匹配文档风格
组件复杂度 统计每组件行数 建议适当模式

质量指南

应添加

  • 通用、可重用模式
  • 常见错误及清晰解决方案
  • 充分测试的着色器效果
  • 平台特定问题
  • 性能优化

不应添加

  • 项目特定代码
  • 未验证解决方案
  • 重复内容
  • 不完整示例
  • 无理由的个人偏好

技能文件位置

skills/
├── # === 核心技能 (16) ===
├── makepad-basics/        ← 入门、应用结构
├── makepad-dsl/           ← DSL语法、继承
├── makepad-layout/        ← 布局、大小、对齐
├── makepad-widgets/       ← 组件
├── makepad-event-action/  ← 事件处理
├── makepad-animation/     ← 动画、状态
├── makepad-shaders/       ← 着色器基础
├── makepad-platform/      ← 平台支持
├── makepad-font/          ← 字体、排版
├── makepad-splash/        ← 启动脚本
├── robius-app-architecture/   ← 应用架构模式
├── robius-widget-patterns/    ← 组件重用模式
├── robius-event-action/       ← 自定义动作
├── robius-state-management/   ← 状态持久化
├── robius-matrix-integration/ ← Matrix SDK
├── molykit/               ← AI聊天工具包
│
├── # === 扩展技能 (3) ===
├── makepad-shaders/ ← 高级着色器、SDF
│   ├── _base/             ← 官方模式
│   └── community/         ← 社区贡献
├── makepad-deployment/    ← 构建和打包
├── makepad-reference/     ← 故障排除、代码质量
│
├── # 注意:生产模式集成到robius-*技能:
├── # - 组件模式 → robius-widget-patterns/_base/
├── # - 状态模式 → robius-state-management/_base/
├── # - 异步模式 → robius-app-architecture/_base/
│
└── evolution/             ← 自我演进系统
    ├── hooks/             ← 自动触发钩子
    ├── references/        ← 详细指南
    └── templates/         ← 贡献模板

自动演进提示

使用这些提示触发自我演进:

解决问题后

“此解决方案应添加到makepad-skills供未来参考。”

创建组件后

“此组件模式可重用。让我添加到makepad-patterns。”

调试后

“此错误及其修复应记录在makepad-troubleshooting。”

完成功能后

“回顾所学内容,并更新makepad-skills(如适用)。”


持续改进清单

每次Makepad开发会话后考虑:

  • [ ] 是否发现新组件组合模式?
  • [ ] 是否解决棘手着色器问题?
  • [ ] 是否遇到并修复混淆错误?
  • [ ] 是否找到更好的布局结构方式?
  • [ ] 是否学习到打包/部署相关内容?
  • [ ] 是否有任何内容帮助其他Makepad开发者?

如果任何是,演进相应技能!

参考文献