Communityコーディング&開発github.com

VRCスキルリノベーター

AIコーディングエージェントがVRChat UdonSharpコード(SDK 3.7.1~3.10.2)を正しく生成できるよう、スキル・ルール・検証フックを整備・更新する手順書です。

VRCスキルリノベーター とは?

このスキルは、VRChat関連スキル(unity-vrc-udon-sharp および unity-vrc-world-sdk-3)を最新・高品質に保つための「リノベーション(改修)」手順を定義しています。主な目的は、AIコーディングエージェント(Claude Codeなど)がUdonSharpコードを正しく生成できるようにするための知識ベース、ルールファイル、検証フックを体系的に更新することです。手順は「充填(不足知識の追加)」「更新(古い情報の刷新)」「品質向上(正確性・網羅性の改善)」の3本柱で構成され、8つのフェーズ(現状分析→情報収集→計画立案→各スキルの更新→新ファイル作成→ルール層&強制層の同期→検証)を踏みます。プラットフォームはClaude Code(.claude/skills/)向けに最適化されていますが、他のエージェントにも応用可能です。特に、UdonSharpの制約やネットワーキングパターン、同期変数管理など、正確なコード生成に不可欠なルールを3層(知識・ルール・強制)で一貫させる点が特徴です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add niaka3dayo/agent-skills-vrc-udon

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

VRCスキルリノベーター は何をしますか?

概要

このリポジトリ内のVRChat関連スキルをリノベーション(知識の補充、情報の刷新、品質向上)するためのガイドです。

リノベーションの三本柱

柱説明例
充填不足している知識の追加文書化されていないAPI、パターン、ヒント
更新古い情報の更新新しいSDKバージョン対応、非推奨APIの削除
品質向上既存知識の正確性・網羅性の改善コード例の追加、説明の改善

対象スキル

パス表記: skills/ はリポジトリルートの skills/ ディレクトリを指します。 rules/ は skills/unity-vrc-udon-sharp/rules/ 以下のファイルを指します。 このスキル自体は .claude/skills/unity-vrc-skills-renovator/ に配置されています(開発専用、npmでは配布しません)。

スキルディレクトリ内容
unity-vrc-udon-sharpskills/unity-vrc-udon-sharp/UdonSharpコーディング、ネットワーキング、イベント
unity-vrc-world-sdk-3skills/unity-vrc-world-sdk-3/VRCコンポーネント、レイヤー設定、ワールド最適化

リノベーション手順

フェーズ1: 現状分析

  1. 各スキルの現在のSDKバージョン対応を確認する
Read: skills/unity-vrc-udon-sharp/SKILL.md
Read: skills/unity-vrc-world-sdk-3/SKILL.md
→ 各ファイルの「対応SDKバージョン」行を確認
  1. 各スキルのファイル一覧を確認する
Glob: skills/unity-vrc-udon-sharp/**/*
Glob: skills/unity-vrc-world-sdk-3/**/*

フェーズ2: 情報収集

以下の検索クエリを並行実行して最新情報を収集します:

# 必須検索(並列実行推奨)
1. "VRChat SDK {現在の年} 新機能 アップデート チェンジログ"
2. "UdonSharp VRChat SDK 3.{次のマイナーバージョン} 変更点"
3. "VRChat Worlds SDK {現在の年} UdonSharp"
4. "VRChat World SDK コンポーネント 新機能 {現在の年}"

# 補足検索(必要に応じて)
5. "VRChat SDK NetworkCallable パラメータ"
6. "VRChat SDK 永続化 PlayerData"
7. "VRChat SDK PhysBones Contacts ワールド"

詳細は references/search-queries.md を参照してください。

フェーズ3: リノベーション計画

収集した情報を 3本柱 と 対象スキル で分類します:

柱による分類

柱内容アクション
充填スキルにまだ含まれていない情報新しいセクションの追加、コード例の追加
更新古い情報バージョン参照の更新、非推奨APIの削除
品質向上不正確または不十分な説明説明の改善、パターンの追加

スキルによる分類

カテゴリ対象スキル例
C# API、ネットワーキング、同期変数unity-vrc-udon-sharpNetworkCallable、新しいイベント
コンポーネント、レイヤー、最適化unity-vrc-world-sdk-3新しいコンポーネント、設定変更
両方に影響両方SDKバージョン参照、Persistence

フェーズ4: unity-vrc-udon-sharp の更新

優先度ファイル更新内容
1SKILL.mdSDKバージョン対応、新機能サマリー
2references/constraints.md新たに利用可能になった機能
3references/networking.md新しいネットワーキング機能
4references/events.md新しいイベント
5references/api.md新しいAPI
6CHEATSHEET.mdクイックリファレンスの更新
7references/patterns.md新機能の使用パターン
8references/troubleshooting.mdトラブルシューティング

フェーズ5: unity-vrc-world-sdk-3 の更新

