VRCスキルリノベーター は何をしますか?
概要
このリポジトリ内のVRChat関連スキルをリノベーション(知識の補充、情報の刷新、品質向上)するためのガイドです。
リノベーションの三本柱
| 柱 | 説明 | 例 |
|---|---|---|
| 充填 | 不足している知識の追加 | 文書化されていないAPI、パターン、ヒント |
| 更新 | 古い情報の更新 | 新しいSDKバージョン対応、非推奨APIの削除 |
| 品質向上 | 既存知識の正確性・網羅性の改善 | コード例の追加、説明の改善 |
対象スキル
パス表記:
skills/はリポジトリルートのskills/ディレクトリを指します。rules/はskills/unity-vrc-udon-sharp/rules/以下のファイルを指します。 このスキル自体は.claude/skills/unity-vrc-skills-renovator/に配置されています(開発専用、npmでは配布しません)。
| スキル | ディレクトリ | 内容 |
|---|---|---|
unity-vrc-udon-sharp | skills/unity-vrc-udon-sharp/ | UdonSharpコーディング、ネットワーキング、イベント |
unity-vrc-world-sdk-3 | skills/unity-vrc-world-sdk-3/ | VRCコンポーネント、レイヤー設定、ワールド最適化 |
リノベーション手順
フェーズ1: 現状分析
- 各スキルの現在のSDKバージョン対応を確認する
Read: skills/unity-vrc-udon-sharp/SKILL.md
Read: skills/unity-vrc-world-sdk-3/SKILL.md
→ 各ファイルの「対応SDKバージョン」行を確認
- 各スキルのファイル一覧を確認する
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-sharp | NetworkCallable、新しいイベント |
| コンポーネント、レイヤー、最適化 | unity-vrc-world-sdk-3 | 新しいコンポーネント、設定変更 |
| 両方に影響 | 両方 | SDKバージョン参照、Persistence |
フェーズ4: unity-vrc-udon-sharp の更新
| 優先度 | ファイル | 更新内容 |
|---|---|---|
| 1 | SKILL.md | SDKバージョン対応、新機能サマリー |
| 2 | references/constraints.md | 新たに利用可能になった機能 |
| 3 | references/networking.md | 新しいネットワーキング機能 |
| 4 | references/events.md | 新しいイベント |
| 5 | references/api.md | 新しいAPI |
| 6 | CHEATSHEET.md | クイックリファレンスの更新 |
| 7 | references/patterns.md | 新機能の使用パターン |
| 8 | references/troubleshooting.md | トラブルシューティング |
フェーズ5: unity-vrc-world-sdk-3 の更新
| 優先度 | ファイル | 更新内容 |
|---|---|---|
| 1 | SKILL.md | SDKバージョン対応、新機能サマリー |
| 2 | references/components.md | 新しいコンポーネント、プロパティ変更 |
| 3 | references/layers.md | レイヤー/衝突設定の変更 |
| 4 | references/performance.md | 新しい最適化ガイドライン |
| 5 | references/lighting.md | 照明関連の変更 |
| 6 | references/audio-video.md | オーディオ/ビデオ関連の変更 |
| 7 | references/upload.md | アップロード手順の変更 |
| 8 | CHEATSHEET.md | クイックリファレンスの更新 |
| 9 | references/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: 検証
- 全ファイルでSDKバージョン参照を統一
- 両スキル間の相互参照リンクを確認
- コードサンプルの構文をチェック
- 3層の整合性チェック: Knowledge / Rules / Enforcement が同じ事実を反映していることを確認
- 制約リストが3層間で一貫している
- 制限値(同期変数数、文字列長など)が3層間で一貫している
- テンプレートがブロック機能を使用していない
公式ソース
詳細は references/changelog-sources.md を参照してください。
一次ソース
| ソース | URL | 内容 |
|---|---|---|
| SDKリリース | creators.vrchat.com/releases/ | 公式リリースノート |
| UdonSharpブログ | udonsharp.docs.vrchat.com/news/ | UdonSharp固有の更新情報 |
| VRChat Canny | feedback.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(詳細)