evolution
Hooks-based framework that allows AI agent skills to self-correct and improve their own logic during development.
Install
mkdir -p .claude/skills/evolution-wegonbeok45 && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15551" && unzip -o skill.zip -d .claude/skills/evolution-wegonbeok45 && rm skill.zipInstalls to .claude/skills/evolution-wegonbeok45
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
This skill enables makepad-skills to self-improve continuously during development.Key capabilities
- →Install makepad-skills with hooks enabled for auto-triggering
- →Auto-route to relevant skills based on user queries
- →Detect Makepad version from Cargo.toml before tool use
- →Detect Makepad errors and suggest fixes after Bash command failures
- →Capture learnings at the end of a session
- →Identify knowledge worth capturing for skill evolution
How it works
This skill enables makepad-skills to self-improve continuously during development by using git hooks and automated testing to trigger updates.
Inputs & outputs
When to use evolution
- →Automating skill updates
- →Self-correcting AI agent bugs
- →Validating skill performance
- →Synchronizing development branches
About this skill
Makepad Skills Evolution
This skill enables makepad-skills to self-improve continuously during development.
Quick Navigation
| Topic | Description |
|---|---|
| Collaboration Guidelines | Contributing to makepad-skills |
| Hooks Setup | Auto-trigger evolution with hooks |
| When to Evolve | Triggers and classification |
| Evolution Process | Step-by-step guide |
| Self-Correction | Auto-fix skill errors |
| Self-Validation | Verify skill accuracy |
| Version Adaptation | Multi-branch support |
Hooks-Based Auto-Triggering
For reliable automatic triggering, use Claude Code hooks. Install with --with-hooks:
# Install makepad-skills with hooks enabled
curl -fsSL https://raw.githubusercontent.com/ZhangHanDong/makepad-skills/main/install.sh | bash -s -- --with-hooks
This will install hooks to .claude/hooks/ and configure .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"
}
]
}
]
}
}
What Hooks Do
| Hook | Trigger Event | Action |
|---|---|---|
makepad-skill-router.sh | UserPromptSubmit | Auto-route to relevant skills |
pre-tool.sh | Before Bash/Write/Edit | Detect Makepad version from Cargo.toml |
post-bash.sh | After Bash command fails | Detect Makepad errors, suggest fixes |
session-end.sh | Session ends | Prompt to capture learnings |
Skill Routing and Bundling
The makepad-skill-router.sh hook automatically loads relevant skills based on user queries.
Context Detection
| Context | Trigger Keywords | Skills Loaded |
|---|---|---|
| Full App | "build app", "从零", "完整应用" | basics, dsl, layout, widgets, event-action, app-architecture |
| UI Design | "ui design", "界面设计" | dsl, layout, widgets, animation, shaders |
| Widget Creation | "create widget", "创建组件", "自定义组件" | widgets, dsl, layout, animation, shaders, font, event-action |
| Production | "best practice", "robrix pattern", "实际项目" | app-architecture, widget-patterns, state-management, event-action |
Skill Dependencies
When loading certain skills, related skills are auto-loaded:
| Primary Skill | Auto-loads |
|---|---|
| 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 |
Example
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
When to Evolve
Trigger skill evolution when any of these occur during development:
| Trigger | Target Skill | Priority |
|---|---|---|
| New widget pattern discovered | robius-widget-patterns/_base | High |
| Shader technique learned | makepad-shaders | High |
| Compilation error solved | makepad-reference/troubleshooting | High |
| Layout solution found | makepad-reference/adaptive-layout | Medium |
| Build/packaging issue resolved | makepad-deployment | Medium |
| New project structure insight | makepad-basics | Low |
| Core concept clarified | makepad-dsl/makepad-widgets | Low |
Evolution Process
Step 1: Identify Knowledge Worth Capturing
Ask yourself:
- Is this a reusable pattern? (not project-specific)
- Did it take significant effort to figure out?
- Would it help other Makepad developers?
- Is it not already documented in makepad-skills?
Step 2: Classify the Knowledge
Widget/Component Pattern → robius-widget-patterns/_base/
Shader/Visual Effect → makepad-shaders/
Error/Debug Solution → makepad-reference/troubleshooting.md
Layout/Responsive Design → makepad-reference/adaptive-layout.md
Build/Deploy Issue → makepad-deployment/SKILL.md
Project Structure → makepad-basics/
Core Concept/API → makepad-dsl/ or makepad-widgets/
Step 3: Format the Contribution
For Patterns:
## Pattern N: [Pattern Name]
Brief description of what this pattern solves.
### live_design!
```rust
live_design! {
// DSL code
}
Rust Implementation
// Rust code
**For Troubleshooting**:
```markdown
### [Error Type/Message]
**Symptom**: What the developer sees
**Cause**: Why this happens
**Solution**:
```rust
// Fixed code
### Step 4: Mark Evolution (NOT Version)
Add an evolution marker above new content:
```markdown
<!-- Evolution: 2024-01-15 | source: my-app | author: @zhangsan -->
Step 5: Submit via Git
# Create branch for your contribution
git checkout -b evolution/add-loading-pattern
# Commit your changes
git add robius-widget-patterns/_base/my-pattern.md
git commit -m "evolution: add loading state pattern from my-app"
# Push and create PR
git push origin evolution/add-loading-pattern
Self-Correction
When skill content causes errors, automatically correct it.
Trigger Conditions
User follows skill advice → Code fails to compile/run → Claude identifies skill was wrong
↓
AUTO: Correct skill immediately
Correction Flow
- Detect - Skill advice led to an error
- Verify - Confirm the skill content is wrong
- Correct - Update the skill file with fix
Correction Marker Format
<!-- Correction: YYYY-MM-DD | was: [old advice] | reason: [why it was wrong] -->
Self-Validation
Periodically verify skill content is still accurate.
Validation Checklist
## Validation Report
### Code Examples
- [ ] All `live_design!` examples parse correctly
- [ ] All Rust code compiles
- [ ] All patterns work as documented
### API Accuracy
- [ ] Widget names exist in makepad-widgets
- [ ] Method signatures are correct
- [ ] Event types are accurate
Validation Prompt
"Please validate makepad-skills against current Makepad version"
Version Adaptation
Provide version-specific guidance for different Makepad branches.
Supported Versions
| Branch | Status | Notes |
|---|---|---|
| main | Stable | Production ready |
| dev | Active | Latest features, may break |
| rik | Legacy | Older API style |
Version Detection
Claude should detect Makepad version from:
-
Cargo.toml branch reference:
makepad-widgets = { git = "...", branch = "dev" } -
Cargo.lock content
-
Ask user if unclear
Personalization
Adapt skill suggestions to project's coding style.
Style Detection
Claude analyzes the current project to detect:
| Aspect | Detection Method | Adaptation |
|---|---|---|
| Naming convention | Scan existing widgets | Match snake_case vs camelCase |
| Code organization | Check module structure | Suggest matching patterns |
| Comment style | Read existing comments | Match documentation style |
| Widget complexity | Count lines per widget | Suggest appropriate patterns |
Quality Guidelines
DO Add
- Generic, reusable patterns
- Common errors with clear solutions
- Well-tested shader effects
- Platform-specific gotchas
- Performance optimizations
DON'T Add
- Project-specific code
- Unverified solutions
- Duplicate content
- Incomplete examples
- Personal preferences without rationale
Skill File Locations
skills/
├── # === Core Skills (16) ===
├── makepad-basics/ ← Getting started, app structure
├── makepad-dsl/ ← DSL syntax, inheritance
├── makepad-layout/ ← Layout, sizing, alignment
├── makepad-widgets/ ← Widget components
├── makepad-event-action/ ← Event handling
├── makepad-animation/ ← Animation, states
├── makepad-shaders/ ← Shader basics
├── makepad-platform/ ← Platform support
├── makepad-font/ ← Font, typography
├── makepad-splash/ ← Splash scripting
├── robius-app-architecture/ ← App architecture patterns
├── robius-widget-patterns/ ← Widget reuse patterns
├── robius-event-action/ ← Custom actions
├── robius-state-management/ ← State persistence
├── robius-matrix-integration/ ← Matrix SDK
├── molykit/ ← AI chat toolkit
│
├── # === Extended Skills (3) ===
├── makepad-shaders/ ← Advanced shaders, SDF
│ ├── _base/ ← Official patterns
│ └── community/ ← Community contributions
├── makepad-deployment/ ← Build & packaging
├── makepad-reference/ ← Troubleshooting, code quality
│
├── # Note: Production patterns integrated into robius-* skills:
├── # - Widget patterns → robius-widget-patterns/_base/
├── # - State patterns → robius-state-management/_base/
├── # - Async patterns → robius-app-architecture/_base/
│
└── evolution/ ← Self-evolution system
├── hooks/ ← Auto-tri
---
*Content truncated.*
When not to use it
- →When not developing with makepad-skills
- →When not needing continuous self-improvement for skills
- →When not using Claude Code hooks for automation
Limitations
- →This skill is specific to makepad-skills.
- →This skill requires Claude Code hooks for auto-triggering.
- →This skill is designed for continuous improvement during development.
How it compares
This approach automates skill routing, error detection, and knowledge capture through hooks, providing continuous self-improvement unlike manual skill management.
Compared to similar skills
evolution side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| evolution (this skill) | 0 | 4mo | Review | Advanced |
| tmux | 20 | 3mo | Review | Intermediate |
| jira | 11 | 6mo | No flags | Beginner |
| triaging-issues | 5 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by wegonbeok45
View all by wegonbeok45 →You might also like
tmux
openclaw
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
jira
davila7
Use when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.
triaging-issues
pytorch
Triages GitHub issues by routing to oncall teams, applying labels, and closing questions. Use when processing new PyTorch issues or when asked to triage an issue.
file-manager
Xxiii8322766509
文件管理技能。用于创建、移动、复制、删除文件和文件夹,整理目录结构。当用户需要管理文件、整理文件夹或批量处理文件时使用。
openspec-archive-change
studyzy
归档实验性工作流中已完成的变更。当用户想要在实现完成后最终确定并归档变更时使用。
slash-commands
parcadei
Create and use Claude Code slash commands - quick prompts, bash execution, file references