mcpField
R
roblox-api

roblox-api

github.com/luumenlabs開発13188 回インストール22 週間前に更新
リポジトリ

roblox-api について

roblox-apiは、Roblox開発者向けにエンジンAPIを特定・確認するスキルです。クラス、メンバー、データ型、列挙型、グローバル、組み込みライブラリの正確な仕様や非推奨状況を調べ、設計などの範囲外の質問は関連スキルに引き継ぎます。

主な機能

  1. 01クラス、データ型、列挙型などからAPIを特定
  2. 02メンバー種別と呼び出し仕様を確認
  3. 03グローバルと組み込みライブラリの動作を参照
  4. 04非推奨APIと現行の代替手段を確認
  5. 05対象外の設計質問を関連スキルへ引き継ぎ

活用シーン

  1. 01機能を担当するサービスやクラスの特定
  2. 02メソッドの引数、戻り値、プロパティ型の確認
  3. 03レイキャストに必要なデータ型や列挙型の確認
  4. 04実装前のAPI非推奨状況の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/luumenlabs/luau-skills --skill roblox-api

インストール後、Claude Code で/roblox-apiを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
classes-reference.md
datatype-yaml-files.md
datatypes-reference.md
engine-library-yaml-files.md
engine-overview.md
enums-reference.md
globals-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 に引き継ぎます。
  • 参照情報の調査と対象外の設計が混在する依頼では、エンジンリファレンスに関する部分のみ回答し、それ以外は対象外であることを明示します。

手順

  1. 検索する前に、不足している情報を特定します。
    • どのエンジンオブジェクトまたはサービスが担当しますか?
    • どのメンバー種別が必要ですか?
    • API が想定するデータ型または列挙型は何ですか?
    • どのグローバルまたはライブラリヘルパーが適していますか?
  2. まず、適切なリファレンスファイルを選択します。
    • 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 の構造とオーバーロードの解釈に使用します。
  3. コーディングする前に、API の正確な仕様を確認します。
    • メンバー名。
    • メンバー種別。
    • パラメーターの順序と型。
    • 戻り値の型。
    • プロパティの型。
    • 列挙型のファミリーと項目名。
    • 非推奨かどうか、およびその他のタグ。
  4. 古いグローバルやレガシーな形式も存在する場合は、ドキュメントに記載された最新の方法を優先します。
    • wait() より task.wait() を優先します。
    • delay() より task.delay() を優先します。
    • 明確さが重要な場合は、サービスへのアクセスに game:GetService() を優先します。
  5. データ型またはライブラリのページにオーバーロードが記載されている場合は、呼び出しパターンを選ぶ前にすべてのオーバーロードを確認します。
  6. パラメーターまたはプロパティの型が別のデータ型や列挙型を参照している場合は、その依存関係をたどって個別に確認します。
  7. 回答は参照情報に基づき、実装に役立つ内容にとどめます。
    • 正しい領域を明示します。
    • 関連するシグネチャまたはプロパティ型を示します。
    • 重要な列挙値、タグ、制約について説明します。
    • アーキテクチャ、永続化、セキュリティシステムの設計に話を広げないでください。

リファレンスの使用方法

  • ユーザーが問題を把握しているものの、該当するエンジン領域がわからない場合は、最初に 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 は列挙型の項目です。

コメント