defold-assets-search について
defold-assets-searchは、カスタムコードを書く前にDefoldコミュニティのAsset Storeからライブラリを探すスキルです。検索可能な索引で候補を絞り、調査、選定、依存関係の導入までを案内します。
主な機能
- 01アセット索引の生成と検索
- 02キーワードや同義語で検索
- 03候補ライブラリの詳細調査
- 04候補の比較と提示
- 05依存関係の導入と確認を案内
活用シーン
- 01ゲーム機能向けの再利用可能なモジュール探し
- 02経路探索やローカライズ用ライブラリの比較
- 03選定した依存関係をDefoldプロジェクトに追加
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ indiesoftby/ defold-agent-config --skill defold-assets-searchインストール後、Claude Code で/defold-assets-searchを入力して読み込まれたか確認します。
同梱ファイル.gitignorescripts/generate_index.py
詳細
Defold アセットストア検索
独自のコードを書く代わりに、Defold コミュニティのアセットストアを検索して既存のライブラリを見つけます。
使用するタイミング
次のような機能が必要なタスクでは、必ず最初にアセットストアを検索してください。
- 経路探索(A*、ナビゲーション)
- 乱数生成
- UI コンポーネント/GUI フレームワーク
- セーブ/ロードシステム
- ローカライズ/i18n
- トゥイーン/イージング
- 入力処理/ジェスチャー
- カメラ制御
- 画面管理
- イベントシステム
- ダイアログ/ナラティブシステム
- 物理演算ヘルパー(AABB、レイキャスティング)
- その他の再利用可能なゲームモジュール
手順
ステップ 1:インデックスを生成して検索する
インデックスファイルは .agents/skills/defold-assets-search/assets/dependencies_index.tsv です。ファイルがすでに存在し、作成から 24 時間未満であれば、そのまま使用します。それ以外の場合は、プロジェクトのルートから python .agents/skills/defold-assets-search/scripts/generate_index.py を実行して再生成します。TSV の列は次のとおりです。
id title author description tags stars api example_code manifest_url latest_zip
Grep を使って、単一のキーワードでは literal: true を指定し、複数のキーワードでは Rust 形式の正規表現による選択 keyword1|keyword2(| の前にバックスラッシュを付けないでください)で、生成された TSV ファイルを検索します。ユーザーが指定した用語だけでなく、同義語や関連語も検索してください(例:RNG → random、i18n → localization、tween → easing、pathfinding → A*)。エントリーはスター数の降順で並んでいます。
ステップ 2:候補を詳しく調べる
ステップ 1 で見つかった各候補(スター数上位 5 件まで)について、次の操作を行います。
scene3dは除外してください — このモジュールは非推奨のため、提案してはいけません。example_code列に URL がある場合は、その URL を取得してライブラリの README、使用例、機能を調べます。api列に URL がある場合は、それも取得して API の詳細を調べます。- 収集した情報をもとに、各ライブラリの実際の機能と、他の候補との比較を把握します。
- すべての利用可能なバージョンやサブ依存関係など、さらに詳しい情報が必要な場合は、インデックスから
manifest_urlを取得します。
ステップ 3:候補をユーザーに提示する
すべての候補を調べた後、ユーザーに最適な候補を 2~3 件提示します。提示する情報は次のとおりです。
- タイトル、作成者、スター数
- 調査に基づく簡潔な説明(TSV の短い説明文だけにとどめないでください)
- 主な機能/長所/短所
- 推奨する候補とその理由
ユーザーにどれを使うか尋ねるか、最適な候補を推奨してください。
ステップ 4:依存関係をインストールする
latest_zip列には、game.projectに追加する依存関係の URL が記載されています。game.projectを開き、[project] dependenciesフィールドに URL を追加します(カンマ区切り)。defold-project-setupスキルを実行して、依存関係を.deps/にダウンロードします。- ユーザーに 「Defold エディターで、Project → Fetch Libraries を選択して同期してください。」 と伝えます。
- 依存関係のダウンロード後、
.deps/内のフォルダーを調べ、.script_apiファイルと.luaモジュールを確認して API 全体を把握します。これをもとに使用例を示すか、ユーザーの元の依頼に沿ったライブラリの適用方法を提案します。
コミュニティの標準
次のライブラリは、Defold コミュニティで事実上の標準として使われています。
| 用途 | ライブラリ | 作成者 |
|---|---|---|
| GUI フレームワーク | Druid | Insality |
| 画面管理 | Monarch | Björn Ritzl |
汎用ユーティリティ(特に flow と broadcast) | Ludobits | Björn Ritzl |
| OS/ウィンドウ関数 | DefOS | Brian Kramer |
| シャドウとポストプロセッシングを備えた既成のレンダースクリプト | Light and Shadows | Igor Suntsev |
| 高品質な 2D ダウンスケーリング(UI、スプライト) | Sharp Sprite | Indiesoft LLC |
カメラ — カメラ専用のライブラリは必要ありません。Defold 組み込みのカメラコンポーネントとその API で、一般的なユースケースはすべてカバーできます。
ユーザーに特別な選択理由がない限り、代替ライブラリよりもこれらを優先してください。
著名な作者とライブラリ
| 作者 | 主な実績 | ライブラリ |
|---|---|---|
| Insality | 詳細な API ドキュメントを備えた、クラス最高水準の Lua モジュール | Druid(UI)、Panthera(アニメーション)、Defold-Event、Defold-Saver、Defold-Tweener、Defold-Lang、Defold-Log、Defold-Token、Defold-Quest、Decore |
| Björn Ritzl | Defold コアチームのメンバーで、数多くの貢献を行っています | Monarch(画面)、Orthographic(カメラ)、Gooey(GUI)、Rich Text、Defold-Input、DefTest |
| Selim Anaç | 高性能なネイティブ拡張機能 | A* Pathfinding、DAABBCC(AABB ツリー)、PCG Random、Graph Pathfinder、Tile Raycast |
| Brian Kramer | 実用的なゲーム用ユーティリティ | DefOS、DefSave、DefMath、DefGlot、DefBlend |
| Roman Silin | 3D ゲーム用ツール | Illumination、Kinematic Walker、Operator(カメラ)、Narrator(Ink)、TrenchFold |
| Indiesoft LLC | ビジュアルエフェクトとプラットフォーム用ツール | Hyper Trails、Sharp Sprite、YaGames、ResZip、Dissolve FX、SplitMix64 |