analyzing-data

Interroge l'entrepôt de données et répond aux questions métier relatives aux données. Traite les questions nécessitant des requêtes base de données/entrepôt, notamment : « qui utilise X », « combien de Y », « montre-moi Z », « trouve des clients », « quel est le nombre », les recherches de données, métriques, tendances ou analyses SQL.

npx skills add https://github.com/astronomer/agents --skill analyzing-data

Analyse de données

Répondez à des questions métier en interrogeant l'entrepôt de données. Le kernel démarre automatiquement au premier appel exec.

Toutes les commandes CLI ci-dessous sont relatives au répertoire de ce skill. Avant d'exécuter une commande scripts/cli.py, accédez au répertoire contenant ce fichier.

Flux de travail

  1. Recherche de motif — Vérifiez une stratégie de requête en cache :

    uv run scripts/cli.py pattern lookup "<question de l'utilisateur>"

    Si un motif existe, suivez sa stratégie. Enregistrez le résultat après exécution :

    uv run scripts/cli.py pattern record <nom> --success  # ou --failure
  2. Recherche de concept — Trouvez les mappages de tables connus :

    uv run scripts/cli.py concept lookup <concept>
  3. Découverte de tables — En cas d'absence en cache, recherchez dans la base de code (Grep pattern="<concept>" glob="**/*.sql") ou interrogez INFORMATION_SCHEMA. Voir reference/discovery-warehouse.md.

  4. Exécuter la requête :

    uv run scripts/cli.py exec "df = run_sql('SELECT ...')"
    uv run scripts/cli.py exec "print(df)"
  5. Mettre en cache les apprentissages — Toujours mettre en cache avant de présenter les résultats :

    # Mettre en cache le mapping concept → table
    uv run scripts/cli.py concept learn <concept> <TABLE> -k <KEY_COL>
    # Mettre en cache la stratégie de requête (si la découverte était nécessaire)
    uv run scripts/cli.py pattern learn <nom> -q "question" -s "étape" -t "TABLE" -g "piège"
  6. Présentez les résultats à l'utilisateur.

Fonctions du Kernel

Fonction Retourne
run_sql(query, limit=100) DataFrame Polars
run_sql_pandas(query, limit=100) DataFrame Pandas

pl (Polars) et pd (Pandas) sont pré-importés.

Référence CLI

Kernel

uv run scripts/cli.py warehouse list      # Lister les entrepôts
uv run scripts/cli.py start [-w name]     # Démarrer le kernel (avec entrepôt optionnel)
uv run scripts/cli.py exec "..."          # Exécuter du code Python
uv run scripts/cli.py status              # Statut du kernel
uv run scripts/cli.py restart             # Redémarrer le kernel
uv run scripts/cli.py stop                # Arrêter le kernel
uv run scripts/cli.py install <pkg>       # Installer un paquet

Cache de concepts

uv run scripts/cli.py concept lookup <nom>                     # Rechercher
uv run scripts/cli.py concept learn <nom> <TABLE> -k <KEY_COL> # Apprendre
uv run scripts/cli.py concept list                               # Lister tous
uv run scripts/cli.py concept import -p /chemin/vers/warehouse.md   # Import en masse

Cache de motifs

uv run scripts/cli.py pattern lookup "question"                                      # Rechercher
uv run scripts/cli.py pattern learn <nom> -q "..." -s "..." -t "TABLE" -g "piège"  # Apprendre
uv run scripts/cli.py pattern record <nom> --success                                # Enregistrer le résultat
uv run scripts/cli.py pattern list                                                   # Lister tous
uv run scripts/cli.py pattern delete <nom>                                          # Supprimer

Cache de schéma de table

uv run scripts/cli.py table lookup <TABLE>            # Rechercher le schéma
uv run scripts/cli.py table cache <TABLE> -c '[...]'  # Mettre en cache le schéma
uv run scripts/cli.py table list                       # Lister les caches
uv run scripts/cli.py table delete <TABLE>             # Supprimer

Gestion du cache

uv run scripts/cli.py cache status                # Statistiques
uv run scripts/cli.py cache clear [--stale-only]  # Effacer

Références