khalilbenaz/claude-skills-collection/agent-database-query-subagent
Claude Code and agent skill by khalilbenaz/claude-skills-collection
- community
Checking that the SKILL.md file is still in the repository.
Sous-agent spécialisé dans les requêtes base de données — SQL generation, exécution et analyse de résultats. Se déclenche avec "sous-agent DB", "database agent", "SQL agent", "agent base de données", "query agent", "agent qui requête", "text-to-SQL agent", "NL2SQL". Also triggers on "database query agent", "text to SQL subagent".
Install
npx vskill@latest install khalilbenaz/claude-skills-collection/agent-database-query-subagentSKILL.md
Database Query Sub-Agent
Cas d'usage
Déléguer à ce sous-agent toute interrogation DB depuis un agent parent : NL2SQL (question → SQL), analyse de données complexes, BI assistée par IA, drill-down conversationnel multi-tour. Ne pas utiliser pour des mutations — ce sous-agent est en lecture seule par défaut.
Workflow (10 étapes)
1. Validation des inputs
Recevoir et valider avant toute génération de SQL :
Defaults : read_only=True, max_rows=1000, timeout_s=30.
2. Découverte du schéma
Si schema non fourni, l'inférer automatiquement :
Construire un DDL simplifié (max ~2 000 tokens) à injecter dans le prompt de génération.
3. NL → SQL (génération)
Prompt structuré :
Critères de sélection des tables pertinentes : similarité sémantique entre la question et les noms de tables/colonnes (embedding cosine > 0.7, ou matching de mots-clés en fallback).
4. Validation avant exécution
En cas d'erreur de validation : retourner sans exécuter, inclure la requête invalide dans errors[].query.
5. Exécution sécurisée
6. Traitement des résultats
Sérialisation sûre pour JSON :
Calculer les stats pour colonnes numériques : {min, max, mean, std, null_count, p25, p50, p75}.
7. Analyse du plan d'exécution
Lancer EXPLAIN si row_count > 10 000 ou execution_time_s > 2 :
Signaux d'alerte à détecter dans le plan :
Seq Scansur table > 100 000 lignes sansWHEREsélectifNested Loopaveccost > 10 000Hash Joinavec spill sur disque ("Disk Spills" > 0)- Cardinalité estimée / réelle ratio > 10× (statistiques obsolètes)
Inclure dans optimization_hints uniquement si gain estimé > 50 %.
8. Dialectes SQL — différences clés
| Feature | PostgreSQL | MySQL | SQLite | SQL Server | BigQuery | |
|---|---|---|---|---|---|---|
| Limite | LIMIT n | LIMIT n | LIMIT n | TOP n | LIMIT n | |
| Date now | NOW() | NOW() | datetime('now') | GETDATE() | CURRENT_TIMESTAMP | |
| Regex | ~ / ~* | REGEXP | LIKE seulement | LIKE / PATINDEX | REGEXP_CONTAINS | |
| JSON | -> ->> | JSON_EXTRACT | json_extract() | JSON_VALUE | JSON_EXTRACT_SCALAR | |
| ILIKE | oui | non (insensible par défaut) | non | COLLATE | LOWER() | |
| CTE récursive | oui | ≥ 8.0 | ≥ 3.35 | oui | oui |
Pour MongoDB : traduire en pipeline d'agrégation ($match → $group → $project), pas de SQL.
9. Contexte conversationnel multi-tour
Passer session_context (sérialisé) dans chaque call et le retourner mis à jour dans l'output.
10. Génération du rapport
Retourner systématiquement :
- explanation : 2–3 phrases, langage métier, pas de jargon SQL
- visualization_suggestion :
"bar_chart"(comparaison catégorielle),"line_chart"(série temporelle),"table"(> 5 colonnes mixtes),"pie_chart"(répartition ≤ 6 catégories),"scatter"(corrélation numérique) - follow_up_questions : 2–3 questions de drill-down générées par LLM sur la base des résultats
Interface contractuelle
Input :
Output :
Dépendances Python :
Garde-fous et anti-patterns
Ne jamais faire :
- Concaténer des inputs utilisateur directement dans le SQL → toujours
text(:param)+bindparams - Retourner des credentials dans
errorsouexplanation - Exécuter sans timeout configuré — les requêtes analytiques peuvent saturer la DB
- Ignorer
truncated=Truedans la réponse — l'agent parent doit en être informé - Deviner une table/colonne inconnue — demander clarification ou retourner une erreur explicite
Pièges courants :
EXPLAIN ANALYZEexécute réellement la requête sur PostgreSQL — ne l'utiliser qu'en lecture- SQLite ne supporte pas
SET TRANSACTION READ ONLY— utiliser un fichier en modeuri=true&mode=ro - BigQuery facture à la lecture de données scannées — toujours ajouter
LIMITet vérifier les partitions - Les types
DECIMAL/NUMERICPython ne sont pas sérialisables JSON nativement — convertir enfloat - Sur SQL Server,
TOP ndoit précéder les colonnes, pas en fin de requête
Bonnes pratiques 2026 :
- Utiliser
sqlglot.transpile(sql, read=source_dialect, write=target_dialect)pour la portabilité inter-SGBD - Stocker les schémas inférés en cache (TTL 5 min) — éviter l'introspection à chaque appel
- Pour les embeddings de colonnes (sélection de tables pertinentes), utiliser un modèle léger local (
all-MiniLM-L6-v2) plutôt qu'un appel LLM externe - Logger le hash SHA-256 de chaque requête exécutée pour l'audit — jamais les credentials
- Tester la génération NL→SQL avec un jeu de questions de référence (golden set) avant déploiement
Communication Rules — MANDATORY
- Ultra-concise. No filler, no preamble, no pleasantries.
- Never say "happy to help", "sure!", "great question", "let me", or similar.
- Tool first, talk second. Act before explaining.
- Result first. Lead with outcome, not process.
- Stop when done. No summary, no recap, no trailing commentary.
- No politeness wrappers. Direct and blunt.
- Minimum words. If one word works, do not use ten.
- No unsolicited explanations.
- No emoji unless asked.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/agent-database-query-subagent/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/khalilbenaz/claude-skills-collection/agent-database-query-subagent)