Skip to content
cccskills
FreePublished on GitHub

add-ai-model

Add, update, or retire an AI provider model option for the BYOK theme generator (OpenAI, Anthropic, Google) and verify the provider requests native structured output for it. Use when model lists go stale or a new provider/model is requested.

The English summary is being prepared. Showing the original description.

Works withOpenAI
See how to install

Files included (1)

  • SKILL.md2.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Add or update an AI model: $ARGUMENTS

  1. Verify the model ID against the provider's current documentation. Model IDs change and retire; don't guess. The server passes the string straight to the provider, so a bad ID only fails at request time.
  2. Model list: edit AI_MODELS in app/types/ai.ts (label, value, one-line description). The first model for a provider is its default: it's selected when the user switches providers, and resolveAiModel substitutes it for a saved ID that's no longer listed, so retiring a model never strands users. DEFAULT_AI_SETTINGS.model must stay equal to the first OpenAI model (a unit test checks this). Prefer stable models over previews, which providers retire with little notice.
  3. New provider (rare): add it to AI_PROVIDERS and AI_PROVIDER_OPTIONS, and to AI_PROVIDER_IDS and createProviderModel in server/utils/aiGenerate.ts (the route's zod enum uses AI_PROVIDER_IDS). Install the @ai-sdk/<provider> package with pnpm add. Map provider-specific errors in server/utils/aiErrorHandler.ts, and extend the "listed models" test with the provider's request shape.
  4. Structured output: server/utils/aiGenerate.ts calls generateText with Output.object({ schema }) (AI SDK 7), and the system prompt goes in instructions. System messages inside messages are rejected. The "listed models" test in tests/unit/server/utils/aiGenerate.test.ts sends every listed model through its real provider (with fetch stubbed, no key needed) and asserts it requests native JSON-schema output. Reasoning models (GPT-6, Claude Opus 5.5) reject the forced tool call older SDK paths use, so a model that fails this test won't work in production.
  5. Tests: update tests/unit/composables/useAiSettings.test.ts and any tests that assert on model lists, then run pnpm vitest run tests/unit/composables/useAiSettings.test.ts tests/unit/server.
  6. E2E: AI e2e specs mock /api/ai/generate, so they only cover the settings UI. A real end-to-end check needs a key in the app UI via /run-app, and must never be committed.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add a new interactive design tool under /tools (like the color converter or contrast checker) — component, page, navigation, route lists, SEO, and tests. Use when building a new utility tool.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

Write and register a new Learning Hub article (Nuxt Content markdown under content/learn) with valid frontmatter, navigation entry, route list entry, and accurate product details. Use when adding or substantially rewriting a learn guide, reference, or tip.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

Add a new component showcase, block, or template preview page and register it everywhere it must appear (navigation, command palette, route lists, SEO, source view). Use when adding anything under /components, /blocks, or /templates.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

Checklist for adding or changing a field on ThemeConfig (a new design token, per-mode setting, or export option) end to end — schema, defaults, store + history, CSS apply, export, editor UI, AI, and tests. Use whenever ThemeConfig's shape changes.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

Run the project's validation pipeline (lint → format → typecheck → unit tests) with auto-fixes, then optionally stage and write a Conventional Commit. Use before committing, when asked to "check", "validate", "run the workflow", or "get this commit-ready".

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

Audit the project's documentation (CLAUDE.md, .claude/rules, skills, README, CONTRIBUTING, SECURITY, .env.example, app/data/*.md, learn articles) against the actual code and config, and fix drift. Use after refactors, dependency or workflow changes, or on a schedule.

The English summary is being prepared. Showing the original description.

mattycraig/nuxt-theme-builder9Updated Oct 19, 2026

See all skills by mattycraig

Report a problem with this skill