mcpField
R
roblox-luau-developer

roblox-luau-developer

github.com/demon673開発080 回インストール2 日前に更新
リポジトリ

roblox-luau-developer について

Roblox Luau プロジェクトの実装、レビュー、リファクタリング、デバッグを支援するワークフロースキルです。Rojo 管理のコードベースにも対応し、サーバーとクライアントの境界や検証結果の記録を案内します。

主な機能

  1. 01Rojo、Studio エクスポート、roblox-ts の判別
  2. 02サーバー・クライアントコードと Remote 呼び出しの確認
  3. 03実行時、レプリケーション、DataStore の問題調査
  4. 04Rojo の同期・保守ワークフロー
  5. 05検証方法の選択と根拠の記録

活用シーン

  1. 01編集前の Roblox コードベースのレビュー
  2. 02実行時またはレプリケーション障害の追跡
  3. 03Rojo 管理プロジェクトの保守と同期

インストール

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

$npx skills add https://github.com/demon673/demon-agent-skill --skill roblox-luau-developer

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

同梱ファイル

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

agents/
openai.yaml
references/
gameplay-debugging.md
rojo-workflow.md

詳細

Roblox Luau 開発者

Roblox Luau コードの実装、レビュー、リファクタリング、ランタイムの問題の診断、Rojo 管理のコードベースの同期を行うワークフローです。Luau と Roblox のサーバー/クライアントモデルを前提としています。プロジェクトの構成については次に説明します。

プロジェクトの構成を特定する

まず、プロジェクトの構成を確認します。

  • Rojo プロジェクト:default.project.json または *.project.json があります。ツールチェーンのファイルと同期ワークフローについては、references/rojo-workflow.md を参照してください。
  • Studio エクスポート:.rbxlx、.rbxmx、.model.json、src/、ReplicatedStorage/、ServerScriptService/ を確認します。
  • TypeScript ソース:roblox-ts プロジェクトには、tsconfig.json、rbxtsc、@rbxts/* パッケージがあります。.ts ソースが信頼できる唯一のソースであり、out/ は roblox-typescript-developer が管理するビルド成果物です。

編集前に読む

  • rg を使ってサービス、モジュール、Remote 名、Attribute 名、CollectionService タグを検索します。
  • ServerScripts、LocalScripts、ModuleScripts の呼び出し方向を把握します。
  • Instance のパス、Remote 名、UI コントロール名はプロジェクトに基づきます。

サーバー/クライアントのレイヤーを維持する

  • 権威ある状態と検証はサーバー側で管理します。
  • クライアントは入力、表示、予測、リクエストを処理します。
  • Remote のパラメーターは、型と権限を検証する必要があります。
  • DataStore への書き込みには、スロットリング、再試行、失敗処理が必要です。

変更は小さくする

  • 既存モジュールの戻り値の形、サービス名、require のスタイルを維持します。
  • モジュールの状態はモジュール内に置くか、パラメーターとして渡します。
  • 共有テーブルと接続オブジェクトのクリーンアップ手段を用意します。

デバッグ

ランタイム、レプリケーション、パフォーマンス、DataStore、UI が更新されない問題については、references/gameplay-debugging.md のプレイブックに従ってください。問題がデータフローではなく UI のレイアウト、フォーカス、画面のライフサイクルに関する場合は、roblox-ui-developer に引き継いでください。

Rojo プロジェクト

Rojo 管理のコードベースの理解、保守、同期については、references/rojo-workflow.md に従ってください。

注意点

  • クライアントからの入力は信頼できません。体力、通貨、インベントリを管理するサーバーで、すべての remote 引数の型と範囲を検証してください。
  • LocalScript の配置場所によって、クライアントコードが実行されるかどうかが決まります。配置場所は StarterPlayerScripts、StarterCharacterScripts、StarterGui、またはツールです。サーバーの Script は ServerScriptService または Workspace に配置します。
  • task.wait、task.spawn、task.delay を使ってください。グローバル関数の wait、spawn、delay は非推奨で、スケジュールの効率も劣ります。
  • Parent を設定する前にプロパティを設定してください。親への設定によってレプリケーションが行われるため、インスタンスは最終状態で一度だけレプリケーションされるようにします。
  • まだレプリケーションされていないオブジェクトは、クライアント側で nil として見えることがあります。参加直後は parent:WaitForChild("Name") を使って参照してください。
  • 接続オブジェクトを保持し、終了時に切断してください。長時間有効な :Connect ハンドラーはメモリリークを引き起こし、破棄済みインスタンスでも実行されます。呼び出しが一度だけ想定される場合は :Once を使ってください。
  • RemoteFunction は呼び出し元をブロックするため、応答の遅いクライアントによってサーバーが停止することがあります。返信が本当に必要な場合を除き、一方向の RemoteEvent を優先してください。

検証

  • 既存のチェックを優先してください。selene、stylua、luau-lsp、lune、rojo、またはプロジェクトのスクリプトを使います。
  • 検証結果の確度を明示します。Studio で実行済み、静的チェック済み(lint、analyze、sourcemap)、準備済みだが未実行、または未検証のいずれかです。最後の3つを Studio での合格として提示してはいけません。

出力

  • 変更点:変更したスクリプトと動作。
  • サーバー/クライアントの境界:権威あるロジックの配置場所。
  • Remote/DataStore のリスク:追加または変更したインターフェース。
  • 検証:実際に実行したチェックと、上記の確度。

コメント