本文へ移動
cccskills
無料GitHub で公開

genbi

Turn a Wren project's context layer into a shareable, browser-side GenBI web app and deploy it to the user's Vercel or Cloudflare account. Orchestrates the full flow: `wren genbi build` returns a project-hydrated build instruction, the agent authors the app from scratch into apps/<name>/, then register → verify → deploy produce a shareable URL. Use this skill whenever the user wants to: build a dashboard from their Wren project, make a shareable analytics app, deploy their context layer as a web app, host a GenBI app on Vercel or Cloudflare Pages, or asks for a 'genbi app'.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Wren GenBI App — Agent Workflow Guide

This guide is served by the wren CLI (wren skills get genbi), so it always matches your installed wrenai version.

Turn a Wren context layer into a shareable GenBI app — from a natural-language request to a public URL in one conversation.

Division of labor: the CLI owns the authoritative build instruction (it knows the live project facts and the pinned wren-core-wasm version) and all deterministic state (index, verify, deploy). You — the agent — author the app code by following the instruction. Never hand-write .wren/apps.yml.

Preconditions

  1. A Wren project is discoverable (wren_project.yml in cwd/ancestors, or ask for the path and pass -p).
  2. The context layer exists. If target/mdl.json is missing, wren genbi build compiles it implicitly — no separate step needed.
  3. wren CLI ≥ the version that ships the genbi command group (wren genbi --help works).

Workflow

1. Resolve the app name and data mode

  • App name: short kebab-case derived from the request (e.g. sales-overview).
  • Data mode:
    • snapshot (default) — data is bundled with the app as parquet/duckdb and queried client-side. Fully serverless. Right for demos, reports, small data, and dlt-pipeline output.
    • live — the app calls back to the user's warehouse/API at view time. Right for production-scale or always-fresh data. Requires a CORS-enabled endpoint and carries strict no-credentials rules.
  • Ask the user ONLY if the choice is genuinely ambiguous.

2. Get the build instruction

wren genbi build <name> --prompt "<the user's request, verbatim>" --data-mode <mode>

For long or multi-line prompts use --prompt-file <file> or pipe to --prompt -. The command prints the authoritative build instruction — wasm wiring (pinned version, CDN load), the project's model/column inventory, data-mode guidance, acceptance criteria, and the target folder. It writes no app files — the only thing it may touch is target/mdl.json, which it compiles first if missing (see Precondition 2).

3. Author the app

Follow the instruction exactly. Key conventions:

  • Write everything under apps/<name>/ — never outside it.
  • Copy the compiled MDL into the app as apps/<name>/mdl.json.
  • Load wren-core-wasm from the CDN given in the instruction; never bundle the ~68MB binary.
  • snapshot: export the data the dashboard needs into apps/<name>/data/ as parquet (verify requires at least one .parquet/.duckdb asset). See Snapshot data export below for the recipe and where the data comes from.
  • live: write an endpoint-only connection config. NEVER inline credentials — verify scans for them (best-effort) and deploy gates on verify, but the rule is on you: a public static host exposes every shipped file.
  • Design the dashboard to actually answer the user's request: pick the right charts/tables for the question, not a generic template.

Snapshot data export

The CLI hands you the build instruction, but the snapshot bytes still have to be exported into the app folder — that step is yours.

Where the data comes from:

  • DuckDB-backed project (incl. anything loaded by the dlt-connector skill — its pipelines always land in a .duckdb file): the project's DuckDB file is your snapshot source. If the user is connecting SaaS data (HubSpot, Stripe, Salesforce, …) and has no project yet, run the SaaS→project flow first: wren skills get dlt-connector. Then come back here to ship it.
  • Warehouse-backed project (Postgres, BigQuery, Snowflake, …): run the query/queries the dashboard needs through the MDL layer and write the result to parquet. Keep snapshots small — snapshot mode is for demos/reports, not full warehouse extracts; use live mode for large or always-fresh data.

Recipe (DuckDB → parquet):

# from the project root; <db> is the project's DuckDB file (see wren_project.yml)
python - <<'PY'
import duckdb
con = duckdb.connect("<db>.duckdb", read_only=True)
con.execute(
    "COPY (SELECT * FROM <table>) "
    "TO 'apps/<name>/data/<table>.parquet' (FORMAT parquet)"
)
PY

