Agent Skill
2/7/2026

ai-integration

Expert intégration IA/ML dans applications web - LLMs, RAG, vector databases, embeddings. Utilise ce skill quand: (1) intégration API OpenAI/Claude/Mistral, (2) mise en place RAG, (3) vector databases, (4) prompt engineering, (5) fine-tuning, (6) ML ops et déploiement modèles.

T
truchot
0GitHub Stars
1Views
npx skills add truchot/claude-skills-test

SKILL.md

Nameai-integration
DescriptionExpert intégration IA/ML dans applications web - LLMs, RAG, vector databases, embeddings. Utilise ce skill quand: (1) intégration API OpenAI/Claude/Mistral, (2) mise en place RAG, (3) vector databases, (4) prompt engineering, (5) fine-tuning, (6) ML ops et déploiement modèles.

name: ai-integration description: |- Expert intégration IA/ML dans applications web - LLMs, RAG, vector databases, embeddings. Utilise ce skill quand: (1) intégration API OpenAI/Claude/Mistral, (2) mise en place RAG, (3) vector databases, (4) prompt engineering, (5) fine-tuning, (6) ML ops et déploiement modèles. metadata: version: 1.0.0 status: active

AI Integration Expert Skill

Quick Start

# 1. Navigation rapide vers un agent
ai-integration/agents/llm/openai           # Intégration OpenAI API
ai-integration/agents/llm/claude           # Intégration Claude API
ai-integration/agents/rag/architecture     # Architecture RAG
ai-integration/agents/vectors/pgvector     # PostgreSQL + pgvector
ai-integration/agents/prompting/patterns   # Prompt engineering

# 2. Questions fréquentes
"Comment intégrer l'API OpenAI ?"          → llm/openai
"Mettre en place un RAG ?"                 → rag/architecture
"Quelle vector DB choisir ?"               → vectors/orchestrator
"Optimiser mes prompts ?"                  → prompting/patterns
"Déployer un modèle ML ?"                  → mlops/deployment

Position dans l'Architecture

Ce skill est au NIVEAU 3 : IMPLÉMENTATION. Il implémente les capacités IA dans les applications.

flowchart TB
    subgraph N1["NIVEAU 1 : STRATÉGIE"]
        DT[direction-technique]
    end

    subgraph N2["NIVEAU 2 : OPÉRATIONS"]
        WDP[web-dev-process]
        LD[lead-dev]
    end

    subgraph N3["NIVEAU 3 : IMPLÉMENTATION"]
        AI[ai-integration]

        subgraph DOMAINS["Domaines"]
            LLM[llm/]
            RAG[rag/]
            VEC[vectors/]
            PROMPT[prompting/]
            AGENTS[agents/]
            MLOPS[mlops/]
        end
    end

    DT -->|stratégie IA| WDP
    DT -->|budget, providers| AI
    WDP -->|process| AI
    LD -->|coordination| AI
    AI --> DOMAINS

    style N1 fill:#ffebee
    style N2 fill:#fff3e0
    style N3 fill:#e8f5e9
    style AI fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px

Philosophie

Intégrer l'IA de manière pragmatique, sécurisée et maintenable.

Ce skill :

  • ✅ Intègre les APIs LLM (OpenAI, Claude, Mistral, etc.)
  • ✅ Implémente les patterns RAG
  • ✅ Configure les vector databases
  • ✅ Optimise les prompts et outputs
  • ✅ Déploie et monitore les modèles

Il ne fait PAS :

  • ❌ Les décisions stratégiques IA → direction-technique
  • ❌ L'entraînement de modèles from scratch → ML spécialisé
  • ❌ La recherche fondamentale → hors scope agence web

Domaines et Agents (40 agents)

1. llm/ - Intégration LLMs (8 agents)

APIs et SDKs des principaux LLMs.

