VRC Skills Renovator (VRC 스킬 리노베이터)
개요
이 저장소의 VRChat 관련 스킬들을 리노베이션(지식 보강, 최신화, 품질 개선)하기 위한 가이드입니다.
리노베이션의 세 가지 축
| 축 | 설명 | 예시 |
|---|---|---|
| 보강 (Fill) | 누락된 지식 추가 | 문서화되지 않은 API, 패턴, 팁 |
| 최신화 (Refresh) | 오래된 정보 업데이트 | 새 SDK 버전 지원, 더 이상 사용되지 않는 API 제거 |
| 품질 개선 (Quality Improvement) | 기존 지식의 정확성과 범위 개선 | 코드 예제 추가, 설명 개선 |
대상 스킬
경로 표기:
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
→ 각 파일의 "Supported SDK version" 줄 확인
- 각 스킬의 파일 목록 확인
Glob: skills/unity-vrc-udon-sharp/**/*
Glob: skills/unity-vrc-world-sdk-3/**/*
2단계: 정보 수집
다음 검색 쿼리를 병렬로 실행하여 최신 정보를 수집합니다:
# 필수 검색 (병렬 실행 권장)
1. "VRChat SDK {현재 연도} new features updates changelog"
2. "UdonSharp VRChat SDK 3.{다음 부 버전} changes"
3. "VRChat Worlds SDK {현재 연도} UdonSharp"
4. "VRChat World SDK components new features {현재 연도}"
# 보조 검색 (필요시)
5. "VRChat SDK NetworkCallable parameters"
6. "VRChat SDK persistence PlayerData"
7. "VRChat SDK PhysBones Contacts worlds"
자세한 내용은 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 | 기능 요청 및 완료 상태 |
공식 문서 웹검색
# 공식 문서 검색
WebSearch: "API 이름 또는 기능 site:creators.vrchat.com"
# UdonSharp API 참조
WebSearch: "API 이름 site:udonsharp.docs.vrchat.com"
검색 참고사항
- VRChat 공식 사이트는 403 오류를 반환할 수 있으므로 WebFetch 대신 WebSearch를 사용하세요.
- 일본어 출처(Qiita 등)도 도움이 될 수 있지만 공식 정보를 우선합니다.
- GitHub의 UdonSharp 릴리스 페이지도 확인하세요.
리노베이션 기록 템플릿
리노베이션은 다음 형식으로 기록합니다:
## 리노베이션 기록
### YYYY-MM-DD - 요약 (예: SDK X.Y.Z 지원 / 지식 보강 / 품질 개선)
**보강 (새 추가):**
- 추가된 지식 / 섹션
**최신화 (업데이트 / 수정):**
- 업데이트된 정보 / 수정 사항
**품질 개선:**
- 개선된 설명 / 추가된 예제
**Rules 레이어 동기화:**
- unity-vrc-udon-sharp/rules/udonsharp-constraints.md: 변경 사항
- unity-vrc-udon-sharp/rules/udonsharp-networking.md: 변경 사항
**Enforcement 레이어 동기화:**
- 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 (세부 사항)