MCPInstall

wren-onboarding

Onboard a user to Wren Engine end-to-end. Walks through environment checks, project scaffolding, connection configuration via .env, and first query. Use when: user wants to install Wren Engine, set up a new data source connection, or bootstrap a new project from scratch. Triggers: '/wren-onboarding', 'install wren', 'set up wren engine', 'wren onboarding', 'connect new database to wren'.

Installs
249
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/canner/wrenai --skill wren-onboarding
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads wren-onboarding automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Wren Onboarding — Agent Workflow

This skill walks the agent through onboarding — environment checks, project scaffolding, profile creation, MDL generation, and first query. Procedural details, per-datasource setup notes, and the troubleshooting playbook live in the docs, not here. The skill's job is to enforce the agent-side rules (one step per turn, never ask for credentials in chat) and to dispatch the agent to the right doc / sibling skill at each step.

Reference docs (the skill points to these — never duplicate their content):

Version check

Silently fetch https://raw.githubusercontent.com/Canner/WrenAI/main/skills/versions.json. Compare the wren-onboarding key with this skill's version (from the frontmatter above). If the remote version is newer, notify the user:

A newer version of the wren-onboarding skill is available. Update with:

npx skills add Canner/WrenAI --skill wren-onboarding

Continue regardless of update status.

Mode of operation — READ THIS FIRST

One step per round-trip. Each numbered step below is its own turn: explain briefly, ask only what the step needs, run the command(s), confirm, move on.

  • ❌ Never collect information for future steps upfront. Do not ask for project name + database type + credentials in one message.
  • ❌ Never ask for credentials in chat — not host, port, user, password, tokens, anything. Credentials always go through .env. The user fills the file in their editor; the agent never sees the values.
  • ❌ Never query the database before MDL is built via the wren-generate-mdl skill.
  • ❌ Never invent connection field names. Always run wren docs connection-info <ds> to see the real fields — it's introspected from the live Pydantic schema, so it's always correct.
  • ✅ Wait for each command to finish, report its output in plain language, then move on.
  • ✅ For any error, consult connect.md#troubleshooting and surface the relevant section to the user — don't carry a copy of the playbook here.

Preflight (environment only — no user questions about the project)

Read-only checks. Report findings, do not ask about project / credentials / datasource yet.

  1. python3 --version — requires Python 3.11+. If older, ask the user to upgrade and stop.
  2. Check virtualenv: python3 -c "import sys; print(sys.prefix != sys.base_prefix)". If False, offer to create one (python3 -m venv .venv && source .venv/bin/activate). PEP 668 systems will need this.
  3. wren --version — if already installed, confirm before reinstalling.
  4. pwd — record it. Don't ask where the project should live yet.

Report findings as a 4-bullet list, then continue.

Early branch — demo or own database?

"Try the bundled jaffle_shop demo first (~30s, no DB needed), or connect your own database?"

  • demo → point at quickstart.md and stop this skill.
  • own DB → continue.

Step 1 — Collect project name + database type

These two are the only thing Step 2 needs; ask both together so the user has a clean handoff:

"Two things before I scaffold:

  1. Project name — I'll create ~/<name>/ and cd into it.
  2. Database type — run wren docs connection-info (no argument) to see the full list, or pick a common one: postgres (use for Aurora PostgreSQL), mysql (use for Aurora MySQL), bigquery, snowflake, clickhouse, trino, duckdb, …"

Wait for both. Don't ask for credentials.

Step 2 — Workspace + .env setup (batch)

Side effects: creates ~/<project>/, installs wrenai[<ds>,main], generates an empty .env template. The project files (wren_project.yml etc.) come later in Step 3.5 — at this point we only have a directory with credentials waiting to be filled.

