Sets up hooks for makepad-skills to auto-route, self-correct, validate, and evolve during development. Triggers on user prompts, tool use, and errors for Rust UI projects.
From antigravity-awesome-skillsnpx claudepluginhub sickn33/antigravity-awesome-skills --plugin antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
This skill enables makepad-skills to self-improve continuously during development.
| 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 |
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"
}
]
}
]
}
}
| 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 |
The makepad-skill-router.sh hook automatically loads relevant skills based on user queries.
| 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 |
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 |
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
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 |
Ask yourself:
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/
For Patterns:
## Pattern N: [Pattern Name]
Brief description of what this pattern solves.
### live_design!
```rust
live_design! {
// DSL code
}
// 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 -->
# 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
When skill content causes errors, automatically correct it.
User follows skill advice → Code fails to compile/run → Claude identifies skill was wrong
↓
AUTO: Correct skill immediately
<!-- Correction: YYYY-MM-DD | was: [old advice] | reason: [why it was wrong] -->
Periodically verify skill content is still accurate.
## 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
"Please validate makepad-skills against current Makepad version"
Provide version-specific guidance for different Makepad branches.
| Branch | Status | Notes |
|---|---|---|
| main | Stable | Production ready |
| dev | Active | Latest features, may break |
| rik | Legacy | Older API style |
Claude should detect Makepad version from:
Cargo.toml branch reference:
makepad-widgets = { git = "...", branch = "dev" }
Cargo.lock content
Ask user if unclear
Adapt skill suggestions to project's coding style.
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 |
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-trigger hooks
├── references/ ← Detailed guides
└── templates/ ← Contribution templates
Use these prompts to trigger self-evolution:
"This solution should be added to makepad-skills for future reference."
"This widget pattern is reusable. Let me add it to makepad-patterns."
"This error and its fix should be documented in makepad-troubleshooting."
"Review what I learned and update makepad-skills if applicable."
After each Makepad development session, consider:
If yes to any, evolve the appropriate skill!