Only export the columns/rows the dashboard uses. The compiled mdl.json you copied in keeps the context layer intact regardless of how you bundle data.

4. Register and verify

wren genbi register <name> --data-mode <mode>
wren genbi verify <name>

If verify fails: fix the reported problems and re-run verify. Do NOT proceed to deploy on a failed verify. Offer wren genbi open <name> for a local preview before shipping.

5. Deploy (only if the user asked for it)

wren genbi deploy <name> --provider vercel      # or cloudflare
  • Preview deployment by default. Confirm with the user before --prod.
  • Tokens: the CLI discovers VERCEL_TOKEN / CLOUDFLARE_API_TOKEN from the environment or .env files. If missing, ask the user to export it or add it to the project .env. NEVER put a token on the command line.
  • Cloudflare also needs CLOUDFLARE_ACCOUNT_ID (env or .env), a token scoped with Pages:Edit, and the wrangler CLI on PATH (or npx available) — the adapter shells out to wrangler pages deploy. If it's missing, ask the user to npm install -g wrangler.
  • Report the returned URL to the user. Re-deploying the same app updates the same provider target.
  • Verify the URL actually loads. After deploying, fetch the URL — a successful deploy can still return HTTP 401/403 to outsiders because of the provider's access protection (see below). Don't report a link as "shareable" until you've confirmed it serves.

Vercel Deployment Protection (the 401 trap)

New Vercel projects ship with Vercel Authentication turned ON by default, so every deployment — preview and production — returns 401 to anyone not logged into the owning Vercel account/team. The deploy itself succeeded; the URL is just gated.

  • To make the app publicly shareable, the user disables it in the Vercel dashboard: Project → Settings → Deployment Protection → Vercel Authentication → Disabled (or scope it to production only). This setting is not controllable from wren genbi deploy; it's a one-time toggle per project in Vercel.
  • If the user only needs a private link (viewable while logged into their Vercel account), leaving protection on is fine — just tell them the link won't work for logged-out visitors.

Safety boundaries

  • Never inline secrets/credentials into app files — the deploy target is a public static host; anyone with the URL can read every file. verify scans for inlined credentials, but treat it as best-effort defense-in-depth, not a guarantee — never rely on it to catch a secret you shouldn't have written in the first place.
  • Never pass tokens as CLI flags; they leak into shell history.
  • Confirm before production deploys.
  • All index state goes through wren genbi register/remove — never edit .wren/apps.yml by hand.

Quick reference

StepCommand
Get build instructionwren genbi build <name> --prompt "…" [--data-mode snapshot|live]
Record the appwren genbi register <name> --data-mode <mode>
Preflightwren genbi verify <name>
Local previewwren genbi open <name>
Shipwren genbi deploy <name> --provider vercel|cloudflare [--prod]
Inventorywren genbi list / wren genbi remove <name>

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

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 <project>/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 / knowledge (rules + NL→SQL pairs), then fills gaps via the ten-category gap catalog and the cube proposal flow. Confirmed findings are written back to the right sink. Use when: user says 'enrich context', 'augment my project', 'grill me on this project', 'auto-fill my context', 'agent doesn't understand our docs / enum values / units / null meanings', 'business context is missing', 'what does status=A mean', 'is this amount in USD or cents', 'we keep getting wrong aggregations', 'add cubes for ARR / DAU / churn', 'we have a handbook / glossary / data dictionary the agent should know'; or after generating an MDL and noticing the agent lacks business semantics.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

Generate a Wren MDL project by exploring a database with available tools (SQLAlchemy, database drivers, MCP connectors, or raw SQL). Guides agents through schema discovery, type normalization, and MDL YAML generation using the wren CLI. Use when: user wants to create or set up a new MDL, onboard a new data source, or scaffold a project from an existing database.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

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'.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

usage

無料

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.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

wren

無料

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 dashboard', 'make a shareable analytics app', 'deploy my context layer as a web app', 'genbi app', 'wren onboarding', 'wren usage', 'wren generate mdl', 'wren dlt connector', 'wren enrich context', 'wren genbi'.

日本語の概要は準備中です。原文の説明を表示しています。

Canner/WrenAI1.8万2026年10月9日 更新

Canner のスキルをすべて見る

このスキルの問題を報告する