General

evolution - Claude MCP Skill

This skill enables makepad-skills to self-improve continuously during development.

SEO Guide: Enhance your AI agent with the evolution tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to this skill enables makepad-skills to self-improve continuously during development.... Download and configure this skill to unlock new capabilities for your AI workflow.

๐ŸŒŸ1 stars โ€ข 0 forks
๐Ÿ“ฅ0 downloads

Documentation

SKILL.md
<!-- security-allowlist: curl-pipe-bash -->

# 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](#hooks-based-auto-triggering) | Auto-trigger evolution with hooks |
| [When to Evolve](#when-to-evolve) | Triggers and classification |
| [Evolution Process](#evolution-process) | Step-by-step guide |
| [Self-Correction](#self-correction) | Auto-fix skill errors |
| [Self-Validation](#self-validation) | Verify skill accuracy |
| [Version Adaptation](#version-adaptation) | Multi-branch support |

---

## Hooks-Based Auto-Triggering

For reliable automatic triggering, use Claude Code hooks. Install with `--with-hooks`:

```bash
# 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`:

```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**:
```markdown
## Pattern N: [Pattern Name]

Brief description of what this pattern solves.

### live_design!
```rust
live_design! {
    // DSL code
}
```

### Rust Implementation
```rust
// 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

```bash
# 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

1. **Detect** - Skill advice led to an error
2. **Verify** - Confirm the skill content is wrong
3. **Correct** - Update the skill file with fix

### Correction Marker Format

```markdown
<!-- Correction: YYYY-MM-DD | was: [old advice] | reason: [why it was wrong] -->
```

---

## Self-Validation

Periodically verify skill content is still accurate.

### Validation Checklist

```markdown
## 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:

1. **Cargo.toml branch reference**:
   ```toml
   makepad-widgets = { git = "...", branch = "dev" }
   ```

2. **Cargo.lock content**

3. **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-trigger hooks
    โ”œโ”€โ”€ references/        โ† Detailed guides
    โ””โ”€โ”€ templates/         โ† Contribution templates
```

---

## Auto-Evolution Prompts

Use these prompts to trigger self-evolution:

### After Solving a Problem
> "This solution should be added to makepad-skills for future reference."

### After Creating a Widget
> "This widget pattern is reusable. Let me add it to makepad-patterns."

### After Debugging
> "This error and its fix should be documented in makepad-troubleshooting."

### After Completing a Feature
> "Review what I learned and update makepad-skills if applicable."

---

## Continuous Improvement Checklist

After each Makepad development session, consider:

- [ ] Did I discover a new widget composition pattern?
- [ ] Did I solve a tricky shader problem?
- [ ] Did I encounter and fix a confusing error?
- [ ] Did I find a better way to structure layouts?
- [ ] Did I learn something about packaging/deployment?
- [ ] Would any of this help other Makepad developers?

If yes to any, evolve the appropriate skill!

## References

- [makepad-skills repository](https://github.com/ZhangHanDong/makepad-skills)
- [Makepad documentation](https://github.com/makepad/makepad)
- [Project Robius](https://github.com/project-robius)

Signals

Avg ratingโญ 0.0
Reviews0
Favorites0

Information

Repository
arlenagreer/claude_configuration_docs
Author
arlenagreer
Last Sync
6/18/2026
Repo Updated
6/14/2026
Created
1/21/2026

Reviews (0)

No reviews yet. Be the first to review this skill!

Related Skills

cursorrules

CrewAI Development Rules

โญ 43932Has guide

firecrawl-build-onboarding

Get Firecrawl credentials and SDK setup into a project. Use when an application needs `FIRECRAWL_API_KEY`, when an agent should add Firecrawl to `.env`, when the user wants to authenticate Firecrawl for app code, or when choosing the first SDK and docs for a new Firecrawl integration. This skill includes its own browser auth flow, so it does not depend on the website onboarding skill.

โญ 39648

firecrawl-build-search

Integrate Firecrawl `/search` into product code and agent workflows. Use when an app needs discovery before extraction, when the feature starts with a query instead of a URL, or when the system should search the web and optionally hydrate result content.

โญ 39648

firecrawl-build

Integrate Firecrawl into application code whenever a product, agent, or workflow needs web data inside the app โ€” web search, live search results, page scraping, structured extraction, or browser interaction. Use when building any feature that needs data from the web in code, even if the user does not mention Firecrawl explicitly and only describes wanting web data, website content, search, scraping, or interaction in an application. Trigger for Firecrawl requests, "fire girl" shorthand, and generic app-level web-data needs that should map to `/scrape`, `/search`, or `/interact`. Do not use this skill for one-off terminal-only web tasks during the current session; use `firecrawl/cli` for those.

โญ 39648

Related Guides