zo-dataset-creator

Generate Zo-compatible schema.yaml from DuckDB table and column metadata.

Updated Mar 8, 2026
One-click install
npx skills add https://github.com/ankitjh4/skill-builder --skill zo-dataset-creator-ankitjh4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zo-dataset-creator
Source: https://github.com/ankitjh4/skill-builder/tree/main/zo-dataset-creator
Command: npx skills add https://github.com/ankitjh4/skill-builder --skill zo-dataset-creator-ankitjh4

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires duckdb, pyyaml, yaml, json, argparse, pathlib, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Creating Zo Datasets by hand is error-prone, especially when schema.yaml must match Zo UI expectations and stay synchronized with the underlying DuckDB tables. This Skill helps you scaffold correct dataset structure and generate schema.yaml reliably, so your tables display properly in the Zo UI.

Core Features & Use Cases

  • Scaffold Zo dataset structure from scratch: Creates the required folders and baseline files (datapackage.json, schema.yaml placeholder, README.md, PROCESS.md) for a new dataset.
  • Auto-generate Zo-compatible schema.yaml: Generates schema.yaml from data.duckdb using DuckDB table/column metadata and COMMENT annotations.
  • Repair broken datasets: Provides a workflow to validate and regenerate schema when Zo UI fails to show tables due to missing files or incorrect schema format.
  • Reference documentation for datapackage and DuckDB conventions: Includes guides for schema.yaml format expectations and common Zo dataset troubleshooting.

Quick Start

Run python3 scripts/create_dataset.py <dataset-name> to scaffold a new Zo Dataset directory ready for DuckDB database creation and schema generation.

Frequently Asked Questions about zo-dataset-creator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a schema.yaml from a DuckDB database for Zo datasets?

You generate schema.yaml by extracting table and column metadata from duckdb_tables and duckdb_columns, including COMMENT descriptions, and outputting it in an auto-generated list format compatible with Zo UI.

Why does my DuckDB table not appear in the Zo UI?

DuckDB tables fail to appear in the Zo UI when schema.yaml is missing, incorrectly formatted, or out of sync with the database. Regenerating schema.yaml and validating datapackage.json resolves this.

What files are required to scaffold a Zo dataset from scratch?

Scaffolding a Zo dataset requires creating datapackage.json, schema.yaml, README.md, PROCESS.md, and a data.duckdb file within a named dataset directory to ensure proper UI rendering.

Can I use DuckDB comments to populate column descriptions in schema.yaml?

Yes, DuckDB COMMENT annotations on columns are read during schema generation and included as description entries in the resulting Zo-compatible schema.yaml file.

Do I need a datapackage.json file for DuckDB datasets to work with Zo?

Yes, datapackage.json is required for DuckDB datasets to work with Zo. The dataset validation process checks for both datapackage.json and data.duckdb files before schema generation.

When should I regenerate the schema.yaml for my Zo dataset?

You should regenerate schema.yaml whenever database changes occur, such as adding or altering tables and columns, to keep the schema synchronized with the underlying DuckDB metadata for Zo UI.