AgentResponsabilitéTechnologies
orchestratorCoordination LLM-
openaiOpenAI APIGPT-4, GPT-4o, Whisper, DALL-E
claudeAnthropic APIClaude 3.5, Claude 3
mistralMistral AIMistral Large, Codestral
ollamaLLMs locauxLlama 3, Mistral local
langchainFramework LLMLangChain.js, LCEL
vercel-aiVercel AI SDKStreaming, Edge
cost-optimizationOptimisation coûtsCaching, batching, model selection

2. rag/ - Retrieval Augmented Generation (7 agents)

Patterns RAG pour enrichir les LLMs avec vos données.

AgentResponsabilitéTechnologies
orchestratorCoordination RAG-
architectureArchitecture RAGPatterns, chunking strategies
ingestionPipeline d'ingestionDocument loaders, parsers
chunkingStratégies de découpageSemantic, recursive, sentence
retrievalStratégies de retrievalHybrid search, reranking
evaluationÉvaluation RAGRAGAS, faithfulness, relevance
advancedRAG avancéHyDE, CRAG, Agentic RAG

3. vectors/ - Vector Databases (6 agents)

Stockage et recherche de vecteurs.

AgentResponsabilitéTechnologies
orchestratorCoordination vectors-
pgvectorPostgreSQL vectorspgvector, indexing
pineconePineconeServerless, namespaces
weaviateWeaviateHybrid search, modules
qdrantQdrantFiltering, payloads
embeddingsGénération embeddingsOpenAI, Cohere, local

4. prompting/ - Prompt Engineering (6 agents)

Techniques d'optimisation des prompts.

AgentResponsabilitéTechnologies
orchestratorCoordination prompting-
patternsPatterns de promptsFew-shot, CoT, ReAct
templatesGestion templatesLangchain, Jinja
output-parsingParsing des outputsStructured output, JSON mode
guardrailsSécurité des outputsValidation, filtering
testingTest des promptsPromptfoo, eval frameworks

5. agents/ - AI Agents (6 agents)

Construction d'agents IA autonomes.

AgentResponsabilitéTechnologies
orchestratorCoordination agents-
architectureArchitecture agentsReAct, Plan-and-Execute
toolsDéfinition d'outilsFunction calling, MCP
memoryGestion mémoireShort/long-term, summarization
multi-agentMulti-agentsOrchestration, communication
claude-computer-useComputer UseAnthropic Computer Use API

6. mlops/ - ML Operations (7 agents)

Déploiement et monitoring des modèles.

AgentResponsabilitéTechnologies
orchestratorCoordination MLOps-
deploymentDéploiement modèlesHuggingFace, Replicate
fine-tuningFine-tuningOpenAI, LoRA, QLoRA
monitoringMonitoring IALangSmith, Helicone
evaluationÉvaluation modèlesBenchmarks, A/B testing
versioningVersioning modèlesMLflow, DVC
edgeIA en edgeONNX, TensorFlow Lite

Total : 40 agents spécialisés

Règles de Routage

Par Type de Question

QuestionDomaine
Intégrer OpenAI, Claude, Mistralllm/
RAG, enrichir avec mes donnéesrag/
Vector database, embeddingsvectors/
Prompt engineering, templatesprompting/
Agents IA, tools, autonomieagents/
Déployer, monitorer, fine-tunermlops/

Par Mots-Clés

Mots-clésAgent
GPT-4, OpenAI, chat completionllm/openai
Claude, Anthropic, Messages APIllm/claude
Mistral, Le Chat, Codestralllm/mistral
Ollama, local, Llamallm/ollama
LangChain, LCEL, chainsllm/langchain
RAG, retrieval, knowledge baserag/architecture
chunking, splitting, documentsrag/chunking
pgvector, PostgreSQL, embeddingvectors/pgvector
Pinecone, serverless, indexvectors/pinecone
prompt, few-shot, chain-of-thoughtprompting/patterns
function calling, toolsagents/tools
fine-tuning, LoRA, trainingmlops/fine-tuning
LangSmith, traces, monitoringmlops/monitoring

