Skip to main content

dt-ai-toolkit

A CLI that gets a whole data team working with coding agents the same way.

If your team uses Claude Code for data work, every teammate ends up solving the same problems by hand: how to lay out a project so an agent can work in it, which skills to give the agent, how to run repeatable agent workflows, and how to turn analysis into a polished PDF. dt-ai-toolkit packages those answers into one installable tool — run dat setup in a fresh directory and a teammate gets the same agent-ready project, curated skills, and report pipeline as everyone else.

What it does

  • Scaffolds agent-ready data projects — standard folders (data/, reports/, sandbox/), a managed .gitignore, and tool installs, customizable per team via a TOML profile.
  • Keeps reusable AGENTS.md templates — house rules stored once in the toolkit database with {placeholder} gaps, rendered into a project as AGENTS.md plus a generated CLAUDE.md that imports it, so there is one source of truth instead of two copies that drift (dat agent-markdown).
  • Installs curated Agent Skills — a bundled set focused on data honesty (profiling datasets before trusting them, critiquing charts and talking points), plus install from any local folder or git repo, with provenance tracking.
  • Runs agent workflows — repeatable flows via the Claude Agent SDK, defined as plain markdown files with YAML frontmatter. Bundled flows included; write your own in minutes.
  • Generates real reports — scaffolds a React TSX → HTML → PDF pipeline so agent output can ship as a formatted document, not a wall of markdown.
  • Evaluates skills & agents in a gym — run curated tasks against a skill or agent in an isolated sandbox, score the transcript with an LLM judge, or A/B two targets head-to-head (dat gym run / dat gym ab / dat gym manage). Makes real API calls.
  • Chat-edits everything with the agent of your choice — every record in the workshop can be built or edited in an interactive coding-agent chat (multi-line block paste, split-screen live preview, /copy to clipboard), backed by Claude (pick model + effort per session, up to fable) or any CLI coding agent you register (dat providers).
  • Puts it all in one terminal app — dat workshop is a single Textual UI over every record, with ten workspaces on a grouped rail: docs, then setup / agent-markdown / skills / agents / tools / providers / harnesses, then the gym and benchmarks. alt+1…alt+9 and alt+0 jump, ctrl+k finds any record by name, and ? shows every key the current screen answers to. Every dat <group> manage command is a deep link into it.
  • Keeps everyone unblocked — dat doctor checks the whole environment (uv, git, claude CLI, auth, bun, playwright) and dat docs is a built-in interactive docs browser.

Agents, skills, and setup profiles live in a local SQLite database, so teams can inspect, edit, back up, and share their configuration (dat db info, dat agent backup / restore, and the same for skills and profiles).

Install

# no install needed — run it straight from PyPI
uvx dt-ai-toolkit --help

# or install it once and get the short `dat` command
uv tool install dt-ai-toolkit

# prefer not to install? alias `dat` to uvx in your shell config instead
uvx dt-ai-toolkit alias

Requires Python 3.11+ and uv. Every dat ... command below also works as uvx dt-ai-toolkit ....

Quickstart

dat db setup       # one-time: create the toolkit database, seed bundled content

mkdir my-project && cd my-project
dat setup          # folders + gitignore + installs Claude Code & omnigent
dat doctor         # verify the environment
dat workshop       # the interactive app over everything (opens on the docs)

Commands