Run as a batch — report each command briefly, then end with one "please fill .env" ask:

  1. mkdir -p ~/<project> && cd ~/<project>.

  2. pip install "wrenai[<ds>,main]". For datasource-specific install gotchas (macOS mysql, etc.), see connect.md#per-datasource-setup-notes.

  3. Generate the .env template by introspecting the connector:

    wren docs connection-info <ds> --format md
    

    Use the field list to write .env with <DS>_<FIELD>= keys (UPPER_SNAKE), values empty. Example for postgres:

    POSTGRES_HOST=
    POSTGRES_PORT=5432
    POSTGRES_DATABASE=
    POSTGRES_USER=
    POSTGRES_PASSWORD=
    

    Special encodings (BigQuery base64, Snowflake account format, Athena AWS creds, etc.) are documented in connect.md#per-datasource-setup-notes. Surface the relevant section to the user verbatim — don't paraphrase.

  4. Add .env to .gitignore if the project is a git repo. Suggest chmod 600 .env.

  5. Tell the user: .env is at <path>, please fill every value and reply "done".

Step 3 — Create the connection profile

Only after the user replies "done".

Write /tmp/conn.yml with every field as a ${VAR} placeholder matching the .env keys you generated in Step 2:

datasource: <ds>
host: ${<DS>_HOST}
port: ${<DS>_PORT}
# … one line per field from `wren docs connection-info <ds>`

Then:

wren profile add <project> --from-file /tmp/conn.yml

Validation runs automatically. The CLI overwrites profiles silently — there is no --force flag.

  • ✓ Success → continue to Step 3.5.
  • ⚠ Any warning → consult connect.md#troubleshooting for the exact symptom (missing secret, driver auth failure, ValidationError, unreachable host, …) and tell the user what to fix.

Step 3.5 — Scaffold the project

wren context init --empty

Refuses to overwrite an existing wren_project.yml. Creates the project directory layout (models/, views/, relationships.yml, instructions.md, AGENTS.md, queries.yml).

Step 3.6 — Bind the profile to the project

wren context set-profile <project>