Arbre de Décision

Requête AI Integration
│
├─ Intégrer une API LLM ?
│  ├─ OpenAI (GPT-4, DALL-E) → llm/openai
│  ├─ Anthropic (Claude) → llm/claude
│  ├─ Mistral → llm/mistral
│  ├─ Local (Ollama) → llm/ollama
│  └─ Framework (LangChain) → llm/langchain
│
├─ Enrichir le LLM avec mes données ?
│  ├─ Architecture globale → rag/architecture
│  ├─ Ingestion documents → rag/ingestion
│  ├─ Découpage → rag/chunking
│  ├─ Recherche → rag/retrieval
│  └─ Évaluation → rag/evaluation
│
├─ Stocker des embeddings ?
│  ├─ PostgreSQL existant → vectors/pgvector
│  ├─ Serverless → vectors/pinecone
│  ├─ Self-hosted → vectors/weaviate ou qdrant
│  └─ Générer embeddings → vectors/embeddings
│
├─ Optimiser les prompts ?
│  ├─ Techniques de prompting → prompting/patterns
│  ├─ Templates réutilisables → prompting/templates
│  ├─ Valider les outputs → prompting/guardrails
│  └─ Tester les prompts → prompting/testing
│
├─ Construire un agent autonome ?
│  ├─ Architecture → agents/architecture
│  ├─ Définir des tools → agents/tools
│  ├─ Gérer la mémoire → agents/memory
│  └─ Multi-agents → agents/multi-agent
│
└─ Déployer/monitorer ?
   ├─ Déployer un modèle → mlops/deployment
   ├─ Fine-tuner → mlops/fine-tuning
   ├─ Monitorer → mlops/monitoring
   └─ Versionner → mlops/versioning

Interaction avec les Autres Skills

Flux Entrants

direction-technique ──► ai-integration (stratégie IA → implémentation)
web-dev-process ──► ai-integration (process → intégration)

Flux Sortants

ai-integration ──► backend-developer (APIs, services)
ai-integration ──► frontend-developer (UI chat, streaming)
ai-integration ──► devops (déploiement, infra)

Points d'Escalade

Vers direction-technique

SituationRaison
Choix du provider LLMCoûts, compliance
Données sensibles dans le RAGSécurité, RGPD
Budget APIValidation financière

Vers l'humain

SituationRaison
Fine-tuning sur données métierValidation contenu
Prompts pour cas sensiblesÉthique, légal
Évaluation qualité outputsJugement métier

Sécurité et Bonnes Pratiques

API Keys - Gestion des Secrets (CRITIQUE)

JAMAIS en code source. Toujours via secrets manager.

# .gitignore (OBLIGATOIRE)
.env
.env.*
!.env.example
*.pem
*credentials*.json
# .env.example (template sans valeurs)
OPENAI_API_KEY=sk-your-key-here
ANTHROPIC_API_KEY=sk-ant-your-key-here
# Ne JAMAIS committer de vraies clés
# pre-commit hook (.husky/pre-commit)
#!/bin/sh
# Detecter les secrets accidentels
if git diff --cached --name-only | xargs grep -l "sk-[a-zA-Z0-9]\{20,\}" 2>/dev/null; then
  echo "ERROR: Potential API key detected in commit!"
  echo "Remove secrets and use environment variables."
  exit 1
fi

Production: Secrets Managers

// AWS Secrets Manager
import { SecretsManagerClient, GetSecretValueCommand } from '@aws-sdk/client-secrets-manager';

async function getApiKey(secretName: string): Promise<string> {
  const client = new SecretsManagerClient({ region: 'eu-west-1' });
  const response = await client.send(
    new GetSecretValueCommand({ SecretId: secretName })
  );
  return JSON.parse(response.SecretString!).apiKey;
}

