"Author, validate, and troubleshoot SimpleTuner dataloader and
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill data-and-config --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Data And Config?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-data-and-config-0d41ea2b)More formats (shields.io, HTML) on the badges page.
---
name: data-and-config
description: "Author, validate, and troubleshoot SimpleTuner dataloader and
configuration backend workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: AGPL 3.0
---
# data-and-config
Use this sub-skill when a task is about SimpleTuner configuration backends, `data_backend_config`, dataloader JSON structure, dataset backends, cache datasets, captions/metadata, or data preparation for image/video/audio/conditioning/ControlNet runs.
This is an operating sub-skill: keep work self-contained, use the bundled references and scripts here, and do not require access to the original source checkout.
## Route by task
- **Find or author the active training config and `data_backend_config` path:** read [references/configuration-backends.md](references/configuration-backends.md).
- **Author or review a dataloader JSON/TOML/env-backed dataset plan:** read [references/dataloader-schema.md](references/dataloader-schema.md), then run [scripts/validate_dataloader_config.py](scripts/validate_dataloader_config.py) on the JSON dataloader file.
- **Prepare captions, metadata, caches, image/video/audio data, grounding annotations, or ControlNet conditioning:** read [references/data-preparation.md](references/data-preparation.md). For Canny ControlNet data, use [scripts/make_controlnet_canny_edges.py](scripts/make_controlnet_canny_edges.py).
- **Diagnose empty datasets, filtering, cache, credential, caption, audio, or conditioning failures:** read [references/troubleshooting.md](references/troubleshooting.md) first, then re-check the dataloader with the validator.
## Boundaries
Handle here:
- `CONFIG_BACKEND`, `CONFIG_PATH`, `ENV`, `SIMPLETUNER_ENV`, `SIMPLETUNER_ENVIRONMENT`, `SIMPLETUNER_CONFIG_BACKEND`, `CONFIG_TYPE`, and `DATALOADER_CONFIG` only as they affect config selection and `data_backend_config`.
- Dataset `type` values `local`, `aws`, `memory`, `csv`, `huggingface`, and `webshart`.
- Dataset `dataset_type` values `image`, `video`, `audio`, `text_embeds`, `image_embeds`, `conditioning_image_embeds`, and `conditioning`.
- Text/image/conditioning caches, default text embed cache selection, captions, filtering, bbox/grounding annotations, and ControlNet conditioning directories.
Reroute out of this sub-skill:
- Training launch, Accelerate, distributed, DeepSpeed, FSDP, checkpoint resume topology, and GPU runtime tuning to `training-workflows`.
- Model-family selection, adapter extraction/conversion, LyCORIS/LoRA export, CaptionFlow, distillation, and model registry work to `model-and-adapter-tooling`.
- WebUI/API/queue/server operation to `webui-and-operations`.
- Source-code changes, WebUI dataset blueprint/template changes, docs translation updates, and test selection to `repo-development`. When a dataloader option is added or changed in code, explicitly ask the maintainer workflow to update the WebUI dataset blueprint/template surface as well.
## Safe operating checklist
1. Resolve the config backend and environment before editing paths. If the user only gives an environment name, inspect which of `config.json`, `config.toml`, or `config.env` is actually selected by SimpleTuner rules.
2. Treat the dataloader as a JSON array of dataset entries unless a wrapper service has provided an object with a `datasets` array.
3. Ensure enabled training plans have at least one primary dataset (`image`, `video`, or `audio`) and a usable `text_embeds` cache, unless the task is intentionally about a cache-only or maintenance case.
4. Keep cache directories separated by role. Do not reuse a VAE cache, text embed cache, conditioning image embed cache, or memory backend mount unintentionally.
5. For ControlNet or reference conditioning, validate both the source dataset and conditioning dataset side: matching stems, `conditioning_data`, `conditioning_type`, and `source_dataset_id` where strict alignment is required.
6. Do not run network, model download, training, cloud, or destructive data commands unless the user explicitly asks for them. The bundled validator is local-only; the Canny helper only writes under user-provided output directories and refuses overwrites unless requested.
## Bundled commands
```bash
python skills/disco/simple-tuner/sub-skills/data-and-config/scripts/validate_dataloader_config.py \
--input config/multidatabackend.json --expect-training-set
```
```bash
python skills/disco/simple-tuner/sub-skills/data-and-config/scripts/make_controlnet_canny_edges.py \
--input-dir datasets/source-images \
--output-original-dir datasets/controlnet/images \
--output-edges-dir datasets/controlnet/canny
```
## Evidence basis
This sub-skill distills repository-relative evidence from `documentation/DATALOADER.md`, `documentation/data_presets/*.md`, `documentation/HUGGINGFACE_DATASETS.md`, `documentation/CONTROLNET.md`, `config/*.example`, `simpletuner/helpers/configuration/*`, `simpletuner/helpers/data_backend/*`, `simpletuner/simpletuner_sdk/server/data/dataset_blueprints.py`, `tests/test_backend_config.py`, `tests/test_config*.py`, `tests/test_dataset*.py`, `tests/helpers/data_backend/*`, and `scripts/datasets/controlnet/create_canny_edge.py`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!