Extracteur de Contexte Données
Une meta-compétence qui extrait la connaissance des données spécifiques à l'entreprise auprès des analystes et génère des compétences d'analyse de données personnalisées.
Fonctionnement
Cette compétence a deux modes :
- Mode Bootstrap : Créer une nouvelle compétence d'analyse de données à partir de zéro
- Mode Itération : Améliorer une compétence existante en ajoutant des fichiers de référence spécifiques au domaine
Mode Bootstrap
À utiliser quand : L'utilisateur souhaite créer une nouvelle compétence de contexte données pour son entrepôt.
Phase 1 : Connexion et Découverte de Base de Données
Étape 1 : Identifier le type de base de données
Demander : « Quel entrepôt de données utilisez-vous ? »
Options courantes :
- BigQuery
- Snowflake
- PostgreSQL/Redshift
- Databricks
Utiliser les outils ~~data warehouse (query et schema) pour se connecter. Si c'est peu clair, vérifier les outils MCP disponibles dans la session actuelle.
Étape 2 : Explorer le schéma
Utiliser les outils ~~data warehouse schema pour :
- Lister les datasets/schémas disponibles
- Identifier les tables les plus importantes (demander à l'utilisateur : « Quelles sont les 3-5 tables que les analystes interrogent le plus souvent ? »)
- Récupérer les détails du schéma pour ces tables clés
Exemples de requêtes d'exploration par dialecte :
-- BigQuery: List datasets
SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA
-- BigQuery: List tables in a dataset
SELECT table_name FROM `project.dataset.INFORMATION_SCHEMA.TABLES`
-- Snowflake: List schemas
SHOW SCHEMAS IN DATABASE my_database
-- Snowflake: List tables
SHOW TABLES IN SCHEMA my_schema
Phase 2 : Questions Essentielles (À Poser)
Après la découverte du schéma, poser ces questions de manière conversationnelle (pas toutes à la fois) :
Désambiguïsation des Entités (Critique)
« Quand les gens ici disent 'utilisateur' ou 'client', qu'entendent-ils exactement ? Y a-t-il différents types ? »
Écouter :
- Les types d'entités multiples (utilisateur vs compte vs organisation)
- Les relations entre eux (1:1, 1:plusieurs, plusieurs:plusieurs)
- Les champs ID qui les lient ensemble
Identifiants Principaux
« Quel est l'identifiant principal pour un [client/utilisateur/compte] ? Y a-t-il plusieurs IDs pour la même entité ? »
Écouter :
- Les clés primaires vs clés métier
- UUID vs IDs entiers
- Les systèmes d'ID hérités
Métriques Clés
« Quelles sont les 2-3 métriques que les gens demandent le plus ? Comment chacune est-elle calculée ? »
Écouter :
- Les formules exactes (ARR = chiffre_affaires_mensuel × 12)
- Quelles tables/colonnes alimentent chaque métrique
- Les conventions de période (7 derniers jours, mois calendaire, etc.)
Hygiène des Données
« Qu'est-ce qui devrait TOUJOURS être filtré des requêtes ? (données de test, fraude, utilisateurs internes, etc.) »
Écouter :
- Les clauses WHERE standard à toujours inclure
- Les colonnes de flag indiquant les exclusions (is_test, is_internal, is_fraud)
- Les valeurs spécifiques à exclure (status = 'deleted')
Pièges Courants
« Quelles erreurs les nouveaux analystes commettent-ils généralement avec ces données ? »
Écouter :
- Les noms de colonnes confus
- Les problèmes de fuseau horaire
- Les particularités du traitement NULL
- Les tables d'état historique vs d'état actuel
Phase 3 : Générer la Compétence
Créer une compétence avec cette structure :
[company]-data-analyst/
├── SKILL.md
└── references/
├── entities.md # Entity definitions and relationships
├── metrics.md # KPI calculations
├── tables/ # One file per domain
│ ├── [domain1].md
│ └── [domain2].md
└── dashboards.json # Optional: existing dashboards catalog
Modèle SKILL.md : Voir references/skill-template.md
Section Dialecte SQL : Voir references/sql-dialects.md et inclure les notes du dialecte approprié.
Modèle de Fichier de Référence : Voir references/domain-template.md
Phase 4 : Empaqueter et Livrer
- Créer tous les fichiers dans le répertoire de compétence
- Empaqueter en fichier zip
- Présenter à l'utilisateur avec un résumé de ce qui a été capturé
Mode Itération
À utiliser quand : L'utilisateur a une compétence existante mais a besoin d'ajouter plus de contexte.
Étape 1 : Charger la Compétence Existante
Demander à l'utilisateur de télécharger sa compétence existante (zip ou dossier), ou la localiser si elle est déjà dans la session.
Lire le SKILL.md actuel et les fichiers de référence pour comprendre ce qui est déjà documenté.
Étape 2 : Identifier l'Écart
Demander : « Quel domaine ou sujet nécessite plus de contexte ? Quelles requêtes échouent ou produisent des résultats incorrects ? »
Écarts courants :
- Un nouveau domaine de données (marketing, finance, produit, etc.)
- Des définitions de métrique manquantes
- Des relations de table non documentées
- Une terminologie nouvelle
Étape 3 : Découverte Ciblée
Pour le domaine identifié :
-
Explorer les tables pertinentes : Utiliser les outils
~~data warehouseschema pour trouver les tables de ce domaine -
Poser des questions spécifiques au domaine :
- « Quelles tables sont utilisées pour l'analyse [domaine] ? »
- « Quelles sont les métriques clés pour [domaine] ? »
- « Des filtres ou pièges spéciaux pour les données [domaine] ? »
-
Générer un nouveau fichier de référence : Créer
references/[domain].mden utilisant le modèle de domaine
Étape 4 : Mettre à jour et Ré-empaqueter
- Ajouter le nouveau fichier de référence
- Mettre à jour la section « Knowledge Base Navigation » du SKILL.md pour inclure le nouveau domaine
- Ré-empaqueter la compétence
- Présenter la compétence mise à jour à l'utilisateur
Normes de Fichier de Référence
Chaque fichier de référence doit inclure :
Pour la Documentation de Table
- Location : Chemin complet de la table
- Description : Ce que contient cette table, quand l'utiliser
- Primary Key : Comment identifier les lignes de manière unique
- Update Frequency : À quelle fréquence les données se rafraîchissent
- Key Columns : Tableau avec nom de colonne, type, description, notes
- Relationships : Comment cette table se joint aux autres
- Sample Queries : 2-3 modèles de requête courants
Pour la Documentation de Métrique
- Metric Name : Nom lisible par l'homme
- Definition : Explication en langage naturel
- Formula : Calcul exact avec références de colonnes
- Source Table(s) : D'où proviennent les données
- Caveats : Cas limites, exclusions, pièges
Pour la Documentation d'Entité
- Entity Name : Comment c'est appelé
- Definition : Ce qu'elle représente dans l'entreprise
- Primary Table : Où trouver cette entité
- ID Field(s) : Comment l'identifier
- Relationships : Comment elle se relate aux autres entités
- Common Filters : Exclusions standard (interne, test, etc.)
Liste de Contrôle de Qualité
Avant de livrer une compétence générée, vérifier :
- [ ] SKILL.md a un frontmatter complet (nom, description)
- [ ] La section de désambiguïsation d'entités est claire
- [ ] La terminologie clé est définie
- [ ] Les filtres/exclusions standards sont documentés
- [ ] Au moins 2-3 exemples de requête par domaine
- [ ] SQL utilise la syntaxe du dialecte correct
- [ ] Les fichiers de référence sont liés depuis la section de navigation du SKILL.md