Writes both profile: <project> and data_source: <ds> into wren_project.yml (data_source is taken from the profile we just validated, so it's guaranteed correct). Future CLI commands and the SDK resolve the connection deterministically — independent of which profile is globally active.

This step also future-proofs the project for multi-project setups: once the binding is recorded, switching wren profile switch elsewhere never breaks this project's queries.

Step 4 — Generate MDL (hand off)

⚠️ The agent must build MDL before any data query. Queries against tables not in MDL will fail.

Invoke the wren-generate-mdl skill. It walks the agent through table introspection, type normalization, and YAML generation. When it finishes, return here and run:

wren context validate
wren context build

Report the model count and any validate warnings.

Memory recommendation: count models with wren context show | grep -c '^model:'. If >= 200, suggest pip install "wrenai[memory]" + wren memory index (~800 MB). If < 200, skip.

Step 5 — Ready to explore (hand off)

Suggest 2–3 NL questions based on the discovered tables (e.g. for an orders schema: "How many orders last month?", "Top 5 customers by total"). Then end this skill: for day-to-day querying the agent should switch to the wren-usage skill.

Cross-skill routing

TriggerSkill
User mentions a SaaS source (HubSpot, Stripe, Salesforce, GitHub, Slack, …)wren-dlt-connector
User has a connected DB but no MDL yetwren-generate-mdl
User has MDL ready, wants to querywren-usage
Anything else from-scratchwren-onboarding (this skill)

On error

Don't carry an error playbook here — surface connect.md#troubleshooting sections to the user. The doc covers:

  • wren: command not found
  • pip install … externally-managed-environment
  • Missing secret (MissingSecretError)
  • Driver authentication failures
  • Pydantic ValidationError / unknown datasource
  • Connection refused / firewall / cloud DB IP allow-list
  • wren context validate warning categories

If you hit something not in the playbook, tell the user:

"I hit an error I don't know how to fix: <error>. See https://docs.getwren.ai/oss/introduction or open an issue at https://github.com/Canner/WrenAI/issues."

FAQ

What does the wren-onboarding skill do?

Onboard a user to Wren Engine end-to-end. Walks through environment checks, project scaffolding, connection configuration via .env, and first query. Use when: user wants to install Wren Engine, set up a new data source connection, or bootstrap a new project from scratch. Triggers: '/wren-onboarding', 'install wren', 'set up wren engine', 'wren onboarding', 'connect new database to wren'.

How do I install wren-onboarding?

Run npx skills add https://github.com/canner/wrenai --skill wren-onboarding in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/wren-onboarding/ (personal) or .claude/skills/wren-onboarding/ (project).

Which AI agents can use wren-onboarding?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is wren-onboarding safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains wren-onboarding?

It is published by canner in canner/wrenai. It has 249 recorded installs.

More from canner/wrenai

View all →

wren

canner/wrenai

Wren CLI for AI agents — a semantic SQL layer over 22+ databases (Postgres, MySQL, BigQuery, Snowflake, Spark, …). The actual workflow guides live inside the wren CLI itself; this is just a discovery stub. Use whenever the user asks a data question (how many, show me, top N, compare, trend, breakdown, metric, revenue, customers, orders), wants to install / set up Wren Engine, connect a new database, connect SaaS data via dlt (HubSpot, Stripe, Salesforce, GitHub, Slack), generate or regenerate an MDL project from a database schema, enrich a project with business context (enum meanings, units, cubes like ARR / DAU / churn), or turn a project's context layer into a shareable GenBI web app / dashboard and deploy it to Vercel or Cloudflare. Triggers: 'install wren', 'set up wren engine', 'connect database to wren', 'connect SaaS to wren', 'load hubspot / stripe / salesforce data', 'generate mdl', 'scaffold wren project', 'enrich wren context', 'augment my project', 'add cubes', 'build a d

Data & Databases1.5K installs

wren-generate-mdl

canner/wrenai

Open the skill to read its SKILL.md instructions.

253 installs

wren-usage

canner/wrenai

Wren Engine CLI workflow guide for AI agents. Answer data questions end-to-end using the wren CLI: gather schema context, recall past queries, write SQL through the MDL semantic layer, execute, and learn from confirmed results. Use when: user asks a data question, requests a report or analysis, asks about metrics, revenue, customers, orders, trends, or any business data; user says 'how many', 'show me', 'what is the', 'top N', 'compare', 'trend', 'growth', 'breakdown'; user wants to explore, analyze, filter, aggregate, or summarize data from a database; agent needs to query data, connect a data source, handle errors, or manage MDL changes via the wren CLI.

Data & Databases250 installs

wren-dlt-connector

canner/wrenai

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.

Backend & APIs247 installs

wren-enrich-context

canner/wrenai

Augment a Wren project with business context that DB schema cannot carry — enum value meanings, units (USD vs cents, ms vs sec), NULL semantics, magic sentinels (-1 = unknown), soft-delete default filters, business synonyms, time-grain / TZ conventions, cross-system identifiers, currency rules, canonical-table preferences, AND named aggregation metrics (ARR, churn, DAU, WAU, NRR) proposed as cubes. Runs in one of two modes selected at session start: grill (one question at a time, user-driven) or auto-pilot (agent infers and applies, escalates only on conflicts and high-blast-radius additions like new cubes / views / relationships). Reads everything under /raw/ (PDFs, glossaries, handbooks, code, data dictionaries) and optionally samples low-cardinality columns from the live DB (grill mode), compares against the current MDL / cubes / instructions.md / queries.yml / memory pairs, then fills gaps via the ten-category gap catalog and the cube proposal flow. Confirmed findings

Popular data & databases skills

View category →

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

OfficialData & Databases462.2K installs

prisma-client-api

prisma/skills

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

OfficialData & Databases393.5K installs

Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.

OfficialData & Databases392.3K installs

prisma-cli

prisma/skills

Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.

OfficialData & Databases390.8K installs

prisma-postgres

prisma/skills

Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.

OfficialData & Databases384.4K installs

Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.

OfficialData & Databases378.9K installs