Skip to content
Back to skills

Data Preparation

ASecurity

"Prepare SDGX tabular inputs with connectors, DataLoader caching,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 9, 2026
toolspythongobashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-preparation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Preparation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Preparation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-preparation-4f110bf0/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-preparation-4f110bf0)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-preparation
description: "Prepare SDGX tabular inputs with connectors, DataLoader caching,
  Metadata inspection, processors, relationships, and plugin registration before
  synthesis."
metadata:
  disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---

# SDGX Data Preparation

Use this sub-skill when a task is about getting tabular data ready for SDGX synthesis: CSV/DataFrame/generator connectors, `DataLoader`, metadata inference, datetime/PII/fixed-combination handling, cache behavior, relationship metadata, or custom plugin registration.

Route to [../single-table-synthesis/SKILL.md](../single-table-synthesis/SKILL.md) when the user primarily wants to fit/sample a model or use `sdgx fit`/`sample`. Route to [../llm-synthesis/SKILL.md](../llm-synthesis/SKILL.md) for GPT-backed generation.

## Core workflow

1. Select data access: `CsvConnector` for CSV paths, `DataFrameConnector` for in-memory pandas data, and `GeneratorConnector` for repeated chunk generators.
2. Wrap in `DataLoader` when needed: `DataLoader(connector, chunksize=..., cacher=..., cacher_kwargs=...)` provides chunking, slicing, and cache-backed access.
3. Infer metadata with `Metadata.from_dataframe(df)` or `Metadata.from_dataloader(loader, max_chunk=...)`.
4. Validate and customize metadata: primary keys, column types, `datetime_format`, `specific_combinations`, categorical encoders, and relationship metadata.
5. Confirm processors: default `Synthesizer` processors handle combinations, missing/outlier values, PII, integer/datetime formatting, constants, positive/negative filters, empty columns, and column order.
6. Persist artifacts if useful: save metadata JSON or combiner directories with package APIs, not ad-hoc pickle files.

For concrete API patterns, read [references/connectors-loaders-metadata.md](references/connectors-loaders-metadata.md). For processors/inspectors, read [references/processors-and-inspectors.md](references/processors-and-inspectors.md). For custom plugins, read [references/extensions.md](references/extensions.md).

## Bundled helper

Run [scripts/inspect_metadata.py](scripts/inspect_metadata.py) to inspect a CSV and emit SDGX metadata JSON:

```bash
python sub-skills/data-preparation/scripts/inspect_metadata.py data.csv --output metadata.json --check
```

## Decision points

- Prefer `DataFrameConnector` for tiny tests and avoid disk cache by default.
- Prefer `CsvConnector` plus `DataLoader` for real CSV files and chunked reads.
- Use `GeneratorConnector` only with a cache-backed `DataLoader`; it is not random-access by itself.
- Add `specific_combinations` manually for semantic column groups such as `("education", "educational-num")` when automatic fixed-combination inference is not enough.
- Set `metadata.datetime_format` for every datetime column you want preserved; missing formats can cause datetime columns to be removed by `DatetimeFormatter`.
- Treat PII generators as replacement/masking processors, not privacy certification.

## Troubleshooting

Read [references/troubleshooting.md](references/troubleshooting.md) for `MetadataInvalidError`, generator/cache failures, datetime removal, fixed-combination over-detection, PII inference, and plugin registration issues.

Files in this skill

  • SKILL.md3.2 KB
  • references/connectors-loaders-metadata.md2.2 KB
  • references/extensions.md2.1 KB
  • references/processors-and-inspectors.md2.8 KB
  • references/troubleshooting.md2 KB
  • scripts/inspect_metadata.py2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…