Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- The onboarding notebook is a single page; its "Next step" button navigates to the organization's setup page on dltHub.
- The dataset viewer now hides the notebook header, and opens on whichever stack (local or hosted) you're connected to instead of always pointing to production.
- Refreshed the bundled workspace `uv.lock` (`dlthub-client` 0.28.1, `marimo` 0.23.13; `pandas` 3.0.3 — 3.0.4 was yanked).
- Refreshed the bundled AI workbench: added a `performance` toolkit for speeding up slow pipelines, and the onboarding agent now explains that sample data loads into a hosted playground destination (not for production).

## [0.10.1] - 2026-07-01

Expand Down
2 changes: 1 addition & 1 deletion src/create_dlthub_workspace/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
# To bump: pick a new SHA (the workbench repo has no tags today), update the
# constant below, run `make generate-ai`, commit the resulting scaffold diff
# alongside this change.
WORKBENCH_REF: str | None = "f290a9b3eab9db7ebb7b6e1e56d75856674488e7"
WORKBENCH_REF: str | None = "e82e1029ca56512631d4e7133f5d3b7186f54965"


@dataclass(frozen=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,9 @@ deploy / schedule pipelines on the dltHub platform → dlthub-platform
guided end-to-end tour, ingest to dashboard (uses the real toolkits) → quick-start | dlthub --non-interactive ai toolkit install quick-start | quick-start
test/try dlthub end-to-end — minimal pipeline + educational test deploy, NOT production → one-shot | dlthub --non-interactive ai toolkit install one-shot | deploy-run-sample-pipeline
build and deploy a minimal custom REST API pipeline after uvx dlthub-init setup → dlthub-init-skills | dlthub --non-interactive ai toolkit install dlthub-init-skills | deploy-minimal-ingestion-pipeline
optimize / speed up a slow or memory-heavy pipeline — parallelism, workers, batching → performance | dlthub --non-interactive ai toolkit install performance | optimize-performance
```
* `one-shot` vs `rest-api-pipeline`: one-shot is for **testing / trying dlthub / onboarding / a quick demo** — a minimal single-endpoint, row-limited pipeline on local DuckDB plus an educational test deploy. Educational examples only, NOT production-grade. For a **real or production** REST pipeline (auth, incremental, multiple endpoints, production deploy), use `rest-api-pipeline`. `quick-start` is the guided tour that walks the real toolkits end-to-end.
* After installing, run `uv run dlthub ai status` to confirm, then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* After installing, confirm success from the install output (run `uv run dlthub ai status` only if the output is unclear or the MCP server hasn't been verified this session), then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* The `dlthub-router` skill wraps this flow and is the fallback for needs not covered above (it uses live `list_toolkits` to discover newer toolkits).
* DO NOT start data engineering work if no workflow toolkit is installed.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Summarize which jobs were created or updated.

**Run:**

Print to the user: `Running your pipeline and preparing your data in the background.`
Print to the user: `Running your pipeline and preparing your data in the background. Your data is loading into a dltHub-hosted playground destination — zero setup and no credentials needed, but it's limited to playground/onboarding use, not production.`

Run both commands at the same time — start `serve_headless.py` in the background, then run the pipeline in the foreground:

Expand Down Expand Up @@ -97,7 +97,7 @@ Print to the user: `- [x] Opening dltHub dataset browser`

After Step 4 completes, immediately print to the user:

> "Onboarding complete! When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"
> "Onboarding complete! Your data lives in the dltHub-hosted playground destination — when you build your own pipeline, you'll choose a real destination of your own. When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"

## When the user says "Help me get started building and running a data pipeline on dltHub"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,16 @@ Use this **only** when the index has no matching row (an unfamiliar need, or you

Match intent to the best toolkit, then install as in Step 1. Toolkits marked `(installed: <version>)` are already available.

## Step 3: Confirm & enable MCP
## Step 3: Verify install (only when needed)

```
uv run dlthub ai status
```
1. You should see the new toolkit and its entry skill.
2. If you see any **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message.
**Skip this step** when the install output already confirms success and the new toolkit's entry skill is available in this session — that is all the confirmation you need. (MCP health was already checked at session start via `dlthub ai status`.)

Run `uv run dlthub ai status` only if:
- the install output was ambiguous or reported an error,
- the entry skill doesn't appear to be available, or
- the `dlt-workspace-mcp` server hasn't been verified this session (no session-start status check and no successful MCP call yet).

If status shows a **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message before handing over.

## Step 4: Handover (no restart needed)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ init:
agent: claude
files:
.claude/skills/dlthub-router/SKILL.md:
sha3_256: b0e91d5f6926a091cfb1cbfcfedf653f982d95ff1c14585b558f1b2e7ae3fc85
sha3_256: af56355d874845d1e58f9e5dcefbc929b9cdd2ce92162cf16814a66016c58396
.claude/skills/improve-skills/SKILL.md:
sha3_256: c52b222d82d101eaacbbf19d271d3f24b20d8e2bc70d49919d56144d448cd5c4
.claude/skills/setup-secrets/SKILL.md:
Expand All @@ -21,7 +21,7 @@ init:
.claudeignore:
sha3_256: 1aa4dc9286dd219dcb55399f388c5ee1f940ab5e399a42b644d488cba57a9ec0
.claude/rules/init-dlthub-workspace.md:
sha3_256: 75f470e9587a3d29589d655a135cc882a340b362478e0b11b1d67fa5a76331cd
sha3_256: bd0d85b8bf6b0e0ce454982cfa1f63baddc67cbd1f9d05254a4b6185b48643c0
mcp_servers:
- dlt-workspace-mcp
name: init
Expand All @@ -41,6 +41,6 @@ one-shot:
agent: claude
files:
.claude/skills/deploy-run-sample-pipeline/SKILL.md:
sha3_256: 0d318282b0c0e848e43c99978f4e95be29154b6f19a06883186f9518cae5f1d3
sha3_256: 91eb1893d0eff52a11af80459d54663428254a9ad17bda38940154d2600a056e
.claude/rules/one-shot-workflow.md:
sha3_256: 35dd0e85bc37f1702998d362bddc596c4a6b1d16d2350ec990d37c61af228f5a
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Summarize which jobs were created or updated.

**Run:**

Print to the user: `Running your pipeline and preparing your data in the background.`
Print to the user: `Running your pipeline and preparing your data in the background. Your data is loading into a dltHub-hosted playground destination — zero setup and no credentials needed, but it's limited to playground/onboarding use, not production.`

Run both commands at the same time — start `serve_headless.py` in the background, then run the pipeline in the foreground:

Expand Down Expand Up @@ -97,7 +97,7 @@ Print to the user: `- [x] Opening dltHub dataset browser`

After Step 4 completes, immediately print to the user:

> "Onboarding complete! When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"
> "Onboarding complete! Your data lives in the dltHub-hosted playground destination — when you build your own pipeline, you'll choose a real destination of your own. When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"

## When the user says "Help me get started building and running a data pipeline on dltHub"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,16 @@ Use this **only** when the index has no matching row (an unfamiliar need, or you

Match intent to the best toolkit, then install as in Step 1. Toolkits marked `(installed: <version>)` are already available.

## Step 3: Confirm & enable MCP
## Step 3: Verify install (only when needed)

```
uv run dlthub ai status
```
1. You should see the new toolkit and its entry skill.
2. If you see any **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message.
**Skip this step** when the install output already confirms success and the new toolkit's entry skill is available in this session — that is all the confirmation you need. (MCP health was already checked at session start via `dlthub ai status`.)

Run `uv run dlthub ai status` only if:
- the install output was ambiguous or reported an error,
- the entry skill doesn't appear to be available, or
- the `dlt-workspace-mcp` server hasn't been verified this session (no session-start status check and no successful MCP call yet).

If status shows a **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message before handing over.

## Step 4: Handover (no restart needed)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,9 @@ deploy / schedule pipelines on the dltHub platform → dlthub-platform
guided end-to-end tour, ingest to dashboard (uses the real toolkits) → quick-start | dlthub --non-interactive ai toolkit install quick-start | quick-start
test/try dlthub end-to-end — minimal pipeline + educational test deploy, NOT production → one-shot | dlthub --non-interactive ai toolkit install one-shot | deploy-run-sample-pipeline
build and deploy a minimal custom REST API pipeline after uvx dlthub-init setup → dlthub-init-skills | dlthub --non-interactive ai toolkit install dlthub-init-skills | deploy-minimal-ingestion-pipeline
optimize / speed up a slow or memory-heavy pipeline — parallelism, workers, batching → performance | dlthub --non-interactive ai toolkit install performance | optimize-performance
```
* `one-shot` vs `rest-api-pipeline`: one-shot is for **testing / trying dlthub / onboarding / a quick demo** — a minimal single-endpoint, row-limited pipeline on local DuckDB plus an educational test deploy. Educational examples only, NOT production-grade. For a **real or production** REST pipeline (auth, incremental, multiple endpoints, production deploy), use `rest-api-pipeline`. `quick-start` is the guided tour that walks the real toolkits end-to-end.
* After installing, run `uv run dlthub ai status` to confirm, then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* After installing, confirm success from the install output (run `uv run dlthub ai status` only if the output is unclear or the MCP server hasn't been verified this session), then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* The `dlthub-router` skill wraps this flow and is the fallback for needs not covered above (it uses live `list_toolkits` to discover newer toolkits).
* DO NOT start data engineering work if no workflow toolkit is installed.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ init:
agent: codex
files:
.agents/skills/dlthub-router/SKILL.md:
sha3_256: 5eab0df88b50966b41dfe1fca3e0e3f92c496627a59a0414beb6409bab0b2ac9
sha3_256: 5d383df737cd33c30a5418af43f5b470d5bcc51aa25b9e346b8f4c3698a6e27f
.agents/skills/improve-skills/SKILL.md:
sha3_256: c52b222d82d101eaacbbf19d271d3f24b20d8e2bc70d49919d56144d448cd5c4
.agents/skills/setup-secrets/SKILL.md:
Expand All @@ -21,7 +21,7 @@ init:
.codexignore:
sha3_256: 1aa4dc9286dd219dcb55399f388c5ee1f940ab5e399a42b644d488cba57a9ec0
.agents/skills/init-dlthub-workspace/SKILL.md:
sha3_256: 049543af4bf8621ef57dc708aa600a76e6181773f995b60d916a23ef0531c445
sha3_256: 0641e3c3fc78e924050bf6dda703fc2072d1f52f73c500f66bdc964b0df96a3c
mcp_servers:
- dlt-workspace-mcp
name: init
Expand All @@ -41,6 +41,6 @@ one-shot:
agent: codex
files:
.agents/skills/deploy-run-sample-pipeline/SKILL.md:
sha3_256: 0d318282b0c0e848e43c99978f4e95be29154b6f19a06883186f9518cae5f1d3
sha3_256: 91eb1893d0eff52a11af80459d54663428254a9ad17bda38940154d2600a056e
.agents/skills/one-shot-workflow/SKILL.md:
sha3_256: 0f985a1242bd241020f1ff4b8e56ccc157004314f164e483186b238bd0860a9d
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ they are essential for ANY work in this project
CRITICAL: never ask for credentials in chat. Always let the user edit secrets directly and do not attempt to read them.

## toolkits — match intent → install → open the entry skill (no discovery round-trip needed)
Workflow toolkits are installed on demand. This index is authoritative for shipped toolkits: match the user's intent, run the install command, confirm with `dlthub ai status`, then hand over to the entry skill. No discovery call needed for these.
Workflow toolkits are installed on demand. This index is authoritative for shipped toolkits: match the user's intent, run the install command, confirm from its output (`dlthub ai status` only if unclear), then hand over to the entry skill. No discovery call needed for these.
<!-- This shipped index can drift from the live catalog on a user's machine until runtime refresh lands; tracked in dlt-hub/dlthub-ai-workbench-internal#71. -->

```
Expand All @@ -23,6 +23,7 @@ deploy / schedule pipelines on the dltHub platform → dlthub-platform
guided end-to-end tour, ingest to dashboard (uses the real toolkits) → quick-start | dlthub --non-interactive ai toolkit install quick-start | quick-start
test/try dlthub end-to-end — minimal pipeline + educational test deploy, NOT production → one-shot | dlthub --non-interactive ai toolkit install one-shot | deploy-run-sample-pipeline
build and deploy a minimal custom REST API pipeline after uvx dlthub-init setup → dlthub-init-skills | dlthub --non-interactive ai toolkit install dlthub-init-skills | deploy-minimal-ingestion-pipeline
optimize / speed up a slow or memory-heavy pipeline — parallelism, workers, batching → performance | dlthub --non-interactive ai toolkit install performance | optimize-performance
```
* `one-shot` vs `rest-api-pipeline`: one-shot is for **testing / trying dlthub / onboarding / a quick demo** — a minimal single-endpoint, row-limited pipeline on local DuckDB plus an educational test deploy. Educational examples only, NOT production-grade. For a **real or production** REST pipeline (auth, incremental, multiple endpoints, production deploy), use `rest-api-pipeline`. `quick-start` is the guided tour that walks the real toolkits end-to-end.
* Use the `dlthub-router` skill for needs not covered above — it uses live `list_toolkits` to discover newer toolkits.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,9 @@ deploy / schedule pipelines on the dltHub platform → dlthub-platform
guided end-to-end tour, ingest to dashboard (uses the real toolkits) → quick-start | dlthub --non-interactive ai toolkit install quick-start | quick-start
test/try dlthub end-to-end — minimal pipeline + educational test deploy, NOT production → one-shot | dlthub --non-interactive ai toolkit install one-shot | deploy-run-sample-pipeline
build and deploy a minimal custom REST API pipeline after uvx dlthub-init setup → dlthub-init-skills | dlthub --non-interactive ai toolkit install dlthub-init-skills | deploy-minimal-ingestion-pipeline
optimize / speed up a slow or memory-heavy pipeline — parallelism, workers, batching → performance | dlthub --non-interactive ai toolkit install performance | optimize-performance
```
* `one-shot` vs `rest-api-pipeline`: one-shot is for **testing / trying dlthub / onboarding / a quick demo** — a minimal single-endpoint, row-limited pipeline on local DuckDB plus an educational test deploy. Educational examples only, NOT production-grade. For a **real or production** REST pipeline (auth, incremental, multiple endpoints, production deploy), use `rest-api-pipeline`. `quick-start` is the guided tour that walks the real toolkits end-to-end.
* After installing, run `uv run dlthub ai status` to confirm, then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* After installing, confirm success from the install output (run `uv run dlthub ai status` only if the output is unclear or the MCP server hasn't been verified this session), then continue **in the same session** — load the new toolkit's entry skill + workflow rule via `toolkit_info` (or read the installed files) and proceed. No restart needed (toolkits reuse the already-running `dlt-workspace-mcp`); don't lose the user's context.
* The `dlthub-router` skill wraps this flow and is the fallback for needs not covered above (it uses live `list_toolkits` to discover newer toolkits).
* DO NOT start data engineering work if no workflow toolkit is installed.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Summarize which jobs were created or updated.

**Run:**

Print to the user: `Running your pipeline and preparing your data in the background.`
Print to the user: `Running your pipeline and preparing your data in the background. Your data is loading into a dltHub-hosted playground destination — zero setup and no credentials needed, but it's limited to playground/onboarding use, not production.`

Run both commands at the same time — start `serve_headless.py` in the background, then run the pipeline in the foreground:

Expand Down Expand Up @@ -97,7 +97,7 @@ Print to the user: `- [x] Opening dltHub dataset browser`

After Step 4 completes, immediately print to the user:

> "Onboarding complete! When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"
> "Onboarding complete! Your data lives in the dltHub-hosted playground destination — when you build your own pipeline, you'll choose a real destination of your own. When you're ready to continue, ask me: `Help me get started building and running a data pipeline on dltHub`"

## When the user says "Help me get started building and running a data pipeline on dltHub"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,16 @@ Use this **only** when the index has no matching row (an unfamiliar need, or you

Match intent to the best toolkit, then install as in Step 1. Toolkits marked `(installed: <version>)` are already available.

## Step 3: Confirm & enable MCP
## Step 3: Verify install (only when needed)

```
uv run dlthub ai status
```
1. You should see the new toolkit and its entry skill.
2. If you see any **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message.
**Skip this step** when the install output already confirms success and the new toolkit's entry skill is available in this session — that is all the confirmation you need. (MCP health was already checked at session start via `dlthub ai status`.)

Run `uv run dlthub ai status` only if:
- the install output was ambiguous or reported an error,
- the entry skill doesn't appear to be available, or
- the `dlt-workspace-mcp` server hasn't been verified this session (no session-start status check and no successful MCP call yet).

If status shows a **WARNING** about the MCP server (e.g. cannot be started), **fix it** using the error message before handing over.

## Step 4: Handover (no restart needed)

Expand Down
Loading
Loading