ワンクリックで
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로 채운다