Skip to main content

Data-team toolkit for building, interacting with, and improving data projects with coding agents

Project description

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 appdat 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+1alt+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 unblockeddat 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 (frontmatter markdown with {placeholder} defaults); renders AGENTS.md plus a generated CLAUDE.md that imports it. list / restore / backup / manage (alias: agentmd).
skills Install Agent Skills into .claude/skills/ from the curated set, a local folder, or a git repo. 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.tomllist / 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dt_ai_toolkit-0.3.3.tar.gz (616.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dt_ai_toolkit-0.3.3-py3-none-any.whl (511.1 kB view details)

Uploaded Python 3

File details

Details for the file dt_ai_toolkit-0.3.3.tar.gz.

File metadata

  • Download URL: dt_ai_toolkit-0.3.3.tar.gz
  • Upload date:
  • Size: 616.2 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for dt_ai_toolkit-0.3.3.tar.gz
Algorithm Hash digest
SHA256 59632abdcd04875ba1ae2fe2321db14d43df0c280ef35fdcf1ecc065830b367d
MD5 b91bbc4ee19c7b3c357123d6175a4f5d
BLAKE2b-256 a3b5242b709bd1fb6352ed772e9dc8c6172bc7310e2604f8d55ebdc8e3a0d6b7

See more details on using hashes here.

File details

Details for the file dt_ai_toolkit-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: dt_ai_toolkit-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 511.1 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for dt_ai_toolkit-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2d471b7553ba6cacbcc393c5b31ded54a382306e31c007d6f4db4bdfd8493dca
MD5 a0a1c0f7187ba46c8271f773d25af9bd
BLAKE2b-256 55556e234db41a0b8287757fdc317f28b1084f48e5a7b7e2d96d7082be1a2fae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page