スキル一覧に戻る
ZhangHanDong

evolution

by ZhangHanDong

evolutionは、ソフトウェア開発を効率化するスキルです。開発ワークフロー全体をサポートし、チームの生産性向上とコード品質の改善を実現します。

677🍴 76📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: evolution description: | CRITICAL: Use for makepad-skills self-evolution and contribution. Triggers on: 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 Skills Evolution

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

Quick Navigation

TopicDescription
Collaboration GuidelinesContributing to makepad-skills
Hooks SetupAuto-trigger evolution with hooks
When to EvolveTriggers and classification
Evolution ProcessStep-by-step guide
Self-CorrectionAuto-fix skill errors
Self-ValidationVerify skill accuracy
Version AdaptationMulti-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

HookTrigger EventAction
makepad-skill-router.shUserPromptSubmitAuto-route to relevant skills
pre-tool.shBefore Bash/Write/EditDetect Makepad version from Cargo.toml
post-bash.shAfter Bash command failsDetect Makepad errors, suggest fixes
session-end.shSession endsPrompt to capture learnings

Skill Routing and Bundling

The makepad-skill-router.sh hook automatically loads relevant skills based on user queries.

Context Detection

ContextTrigger KeywordsSkills 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 SkillAuto-loads
robius-app-architecturemakepad-basics, makepad-event-action
robius-widget-patternsmakepad-widgets, makepad-layout
makepad-widgetsmakepad-layout, makepad-dsl
makepad-animationmakepad-shaders
makepad-shadersmakepad-widgets
makepad-fontmakepad-widgets
robius-event-actionmakepad-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:

TriggerTarget SkillPriority
New widget pattern discoveredrobius-widget-patterns/_baseHigh
Shader technique learnedmakepad-shadersHigh
Compilation error solvedmakepad-reference/troubleshootingHigh
Layout solution foundmakepad-reference/adaptive-layoutMedium
Build/packaging issue resolvedmakepad-deploymentMedium
New project structure insightmakepad-basicsLow
Core concept clarifiedmakepad-dsl/makepad-widgetsLow

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

  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

<!-- 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

BranchStatusNotes
mainStableProduction ready
devActiveLatest features, may break
rikLegacyOlder API style

Version Detection

Claude should detect Makepad version from:

  1. Cargo.toml branch reference:

    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:

AspectDetection MethodAdaptation
Naming conventionScan existing widgetsMatch snake_case vs camelCase
Code organizationCheck module structureSuggest matching patterns
Comment styleRead existing commentsMatch documentation style
Widget complexityCount lines per widgetSuggest 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

スコア

総合スコア

80/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 500以上

+10
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

レビュー

💬

レビュー機能は近日公開予定です