Skills

SaaS Data Connector

Loads SaaS data into DuckDB with dlt and builds a Wren semantic project for SQL.

Install

npx skills add Canner/WrenAI --skill dlt-connector -g -a claude-code -y
Repository
Canner/WrenAI18k
Category
Data and ML
Updated
5d ago
License
Apache-2.0
Context cost
Mediumabout 2,728 tokens
Runs scripts
Yes, review before use

What it does

Connect SaaS data (HubSpot, Stripe, Salesforce, GitHub, Slack, etc.) to Wren Engine for SQL analysis. Guides the user through the full flow: install dlt, pick a SaaS source, set up credentials, run the data pipeline into DuckDB, then auto-generate a Wren semantic project from the loaded data. Use this skill whenever the user mentions: connecting SaaS data, importing data from an API, dlt pipelines, loading HubSpot/Stripe/Salesforce/GitHub/Slack data, querying SaaS data with SQL, or setting up a new data source from a REST API. Also trigger when the user already has a dlt-produced DuckDB file and wants to create a Wren project from it.

wren-dlt-connector

Reference docs (dlt_sources) and the introspect_dlt script are bundled. Pull references with wren skills get dlt-connector --full; fetch a script with wren skills get dlt-connector --script <name>.

Connect SaaS data to Wren Engine for SQL analysis, from zero to a verified, queryable project in one conversation.

Who this is for

Data analysts who know SQL and some Python, but may not have used dlt or Wren before. Explain concepts briefly when they first appear, but don't over-explain things a SQL-literate person would already know.

Overview

This skill walks through a four-phase workflow:

  1. Extract, Use dlt (data load tool) to pull data from a SaaS API into a local DuckDB file
  2. Model, Introspect the DuckDB schema and auto-generate a Wren semantic project (YAML models, relationships, profile)
  3. Build & Verify, Build the project and run actual SQL queries to confirm everything works end-to-end
  4. Handoff, Show the user their data and next steps

The user might enter at any phase. Ask which phase they're starting from, they may already have a .duckdb file and just need phases 2, 4.

The goal is a project that actually queries successfully, not just files that look correct. Always run the verification step before declaring success.

Critical: DuckDB catalog naming

When wren engine connects to a DuckDB file, it ATTACHes it using the filename (without .duckdb extension) as the catalog alias:

ATTACH DATABASE 'stripe_data.duckdb' AS "stripe_data" (READ_ONLY)

This means every model's table_reference.catalog must equal the DuckDB filename stem. If the file is hubspot.duckdb, the catalog is hubspot. If it's my_pipeline.duckdb, the catalog is my_pipeline.

Getting this wrong causes "table not found" errors at query time. The introspect_dlt.py script handles this automatically.

Critical: Type normalization

Read the whole SKILL.md on GitHub

More in Data and ML