.claude/skills/add-chat-model/SKILL.md
Add a new chat model id to @aituber-onair/chat and wire it through constants, provider implementation, tests, example UI selector, docs, and versioning updates. Use when requests include adding a new model, supporting a specific model id, adding a provider model, or updating supported models for providers such as claude, gemini, and openai.
npx skillsauth add shinshin86/aituber-onair add-chat-modelInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add a new model id for an existing chat provider and complete all required code, test, docs, and version updates in one pass.
Collect missing inputs before editing:
provider: one of claude, gemini, openai, or another existing providermodel_id: model id string (example: claude-sonnet-4-6)model_const_name: exported const name (example:
MODEL_CLAUDE_4_6_SONNET)display_name: UI label (example: Claude Sonnet 4.6)supports_vision: booleanapi_version_hint: optional hint for API version routing (example:
v1beta only, v1 preferred, unknown)bump_version: boolean, default truenext_version: optional, explicit target version (example: 0.15.0)rg "<model_id>" packages/chat.getSupportedModels() before
adding anything.export const <model_const_name> = '<model_id>';claude, edit packages/chat/src/constants/claude.ts.supports_vision is true, add the new constant to the provider vision
list.
claude, update CLAUDE_VISION_SUPPORTED_MODELS.claude, edit
packages/chat/src/services/providers/claude/ClaudeChatServiceProvider.ts.supports_vision is true, assert supportsVisionForModel is true
for that model.claude, edit
packages/chat/tests/providers/ClaudeChatServiceProvider.test.ts.v1 vs v1beta).api_version_hint as a starting point, then verify in provider docs
or behavior.v1 to
v1beta).packages/chat/examples/react-basic/src/components/ProviderSelector.tsx.allModels entry:
id: <model_const_name>name: <display_name>provider: '<provider>'default: falsepackages/chat/README.md
packages/chat/README.ja.md
packages/chat/examples/react-basic/README.mdbump_version is true, prepare release updates for
@aituber-onair/chat:next_version if provided.packages/chat/package.json version.packages/chat/CHANGELOG.md for the target version:
next_version already exists, append to it.packages/core/package.json dependency
@aituber-onair/chat to the new range (for example ^0.14.0).@aituber-onair/core version only for this dependency range
change.package-lock.json.changeset/*.model_id to confirm expected placements and no duplicates.chore(release): prepare @aituber-onair/chat v<next_version>.$sync-core-after-chat-upgrade now to propagate this chat upgrade
into @aituber-onair/core and core examples?"chat_version.Run commands from repository root:
npm ci
npm -w @aituber-onair/chat run test
npm -w @aituber-onair/chat run typecheck
npm -w @aituber-onair/chat run build
npm -w @aituber-onair/core run typecheck
rg "<model_id>" packages/chat
rg "v1beta|streamGenerateContent|generateContent" packages/chat/src/services/providers
bump_version is true.@aituber-onair/core dependency range is aligned to the new chat version.npm ci succeeds.$sync-core-after-chat-upgrade after chat
updates finish (unless already requested explicitly).development
Wrap a practical local or self-hosted TTS engine behind an OpenAI-compatible `POST /v1/audio/speech` server, especially for Google Colab or browser-driven testing. Use when requests include exposing a TTS model as OpenAI-compatible speech, building a compatibility wrapper for a broadly usable local TTS, classifying how an upstream TTS should be adapted, adding JSON/CORS support, or debugging browser/CORS/422/500/runtime issues for custom TTS servers.
development
Apply released @aituber-onair/chat updates to @aituber-onair/core and core React examples, including dependency alignment, core re-exports, example model lists, docs, version/changelog, lockfiles, and verification. Use after chat package upgrades or when users ask to propagate chat changes into core.
testing
Add a new TTS provider to @aituber-onair/voice and wire it through engine implementation, public voice option types, internal engine handlers, factory registration, tests, docs, examples, and optional versioning updates. Use when requests include adding a TTS engine, supporting a voice provider or speech service, adding <provider> TTS, or updating supported voice providers.
testing
Add a new chat model id to @aituber-onair/chat and wire it through constants, provider implementation, tests, example UI selector, docs, and versioning updates. Use when requests include adding a new model, supporting a specific model id, adding a provider model, or updating supported models for providers such as claude, gemini, and openai.