data-context-extractor

Par anthropics · knowledge-work-plugins

Générez ou améliorez un skill d'analyse de données spécifique à une entreprise en extrayant les connaissances tacites des analystes. MODE BOOTSTRAP - Déclencheurs : « Crée un data context skill », « Configure l'analyse de données pour notre entrepôt », « Aide-moi à créer un skill pour notre base de données », « Génère un data skill pour [entreprise] » → Découvre les schémas, pose les questions clés, génère le skill initial avec les fichiers de référence MODE ITÉRATION - Déclencheurs : « Ajoute du contexte sur [domaine] », « Le skill a besoin de plus d'infos sur [sujet] », « Mets à jour le data skill avec [métriques/tables/terminologie] », « Améliore la référence [domaine] » → Charge le skill existant, pose des questions ciblées, ajoute/met à jour les fichiers de référence À utiliser lorsque des analystes de données souhaitent que Claude comprenne l'entrepôt de données, la terminologie, les définitions de métriques et les patterns de requêtes courants propres à leur entreprise.

npx skills add https://github.com/anthropics/knowledge-work-plugins --skill data-context-extractor

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 :

  1. Mode Bootstrap : Créer une nouvelle compétence d'analyse de données à partir de zéro
  2. 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 :

  1. Lister les datasets/schémas disponibles
  2. Identifier les tables les plus importantes (demander à l'utilisateur : « Quelles sont les 3-5 tables que les analystes interrogent le plus souvent ? »)
  3. 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

  1. Créer tous les fichiers dans le répertoire de compétence
  2. Empaqueter en fichier zip
  3. 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é :

  1. Explorer les tables pertinentes : Utiliser les outils ~~data warehouse schema pour trouver les tables de ce domaine

  2. 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] ? »
  3. Générer un nouveau fichier de référence : Créer references/[domain].md en utilisant le modèle de domaine

Étape 4 : Mettre à jour et Ré-empaqueter

  1. Ajouter le nouveau fichier de référence
  2. Mettre à jour la section « Knowledge Base Navigation » du SKILL.md pour inclure le nouveau domaine
  3. Ré-empaqueter la compétence
  4. 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

Skills similaires