evolution について
`makepad-skills` ライブラリを発展させるための、レビュー可能な保守ワークフローです。知見の分類、根拠に基づく更新、検証、自己修正、バージョン別の指針を扱い、フックによる自動化は任意で、このスキル自体はフックを導入しません。
主な機能
- 01再利用可能な Makepad の知見を分類
- 02根拠に基づくスキル更新を支援
- 03スキル内容の検証と修正
- 04Makepad のバージョンに応じた調整
- 05任意のフックベースのスキル振り分け
活用シーン
- 01再利用可能なウィジェットやシェーダーのパターンを記録
- 02誤りを確認した後にスキル内容を修正
- 03Makepad のバージョンに照らしてスキルの指針を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill evolutionインストール後、Claude Code で/evolutionを入力して読み込まれたか確認します。
詳細
Makepad Skills Evolution
このスキルは、開発中に makepad-skills を保守するための、レビュー可能なワークフローを提供します。このスキルだけでは、自動進化はインストールされません。
使用するタイミング
makepad-skillsを保守しており、開発中にスキルライブラリを改善したい場合。- 新しいパターンをスキルの更新やフック駆動の進化に反映するタイミングを判断するワークフローが必要な場合。
- スキルセットの自己修正、自己検証、またはバージョン適応に取り組んでいる場合。
クイックナビゲーション
| トピック | 説明 |
|---|---|
| コラボレーションガイドライン | makepad-skills への貢献 |
| フックの設定 | フックによる進化の自動トリガー |
| 進化のタイミング | トリガーと分類 |
| 進化のプロセス | 手順ガイド |
| 自己修正 | スキルのエラーを自動修正 |
| 自己検証 | スキルの正確性を検証 |
| バージョン適応 | 複数ブランチへの対応 |
明示的に依頼されたスキルリポジトリのみを更新してください。気づいた教訓だけでは、永続的なメモリの編集、インストール済みスキルの変更、フック、コミット、リモートへの公開を行う許可にはなりません。再利用可能な証拠は、プロジェクトの秘密情報や非公開ソースとは分けてください。
フックによる自動トリガー
このカタログのコピーにはフックファイルが同梱されていません。フックの設定を依頼された場合は、レビュー済みの不変な上流リビジョンを取得し、インストーラーと、インストーラーが取得するすべてのフックを調査したうえで、既存のホスト設定を保持してください。以下の過去のインストーラー URL は参照先であり、変更可能なリモートコードを実行する許可ではありません。レビュー後にのみ --with-hooks を指定してインストールしてください。
# Install makepad-skills with hooks enabled
tmpdir="$(mktemp -d)"
trap 'rm -rf "$tmpdir"' EXIT
curl -fsSLo "$tmpdir/makepad-skills-install.sh" https://raw.githubusercontent.com/ZhangHanDong/makepad-skills/main/install.sh
cat "$tmpdir/makepad-skills-install.sh" # review the full installer before executing
# Execute only the reviewed revision after explicit hook-install authorization:
# bash "$tmpdir/makepad-skills-install.sh" --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 フックは、ユーザーのクエリに基づいて関連するスキルを自動的に読み込みます。
コンテキストの検出
| コンテキスト | トリガーキーワード | 読み込まれるスキル |
|---|---|---|
| フルアプリ | "build app", "从零", "完整应用" | basics, dsl, layout, widgets, event-action, app-architecture |
| UI デザイン | "ui design", "界面设计" | dsl, layout, widgets, animation, shaders |
| ウィジェットの作成 | "create widget", "创建组件", "自定义组件" | widgets, dsl, layout, animation, shaders, font, event-action |
| 本番環境 | "best practice", "robrix pattern", "实际项目" | 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 |
例
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
進化させるタイミング
開発中に次のいずれかが発生したら、スキルの進化を促します。
| トリガー | 対象スキル | 優先度 |
|---|---|---|
| 新しいウィジェットパターンを発見 | 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:知識を分類する
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/
ステップ 3:貢献内容を整える
パターンの場合:
## Pattern N: [Pattern Name]
Brief description of what this pattern solves.
### live_design!
```rust
live_design! {
// DSL code
}
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
ステップ 5: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
自己修正
スキルの内容がエラーの原因になっているように見える場合は、原因を確認し、許可されたメンテナンス範囲内で的を絞った修正を準備します。
トリガー条件
User follows skill advice → Code fails to compile/run → Claude identifies skill was wrong
↓
Prepare evidence-backed correction for review
修正フロー
- 検出 - スキルの助言がエラーにつながった
- 検証 - スキルの内容が誤っていることを確認する
- 修正 - 検証済みの修正を許可されたソーススキルに反映する。インストール済みのスキルや無関係なスキルを黙って編集しない
修正マーカーの形式
自己検証
スキルの内容が今も正確であることを定期的に確認します。
検証チェックリスト
## 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
検証プロンプト
「現在の Makepad バージョンに照らして makepad-skills を検証してください」
バージョンへの適応
異なる Makepad ブランチ向けに、バージョン固有のガイダンスを提供します。
対応バージョン
| ブランチ | ステータス | 備考 |
|---|---|---|
| main | 選択したリビジョンで確認 | ブランチ名だけでは安定性は保証されません |
| dev | 開発中 | 最新機能を含みますが、破壊的変更が発生する可能性があります |
| rik | レガシー | 古い API スタイル |
バージョンの検出
Claude は次の情報から Makepad のバージョンを検出する必要があります。
-
Cargo.toml のブランチ参照:
makepad-widgets = { git = "...", branch = "dev" } -
Cargo.lock の内容
-
不明な場合はユーザーに確認する
パーソナライズ
プロジェクトのコーディングスタイルに合わせてスキルの提案を調整します。
スタイルの検出
Claude は現在のプロジェクトを分析し、次の項目を検出します。
| 項目 | 検出方法 | 調整内容 |
|---|---|---|
| 命名規則 | 既存のウィジェットを確認 | snake_case と camelCase のどちらを使うか合わせる |
| コードの構成 | モジュール構造を確認 | 一致するパターンを提案 |
| コメントのスタイル | 既存のコメントを読む | ドキュメントのスタイルを合わせる |
| ウィジェットの複雑さ | ウィジェットごとの行数を数える | 適切なパターンを提案 |
品質ガイドライン
追加するもの
- 汎用的で再利用可能なパターン
- 明確な解決策がある一般的なエラー
- 十分にテストされたシェーダー効果
- プラットフォーム固有の注意点
- パフォーマンスの最適化
追加しないもの
- プロジェクト固有のコード
- 検証されていない解決策
- 重複した内容
- 不完全な例
- 理由のない個人的な好み
スキルファイルの場所
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
自動進化プロンプト
次のプロンプトを使って自己進化を促します。
問題を解決した後
「この解決策を今後の参考として makepad-skills に追加してください。」
ウィジェットを作成した後
「このウィジェットパターンは再利用可能です。makepad-patterns に追加しましょう。」
デバッグの後
「このエラーと修正方法を makepad-troubleshooting に記録してください。」
機能を完成させた後
「学んだことを振り返り、該当する場合は makepad-skills を更新してください。」
継続的改善チェックリスト
Makepad の開発セッション後は、次の点を検討してください。
- 新しいウィジェット構成パターンを発見しましたか?
- 難しいシェーダーの問題を解決しましたか?
- 分かりにくいエラーに遭遇し、修正しましたか?
- レイアウトを構成するより良い方法を見つけましたか?
- パッケージ化やデプロイについて何か学びましたか?
- これらの知見は、ほかの Makepad 開発者にも役立ちますか?
いずれかに「はい」と答えた場合は、根拠に基づいた更新を提案してください。実施するのは、ユーザーが依頼した保守の範囲内に限ります。
参考資料
制限事項
- このスキルは、タスクが上記の範囲に明確に該当する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中止して確認を求めてください。