Skip to main content

validate-data

Validate schema and data after a successful dlt pipeline load. Use when the user wants to check if loaded data looks correct, inspect table schemas, fix data types, flatten nested structures, or refine the data shape.

소스 정보

저장소
dlt-hub/dlthub-ai-harness
최근 소스 활동
2026년 6월 3일 20:47
감지된 SKILL.md 언어
영어
스타
60
포크
5

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
validate-data
description
Validate schema and data after a successful dlt pipeline load. Use when the user wants to check if loaded data looks correct, inspect table schemas, fix data types, flatten nested structures, or refine the data shape.
argument-hint
[pipeline-name] [concerns]
# Validate loaded data After a successful pipeline load, verify the schema and data make sense. Fix data types, nested structures, and missing columns as needed. Parse `$ARGUMENTS`: - `pipeline-name` (optional): the dlt pipeline name. If omitted, infer from session context. If ambiguous, ask the user and stop. - `hints` (optional, after `--`): specific validation concerns ## 1. Inspect schema ### Export schema as mermaid ``` uv run dlthub local pipeline schema <pipeline_name> --format mermaid ``` Show the mermaid diagram to the user. This gives a quick overview of tables, columns, types, and relationships (parent/child). ## 2. View the data ### For the human: Workspace Dashboard Tell the user to run Workspace Dashboard: ``` uv run dlthub local pipeline show <pipeline_name> ``` This opens a browser with table schemas, row counts, and sample data. ### For the agent: set up pipeline MCP server to query the data You have mcp with a right set of tools available ## 3. Review with user Ask the user if the schema and data look right. Common issues to address: ### Data type fixes Use `processing_steps` in the resource config to transform data before loading. Available steps: `map`, `filter`, `yield_map`. ```python "processing_steps": [ {"map": lambda item: {**item, "amount": Decimal(item["amount"])}}, ] ``` **IMPORTANT:** NEVER convert monetary amounts or precision-sensitive values to `float`. Always use `Decimal`. ### Nested structures dlt auto-unnests nested arrays into child tables (e.g., `results` inside a response becomes `<resource>__results`). This is often fine for analytics. If the user wants a flat structure, use `yield_map` to flatten, or adjust `data_selector` to point deeper into the response. ### Missing columns Columns that are all-null on first load won't have inferred types. Options: - Add `columns` hints to the resource config: `"columns": {"field": {"data_type": "text"}}` - Add `group_by` or other API params to populate the columns ## 4. Iterate Re-run the pipeline after changes (`dev_mode` gives a fresh dataset each time). Use `debug-pipeline` to inspect traces and load packages after each run. Inspect again with MCP or `dlthub local pipeline schema <name> --format mermaid`. Repeat until the user is happy with the schema. ## Next steps - **User is happy with data** → suggest `new-endpoint` for more resources, `view-data` for querying, or the `data-exploration` toolkit for interactive notebooks and reports - **Need to fix pipeline code** → edit and re-run with `debug-pipeline` - **User wants to see the data** -> Workspace Dashboard with command above
GitHub에서 보기