roblox-api について
roblox-apiは、Roblox開発者向けにエンジンAPIを特定・確認するスキルです。クラス、メンバー、データ型、列挙型、グローバル、組み込みライブラリの正確な仕様や非推奨状況を調べ、設計などの範囲外の質問は関連スキルに引き継ぎます。
主な機能
- 01クラス、データ型、列挙型などからAPIを特定
- 02メンバー種別と呼び出し仕様を確認
- 03グローバルと組み込みライブラリの動作を参照
- 04非推奨APIと現行の代替手段を確認
- 05対象外の設計質問を関連スキルへ引き継ぎ
活用シーン
- 01機能を担当するサービスやクラスの特定
- 02メソッドの引数、戻り値、プロパティ型の確認
- 03レイキャストに必要なデータ型や列挙型の確認
- 04実装前のAPI非推奨状況の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ luumenlabs/ luau-skills --skill roblox-apiインストール後、Claude Code で/roblox-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/classes-reference.mddatatype-yaml-files.mddatatypes-reference.mdengine-library-yaml-files.mdengine-overview.mdenums-reference.mdglobals-reference.md詳細
roblox-api
使用する場面
タスクの主な目的が、適切な Roblox エンジンの API を特定または確認することである場合に、このスキルを使用します。
- 機能をどのクラスまたはサービスが担っているかを調べる場合。
- メンバーがプロパティ、メソッド、イベント、コールバックのどれに該当するかを確認する場合。
- データ型のコンストラクター、プロパティ、メソッド、定数、または数学的な動作を確認する場合。
- プロパティやパラメーターに適した列挙型ファミリーと項目を選ぶ場合。
game、workspace、script、plugin、Enumなどのグローバルを調べる場合。task、math、string、table、os、vectorなどの組み込みライブラリの動作を確認する場合。- コードを書く前に、正確なパラメーターの形式、戻り値、非推奨かどうかを確認する場合。
タスクの主な目的が次のいずれかである場合は、このスキルを使用しないでください。
- Roblox プロジェクト全体の構成、コードの配置、クライアントとサーバーの責務。
- リモートのセキュリティ、レプリケーションのアーキテクチャ、永続化の設計、Open Cloud のワークフロー。
- API の参照よりも構造的な判断が中心となる、より広範なシステム設計。
判断ルール
- 主な疑問が「ここではどのエンジン API を呼び出す、または参照するべきか」である場合は、このスキルを使用します。
- 既知の問題に対して、適切なクラス、メンバー、データ型、列挙型、グローバル、またはライブラリを特定する必要がある場合は、このスキルを使用します。
- 質問に合う最も限定的な対象から調べます。
- エンジンオブジェクトとサービスには、クラスまたはサービスを使用します。
Vector3、CFrame、RaycastParams、TweenInfoなどの値オブジェクトには、データ型を使用します。Enum.RaycastFilterType.Excludeなどの定義済みの値には、列挙型を使用します。game、workspace、script、Enumなど、常に使用できる名前には、グローバルを使用します。task、math、table、stringなどのテーブルに含まれる関数には、ライブラリを使用します。
- タスクの本質がコードの配置場所、状態を管理する側、またはシステムの構成方法に関するものである場合は、
roblox-coreに引き継ぎます。 - タスクの中心がリモート、信頼境界、レプリケーションの正確性、またはサーバー権限に関するものである場合は、
roblox-networkingに引き継ぎます。 - タスクの中心が永続ストレージ、クォータ、保存設計、またはサーバー間の状態に関するものである場合は、
roblox-dataに引き継ぎます。 - タスクの中心が Open Cloud、OAuth、または外部との統合に関するものである場合は、
roblox-cloudまたはroblox-oauthに引き継ぎます。 - 参照情報の調査と対象外の設計が混在する依頼では、エンジンリファレンスに関する部分のみ回答し、それ以外は対象外であることを明示します。
手順
- 検索する前に、不足している情報を特定します。
- どのエンジンオブジェクトまたはサービスが担当しますか?
- どのメンバー種別が必要ですか?
- API が想定するデータ型または列挙型は何ですか?
- どのグローバルまたはライブラリヘルパーが適していますか?
- まず、適切なリファレンスファイルを選択します。
references/engine-overview.mdは、対象となる領域の選択に使用します。references/classes-reference.mdは、クラス、サービス、メンバーの検索に使用します。references/datatypes-reference.mdは、値型とその使用方法の確認に使用します。references/enums-reference.mdは、列挙型のファミリーと項目の確認に使用します。references/globals-reference.mdは、Luau と Roblox のグローバルの確認に使用します。references/engine-library-yaml-files.mdは、組み込みライブラリの確認に使用します。references/datatype-yaml-files.mdは、データ型 YAML の構造とオーバーロードの解釈に使用します。
- コーディングする前に、API の正確な仕様を確認します。
- メンバー名。
- メンバー種別。
- パラメーターの順序と型。
- 戻り値の型。
- プロパティの型。
- 列挙型のファミリーと項目名。
- 非推奨かどうか、およびその他のタグ。
- 古いグローバルやレガシーな形式も存在する場合は、ドキュメントに記載された最新の方法を優先します。
wait()よりtask.wait()を優先します。delay()よりtask.delay()を優先します。- 明確さが重要な場合は、サービスへのアクセスに
game:GetService()を優先します。
- データ型またはライブラリのページにオーバーロードが記載されている場合は、呼び出しパターンを選ぶ前にすべてのオーバーロードを確認します。
- パラメーターまたはプロパティの型が別のデータ型や列挙型を参照している場合は、その依存関係をたどって個別に確認します。
- 回答は参照情報に基づき、実装に役立つ内容にとどめます。
- 正しい領域を明示します。
- 関連するシグネチャまたはプロパティ型を示します。
- 重要な列挙値、タグ、制約について説明します。
- アーキテクチャ、永続化、セキュリティシステムの設計に話を広げないでください。
リファレンスの使用方法
- ユーザーが問題を把握しているものの、該当するエンジン領域がわからない場合は、最初に
references/engine-overview.mdを開きます。 - クラス、サービス、メンバーの検索に関する質問では、
references/classes-reference.mdを開きます。 - 値オブジェクトまたはヘルパーコンテナーが関係する場合は、
references/datatypes-reference.mdを開きます。 - API が定数を必要とする場合は、
references/enums-reference.mdを開きます。 - スクリプトで使用できる組み込み名に関する質問では、
references/globals-reference.mdを開きます。 - 必要な API が
task、math、string、table、os、utf8、coroutine、debug、buffer、bit32、またはvectorに含まれる場合は、references/engine-library-yaml-files.mdを開きます。 - コンストラクターのオーバーロード、可変と不変の動作、定数、またはメンバー一覧を慎重に解釈する必要がある場合は、
references/datatype-yaml-files.mdを開きます。
チェックリスト
- 不足している情報を、クラス、メンバー、データ型、列挙型、グローバル、またはライブラリの検索事項として特定している。
- 問題に合致する、最も限定的なエンジン領域を選択している。
- 使用する前に、メンバー種別、パラメーターの順序、戻り値の型、プロパティの型を確認している。
- 必要な列挙型のファミリー名と項目名を正確に記載している。
- データ型のコンストラクターまたはメソッドが、ドキュメントに記載されたオーバーロードと一致している。
- 互換性のために必要な場合を除き、非推奨のグローバルやレガシーな形式を推奨していない。
- 回答が参照情報に基づく内容にとどまり、プロジェクトのアーキテクチャ、永続化、クラウドワークフローに話を広げていない。
- 対象範囲外のシステムについて、必要に応じて適切な Roblox スキルに案内している。
よくある間違い
roblox-coreが扱うプロジェクト構造の質問にroblox-apiを使用する。- メンバー名がプロパティ、メソッド、イベント、コールバックのどれに当たるか確認せずに推測する。
- 列挙型の項目が必要な場面で、数値をそのまま渡す。
- データ型を Instance クラスとして扱う、またはその逆を行う。
- コンストラクターのオーバーロードを見落とし、パラメーターの順序を誤る。
taskに同等の方法があるにもかかわらず、wait()やdelay()のような非推奨のグローバルを推奨する。- 特に
pluginについて、どのコンテキストでもグローバルが使えると思い込む。 - 単純な API の検索結果を、ネットワーク、データ、クラウドシステムの設計にまで広げる。
例
レイキャストに適したサーフェスを選択する
- クラスまたはサービス:
Workspace(WorldRootの動作を介して) - メソッド:
Workspace:Raycast(origin, direction, raycastParams) - データ型:
RaycastParams - 列挙型:
Enum.RaycastFilterType - 結果のデータ型:
RaycastResult
Tween API の呼び出しを確認する
- クラスまたはサービス:
TweenService - メソッド:
TweenService:Create(instance, tweenInfo, propertyTable) - データ型:
TweenInfo - 関連することの多い列挙型:
Enum.EasingStyle、Enum.EasingDirection
グローバル、データ型、列挙型の使い分け
local Workspace = game:GetService("Workspace")
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Exclude
local cf = CFrame.lookAt(Vector3.new(0, 5, 10), Vector3.zero)
gameは Roblox のグローバルです。RaycastParams、CFrame、Vector3はデータ型です。Enum.RaycastFilterType.Excludeは列挙型の項目です。
コメント
Markdown 対応