優先度ファイル更新内容
1SKILL.mdSDKバージョン対応、新機能サマリー
2references/components.md新しいコンポーネント、プロパティ変更
3references/layers.mdレイヤー/衝突設定の変更
4references/performance.md新しい最適化ガイドライン
5references/lighting.md照明関連の変更
6references/audio-video.mdオーディオ/ビデオ関連の変更
7references/upload.mdアップロード手順の変更
8CHEATSHEET.mdクイックリファレンスの更新
9references/troubleshooting.mdトラブルシューティング

フェーズ6: 新規ファイル作成(必要な場合)

主要な新機能が追加された場合:

  • 該当スキルの references/ に専用の参照ファイルを作成
  • 対応するSKILL.mdのResourcesセクションにリンクを追加

フェーズ7: ルール層・強制層の同期

Knowledge層(references/*.md)が変更された場合、必ずRules層とEnforcement層も同期します。

7a. Rules層 — 自動ロードルール(skills/unity-vrc-udon-sharp/rules/)

Read: skills/unity-vrc-udon-sharp/rules/udonsharp-constraints.md
Read: skills/unity-vrc-udon-sharp/rules/udonsharp-networking.md
Read: skills/unity-vrc-udon-sharp/rules/udonsharp-sync-selection.md
→ Knowledge層との差異を確認し、同じ事実を反映
変更タイプ対象ルールファイルアクション
ブロック機能の追加/削除udonsharp-constraints.mdブロックリスト/利用可能リストの更新
ネットワーキングの変更udonsharp-networking.md同期モード、制限、パターンの更新
データ予算の変更udonsharp-sync-selection.md予算値、決定木の更新

7b. Enforcement層 — 検証フック(hooks/)

Read: skills/unity-vrc-udon-sharp/hooks/validate-udonsharp.sh
Read: skills/unity-vrc-udon-sharp/hooks/validate-udonsharp.ps1
→ 制約変更に基づいてルールを追加/削除/修正
変更タイプフック側のアクション
機能のブロック解除対応するgrepパターンを削除
新しい制約の追加新しいgrepパターンを追加
制限値の変更閾値(synced_countなど)を更新
新しいアンチパターン新しい警告ルールを追加

重要: .sh と .ps1 は同じルールセットを維持すること(片方だけ更新しない)。

7c. Enforcement層 — テンプレート(assets/templates/)

Read: skills/unity-vrc-udon-sharp/assets/templates/BasicInteraction.cs
Read: skills/unity-vrc-udon-sharp/assets/templates/SyncedObject.cs
Read: skills/unity-vrc-udon-sharp/assets/templates/PlayerSettings.cs
Read: skills/unity-vrc-udon-sharp/assets/templates/CustomInspector.cs
→ 非推奨パターンを削除し、新しいベストプラクティスを反映
変更タイプテンプレート側のアクション
新しいAPIが推奨にテンプレートを新しいAPIに更新
パターンが非推奨に推奨パターンに書き換え
新しいベストプラクティス該当テンプレートに反映、または新テンプレート作成

フェーズ8: 検証

  1. 全ファイルでSDKバージョン参照を統一
  2. 両スキル間の相互参照リンクを確認
  3. コードサンプルの構文をチェック
  4. 3層の整合性チェック: Knowledge / Rules / Enforcement が同じ事実を反映していることを確認
    • 制約リストが3層間で一貫している
    • 制限値(同期変数数、文字列長など)が3層間で一貫している
    • テンプレートがブロック機能を使用していない

公式ソース

詳細は references/changelog-sources.md を参照してください。

一次ソース

ソースURL内容
SDKリリースcreators.vrchat.com/releases/公式リリースノート
UdonSharpブログudonsharp.docs.vrchat.com/news/UdonSharp固有の更新情報
VRChat Cannyfeedback.vrchat.com/udon機能リクエストと完了状況

公式ドキュメントのWeb検索

# 公式ドキュメントの検索
WebSearch: "API名または機能 site:creators.vrchat.com"

# UdonSharp APIリファレンス
WebSearch: "API名 site:udonsharp.docs.vrchat.com"

検索ノート

  • VRChat公式サイトは403エラーを返す場合があるため、WebFetchではなくWebSearchを使用
  • 日本語ソース(Qiitaなど)も有用ですが、公式情報を優先
  • UdonSharpのGitHubリリースページもチェックすること

リノベーション履歴テンプレート

以下の形式でリノベーションを記録:

## リノベーション履歴

### YYYY-MM-DD - サマリー(例: SDK X.Y.Z対応 / 知識充填 / 品質向上)

**充填(新規追加):**
- 追加した知識 / セクション

**更新(修正):**
- 更新した情報 / 修正点

**品質向上:**
- 改善した説明 / 追加した例

**ルール層同期:**
- unity-vrc-udon-sharp/rules/udonsharp-constraints.md: 変更内容
- unity-vrc-udon-sharp/rules/udonsharp-networking.md: 変更内容

**強制層同期:**
- hooks/validate-udonsharp.sh: 追加/削除したルール
- hooks/validate-udonsharp.ps1: .shと同期
- assets/templates/SyncedObject.cs: パターン更新

**変更ファイル:**
- unity-vrc-udon-sharp/file.md: 変更内容
- unity-vrc-world-sdk-3/file.md: 変更内容

**3層整合性**: OK / NG(詳細)

関連スキル