// Initialisation au demarrage
const OPENAI_API_KEY = await getApiKey('prod/openai-api-key');
// HashiCorp Vault
import Vault from 'node-vault';

const vault = Vault({
  endpoint: process.env.VAULT_ADDR,
  token: process.env.VAULT_TOKEN,
});

async function getSecret(path: string): Promise<string> {
  const { data } = await vault.read(path);
  return data.data.value;
}

const ANTHROPIC_API_KEY = await getSecret('secret/data/anthropic');
// Vercel/Next.js (Edge-safe)
// Les secrets sont injectes via le dashboard, pas en code
// Settings > Environment Variables > Add

// Validation au runtime
import { z } from 'zod';

const EnvSchema = z.object({
  OPENAI_API_KEY: z.string().startsWith('sk-'),
  ANTHROPIC_API_KEY: z.string().startsWith('sk-ant-'),
});

// Fail fast si secrets manquants
const env = EnvSchema.parse(process.env);

Rate Limiting

// Implémenter rate limiting côté client
import Bottleneck from 'bottleneck';

const limiter = new Bottleneck({
  minTime: 100,        // 10 req/sec
  maxConcurrent: 5,
});

const rateLimitedCall = limiter.wrap(openai.chat.completions.create);

Prompt Injection Prevention

// Sanitize user input pour eviter les injections
function sanitizeUserInput(input: string): string {
  if (!input || typeof input !== 'string') {
    return '';
  }

  return input
    // Limite la longueur
    .slice(0, 10000)
    // Supprime les caracteres de controle
    .replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '')
    // Normalise les whitespaces
    .replace(/\s+/g, ' ')
    .trim();
}

// Detecter les tentatives d'injection
function detectInjectionAttempt(input: string): boolean {
  const patterns = [
    /ignore\s+(all\s+)?(previous|above|prior)/i,
    /disregard\s+(all\s+)?(instructions|rules)/i,
    /you\s+are\s+now/i,
    /new\s+instructions?:/i,
    /system\s*:/i,
    /\[INST\]/i,
    /<\|im_start\|>/i,
  ];
  return patterns.some(p => p.test(input));
}

// Usage
const systemPrompt = `Tu es un assistant. Réponds uniquement aux questions sur les produits.`;
const rawInput = req.body.message;
const userInput = sanitizeUserInput(rawInput);

// Verifier les injections
if (detectInjectionAttempt(userInput)) {
  logger.warn('Potential injection attempt', { input: userInput.slice(0, 100) });
  return res.status(400).json({ error: 'Invalid input' });
}

const response = await openai.chat.completions.create({
  model: 'gpt-4',
  messages: [
    { role: 'system', content: systemPrompt },
    { role: 'user', content: userInput },
  ],
});

Coûts

// Estimer les coûts avant appel
function estimateCost(tokens: number, model: string): number {
  const rates = {
    'gpt-4': { input: 0.03, output: 0.06 },
    'gpt-4o': { input: 0.005, output: 0.015 },
    'gpt-4o-mini': { input: 0.00015, output: 0.0006 },
    'claude-3-5-sonnet': { input: 0.003, output: 0.015 },
  };
  // ...
}

// Logger les coûts
logger.info('API call', { model, tokens, estimatedCost });

Skills Associés

SkillNiveauRelation
direction-techniqueSTRATÉGIEReçoit les directives IA
backend-developerIMPLÉMENTATIONAPIs, services backend
frontend-developerIMPLÉMENTATIONUI, streaming
devopsIMPLÉMENTATIONDéploiement, monitoring
security-expertIMPLÉMENTATIONSécurité des données

Changelog

v1.0.0

  • Création initiale avec 6 domaines et 40 agents
  • Couverture : LLMs, RAG, vectors, prompting, agents, MLOps
  • Position : NIVEAU 3 IMPLÉMENTATION
Skills Info
Original Name:ai-integrationAuthor:truchot