원클릭으로
api-contract-guard
외부 API(fal.ai, Supabase, LiveKit)·DB 컬럼명·모델명을 코드에 직접 박기 전에 계약과 런타임을 검증하는 스킬. ChatterBox 외부 의존성에 맞춰 커스터마이징됨.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
외부 API(fal.ai, Supabase, LiveKit)·DB 컬럼명·모델명을 코드에 직접 박기 전에 계약과 런타임을 검증하는 스킬. ChatterBox 외부 의존성에 맞춰 커스터마이징됨.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
ChatterBox 허브 맵 파이프라인 — 광장/구역 블록·내부 관(館) 원화 생성→핫스팟·앵커 캘리브레이션→manifest 배선→유도 3단 인터랙션→E2E. 새 맵(밤 variant·신규 구역 블록·새 내부 관·다른 씬 허브)을 만들 때 사용. 화풍 고정 생성은 scene-pipeline 참조.
ChatterBox 씬 에셋 파이프라인 — 화풍 고정 이미지 생성(gpt-image edits+레퍼런스)→WebP→매니페스트 등재, 입장 영상(Seedance i2v→Topaz 업스케일→WebM). 새 씬/시간대 variant/씬 영상을 만들 때 사용.
Vtube AUTORIG rig 를 ChatterBox 아바타로 배포(Storage 업로드 + 매니페스트 등록)하고 네이티브 렌더러로 실렌더 검증하는 하네스. character.json+mini_rig.json 병합·_mini_rig 렌더필수·헤드리스 same-origin 스테이징 등 매번 재발견하던 함정을 고정. "아바타 배포/추가/넣기/Vtube 아바타 온보딩/새 캐릭터 슬롯" 요청 시.
Vtube AUTORIG rig 를 ChatterBox 아바타로 배포(Storage 업로드 + 매니페스트 등록)하고 네이티브 렌더러로 실렌더 검증하는 하네스. character.json+mini_rig.json 병합·_mini_rig 렌더필수·헤드리스 same-origin 스테이징 등 매번 재발견하던 함정을 고정. "아바타 배포/추가/넣기/Vtube 아바타 온보딩/새 캐릭터 슬롯" 요청 시.
ChatterBox 음원 자산 파이프라인 — BGM/앰비언트/SFX 를 프롬프트로 생성(fal Stable Audio 2.5 · CassetteAI SFX) → 주인님 청취 게이트 → loudnorm+AAC → public/sounds/ 안착. "BGM 만들어", "음원 생성", "효과음 뽑아", "앰비언트", "사운드 추가" 요청 시. 2026-07-13 G6 BGM 3곡 세션에서 밟은 함정을 고정.
구현 완료 슬라이스를 프로덕션에 올리고 라이브로 실증한 뒤 문서·커밋까지 닫는 일괄 마감 절차 — db push(서울 pooler)·함수 deploy(재시도·실측)·CF Pages·프로드 통합/2탭 E2E·백로그 §0/GAP/drift 문서 마감. "배포하고 라이브테스트", "라이브로 올려", "페이즈 마감", "배포 몰아치기" 요청 시.
| name | api-contract-guard |
| description | 외부 API(fal.ai, Supabase, LiveKit)·DB 컬럼명·모델명을 코드에 직접 박기 전에 계약과 런타임을 검증하는 스킬. ChatterBox 외부 의존성에 맞춰 커스터마이징됨. |
| user_invocable | true |
| tags | ["contract","schema","api","validation","safety"] |
| trigger | 외부 계약값을 하드코딩하려 할 때 |
| version | 2 |
docs/DATA-SCHEMA.md §0 Naming SSOT 확인 없이)docs/DATA-SCHEMA.md, docs/specs/livekit-edge-fn.md, docs/specs/SecurityPolicies.md가 SSOT.src/lib/constants.ts 또는 src/config/*.ts).credit_balance(금지, credits.balance가 맞음), dubbing(금지, dub가 맞음) 같은 레거시 표기 재사용 금지(npm run docs:check가 자동 검출).docs/DATA-SCHEMA.md의 CREATE TABLE 정의 확인docs/specs/livekit-edge-fn.md, 관련 docs/contracts/*.md 확인mapRoomRow 등, docs/CODING-CONVENTIONS.md §2 참조)에서만 변환src/lib/constants.ts / src/config/*.tsfal.ai 모델 버전, LiveKit SDK 버전 의존 로직에는 버전/이유/향후 재검토 지점을 주석으로 남긴다.
docs/DATA-SCHEMA.md 또는 관련 spec으로 실제 계약을 확인했다npm run docs:check의 forbidden alias 검출(0건)과 일치한다docs/DATA-SCHEMA.md/공식 문서를 근거로 남긴다docs/GAP-MATRIX.md에 신규 G-ID로 등록 후 gap-find로 채운다