command what it does
workshop The interactive app over every record: ten workspaces on a grouped rail (docs · setup/agent-markdown/skills/agents/tools/providers/harnesses · gym/benchmarks). dat workshop [workspace] [--select NAME]; every manage command deep-links into it.
setup Scaffold a data project (data/, reports/, sandbox/, managed .gitignore block) and install tooling. Customizable via a dt-setup.toml profile (setup config init).
agent-markdown Reusable AGENTS.md templates as database records; publish fills {placeholder} values in a Textual form, optionally refines the final files through agent chat, then writes AGENTS.md plus a generated CLAUDE.md pointer. Also supports repeatable --set values for CI. list / publish / restore / backup / manage (alias: agentmd).
skills Install Agent Skills for Claude, Codex, and OpenCode from the curated set, a local folder, or a git repo (skills install --for ...). list / install / update with provenance tracking.
agent Run agent flows via the Claude Agent SDK: bundled sourcing-report and project-review, or your own frontmatter-markdown agent files. agent help <name> shows an agent's docs; run --directory picks the working directory.
report Scaffold the React TSX → HTML/PDF report pipeline (report new <name>).
tools Register plain-Python tools as harness-specific wrappers — an MCP server for Claude, a CLI + skill for pi (tools register <name> --for claude|pi).
gym Evaluate, run, and A/B test skills & agents against curated tasks with an LLM judge (gym run / gym ab / gym manage).
benchmark Run a saved gauntlet across harness/model combos and compare them in a task × combo matrix (benchmark run / results, benchmark harness add).
db Manage the toolkit database — the source of truth for agents, skills, and setup profiles. setup / info / path / upgrade-backup.
providers Configure which agents back the interactive chats: claude built in, plus any coding-agent CLI (opencode, pi, ...) via providers.toml — list / init / manage.
doctor Check the environment: uv, git, claude CLI, omnigent, auth, bun, playwright.
alias Write a dat alias into your shell config (bash, zsh, fish, PowerShell) so dat works without a tool install.
docs Browse documentation — an interactive TUI, or --plain / show <topic> / export for non-interactive use.

Singular and plural are interchangeable: setup/setups, skill/skills, agent/agents, and gym/gyms all resolve to the same command.

Bundled skills

The curated skills lean toward data honesty — making sure what an agent (or you) produces can survive scrutiny:

  • interrogate-data — structured protocol for profiling and stress-testing a dataset before trusting it
  • critique-talking-points — adversarial claim-by-claim review of narratives before they ship
  • critique-visualization — chart-honesty review, including re-deriving plotted values from source data
  • tsx-report-generator — walks Claude through the full TSX → HTML/PDF report pipeline
  • dt-setup-config — helps Claude build a custom dt-setup.toml for your team
  • dt-ai-toolkit — meta skill teaching Claude how to call this CLI itself (uvx dt-ai-toolkit ...)
  • grill-me — Socratic quiz rounds that test your understanding of a dataset, pipeline, or report before someone else does
dat skills list                        # the toolkit-db catalog (what you install from)
dat skills install                     # install every db skill (idempotent sync)
dat skills install interrogate-data    # a single db skill by name
dat skills installed                   # what's installed in this project
dat skills install https://github.com/your-org/team-skills.git --all

Custom agent flows

Agents are markdown files with YAML frontmatter — config on top, prompt below, {placeholders} filled from the command line. A one-line description and a longer help doc (what it does and when to use it, shown by dat agent help) are both required:

---
name: data-audit
description: Audit a dataset for quality issues
help: |
  Profiles a dataset and reports quality issues — nulls, outliers, type
  mismatches — with the query behind every finding. Point --arg data_path at
  the file to audit.
allowed_tools: [Read, Glob, Grep, Bash]
args:
  data_path: {required: true}
---
Audit the dataset at {data_path}. Cite the query behind every finding.
dat agent help data-audit.md                                   # read its docs first
dat agent run data-audit.md --arg data_path=data/sales.csv
dat agent run sourcing-report --arg topic="Q3 readmissions" --dry-run
dat agent run data-audit.md --arg data_path=data/sales.csv --directory ../warehouse

Development

uv sync
uv run pytest
uv run dat --help

See CLAUDE.md for architecture conventions.

Metadata

Release files for dt-ai-toolkit 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dt-ai-toolkit 0.3.5
File Size Uploaded
dt_ai_toolkit-0.3.5.tar.gz 638.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dt-ai-toolkit 0.3.5
File Interpreter ABI Platform
dt_ai_toolkit-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / dt_ai_toolkit-0.3.5.tar.gz

Download URL dt_ai_toolkit-0.3.5.tar.gz
Size 638.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a9bf90b1e1a80fee6efe22b963844152d9360a2d1ae103e990dff67fd0d22ecb
BLAKE2b-256 checksum
How to use checksums
0c71c206b6aa24e5c2fad418eaffdb2aa617a5beb5de5ee26ead5588871a7959
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / dt_ai_toolkit-0.3.5-py3-none-any.whl

Download URL dt_ai_toolkit-0.3.5-py3-none-any.whl
Size 547.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
667e1c87caac9dda724eb32e1f457b03818224d16198e755bdb8c476bcd8f28a
BLAKE2b-256 checksum
How to use checksums
804230dae78c8c5f693156e494b0b60244907c251c834f8909b5f31c8e3c5062
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page