Notre avis
Ce skill permet de gérer les modèles d'IA dans le projet Motivia, incluant l'ajout de nouveaux modèles et providers, ainsi que la configuration des options de génération.
Points forts
- Documentation détaillée avec des exemples concrets de code
- Couvre l'ensemble du pipeline: installation SDK, migration Prisma, icônes, registry
- Supporte plusieurs providers (OpenAI, Anthropic, Google, Mistral, xAI)
Limites
- Nécessite une connaissance préalable de Prisma et des SDK AI
- Spécifique au projet Motivia, pas générique
Utilisez ce skill lorsque vous devez ajouter un nouveau modèle ou provider d'IA dans le projet Motivia.
Ne l'utilisez pas pour configurer des API ou modèles hors du contexte Motivia.
Analyse de sécurité
SûrThe skill instructs code-level modifications (editing TypeScript files, adding dependencies, updating environment variables) within a development project. It does not include any dangerous commands (e.g., curl, rm -rf), exfiltration of secrets, or execution of obfuscated payloads. The allowed tools (Read, Write, Edit, Glob, Grep) are standard for file operations and present no inherent security risk beyond normal development activities.
Aucun point d'attention détecté
Exemples
Add a new GPT-5 Ultra model to the Motivia AI models list with a cost of 50 and set free to false.I want to add a new AI provider called 'DeepSeek' to the Motivia project. Walk me through the steps including SDK installation, Prisma migration, icon creation, and registry update.Change the cost of the GPT-5 Nano model to 30.name: ai-model description: Gère les modèles IA de Motivia. Utilise ce skill quand l'utilisateur demande d'ajouter un nouveau modèle IA, modifier un provider, ou configurer les options de génération. Supporte OpenAI, Anthropic, Google, Mistral et xAI. allowed-tools: Read, Write, Edit, Glob, Grep
Gestion des Modèles IA Motivia
Fichiers concernés
utils/ai-model.tsx # Registry des modèles et providers
prisma/schema.prisma # Enum ApiProvider
components/icons/ # Icônes des providers
app/api/create/route.ts # Endpoint de génération
Structure d'un modèle
export type AIModelOption = {
provider: ApiProvider; // Enum Prisma: OPENAI, ANTHROPIC, GOOGLE, MISTRAL, XAI
model: string; // ID du modèle (ex: "gpt-5-nano-2025-08-07")
label: string; // Nom affiché (ex: "GPT 5 nano")
free: boolean; // true = utilise les lettres gratuites
cost: number; // Coût relatif (pour affichage)
};
Providers actuels
| Provider | Enum | SDK |
|----------|------|-----|
| OpenAI | ApiProvider.OPENAI | @ai-sdk/openai |
| Anthropic | ApiProvider.ANTHROPIC | @ai-sdk/anthropic |
| Google | ApiProvider.GOOGLE | @ai-sdk/google |
| Mistral | ApiProvider.MISTRAL | @ai-sdk/mistral |
| xAI | ApiProvider.XAI | @ai-sdk/xai |
Ajouter un nouveau modèle (provider existant)
1. Ajouter à la liste des modèles
// utils/ai-model.tsx
export const OPENAI_MODELS = [
// ... existing models
{
provider: ApiProvider.OPENAI,
model: "gpt-5-ultra-2025-xx-xx", // ID exact du modèle
label: "GPT 5 Ultra", // Nom affiché
free: false, // false = nécessite clé API
cost: 50, // Coût relatif
},
];
2. Vérifier l'export dans modelOptions
export const modelOptions: AIModelOption[] = [
...OPENAI_MODELS,
...ANTHROPIC_MODELS,
...MISTRAL_MODELS,
...XAI_MODELS,
];
Ajouter un nouveau provider
1. Installer le SDK
pnpm add @ai-sdk/newprovider
2. Ajouter l'enum Prisma
// prisma/schema.prisma
enum ApiProvider {
OPENAI
ANTHROPIC
GOOGLE
MISTRAL
XAI
NEWPROVIDER // Ajouter ici
}
3. Exécuter la migration
pnpm prisma migrate dev --name add_newprovider
4. Créer l'icône du provider
// components/icons/newprovider-icon.tsx
export const NewProviderIcon = ({ className }: { className?: string }) => (
<svg className={className} viewBox="0 0 24 24">
{/* SVG path */}
</svg>
);
5. Ajouter au registry
// utils/ai-model.tsx
import { createNewProvider } from "@ai-sdk/newprovider";
import { NewProviderIcon } from "@/components/icons";
// Dans providersLabelAndIcon
{
label: "New Provider",
value: ApiProvider.NEWPROVIDER,
image: <NewProviderIcon className="size-6" />,
},
// Dans les modèles
export const NEWPROVIDER_MODELS = [
{
provider: ApiProvider.NEWPROVIDER,
model: "model-id",
label: "Model Name",
free: false,
cost: 10,
},
];
// Dans modelOptions
export const modelOptions: AIModelOption[] = [
...OPENAI_MODELS,
...ANTHROPIC_MODELS,
...MISTRAL_MODELS,
...XAI_MODELS,
...NEWPROVIDER_MODELS, // Ajouter ici
];
// Dans registry
export const registry = (apiKey?: string, provider?: ApiProvider) =>
createProviderRegistry({
// ... existing
NEWPROVIDER: createNewProvider({
apiKey:
provider === ApiProvider.NEWPROVIDER && apiKey
? apiKey
: process.env.NEWPROVIDER_API_KEY,
}),
});
6. Ajouter la variable d'environnement
NEWPROVIDER_API_KEY=sk-...
Règles métier
Modèles gratuits
- Un modèle
free: trueutilise les 5 lettres gratuites de l'utilisateur - Si
freeLetters === 0, l'utilisateur doit avoir sa propre clé API
Coût
Le champ cost est indicatif et sert à l'affichage. Valeurs suggérées:
| Gamme | Cost | Exemple | |-------|------|---------| | Économique | 0-1 | nano, small | | Standard | 2-5 | mini, medium | | Premium | 10-15 | sonnet, medium | | Ultra | 20+ | opus |
Génération de lettre
Le flow dans app/api/create/route.ts:
- Vérifier l'authentification
- Valider le modèle demandé
- Récupérer la clé API (user ou env)
- Si free: décrémenter
freeLetters - Streamer la génération via
streamObject - Retourner
{ title, content }
Checklist nouveau modèle
- [ ] ID du modèle correct (vérifier docs du provider)
- [ ] Label clair et cohérent
- [ ]
freebien défini (true/false) - [ ]
costrelatif défini - [ ] Ajouté à l'array
modelOptions - [ ] Testé avec une clé API valide
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.