Skip to content
Back to skills

Dataset Authoring

ASecurity

"Author, test, and debug custom TensorFlow Datasets builders and

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
toolsgotestingapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill dataset-authoring --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dataset Authoring?

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

Security grade badge for Dataset Authoring
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-dataset-authoring/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-dataset-authoring)

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: dataset-authoring
description: "Author, test, and debug custom TensorFlow Datasets builders and
  dataset collections."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# TensorFlow Datasets Dataset Authoring

Use this sub-skill when the task is to create, revise, test, or debug a custom TensorFlow Datasets (TFDS) dataset builder or dataset collection. It is focused on repository-local or package-local authoring workflows, not on loading an already prepared dataset.

## Use this for

- Creating or reviewing a `tfds new`-style dataset folder.
- Implementing `tfds.core.GeneratorBasedBuilder` with `_info`, `_split_generators`, and `_generate_examples`.
- Choosing `DatasetInfo`, `BuilderConfig`, `Version`, `SplitGenerator` replacement patterns, `DownloadManager`, and feature connectors.
- Creating safe dummy data and `tfds.testing.DatasetBuilderTestCase` tests.
- Handling checksums, manual downloads, version/release-note changes, and common implementation gotchas.
- Authoring dataset collections with collection metadata, versioned references, and collection tests.

## Route elsewhere

- CLI command syntax, `tfds build`, `tfds new` options, and command construction: route to `cli-workflows`.
- Beam/Dataflow/Flink generation, distributed transforms, or performance scaling: route to `beam-and-performance`.
- External TFRecord layouts, folder datasets, Croissant, HuggingFace/community wrappers, and format-specific builders: route to `formats-and-community`.
- Loading, inspecting, decoding, splitting, or iterating existing datasets without authoring code: route to `data-loading`.

## Start-here workflow

1. Identify whether the user is authoring a dataset builder or a dataset collection.
2. For a builder, inspect the candidate folder with the bundled validator:
   - [`scripts/dataset_skeleton_check.py`](scripts/dataset_skeleton_check.py)
3. Use the references in this order:
   - [Builder authoring](references/builder-authoring.md)
   - [Feature connectors](references/feature-connectors.md)
   - [Testing and validation](references/testing-and-validation.md)
   - [Dataset collections](references/dataset-collections.md)
   - [Troubleshooting](references/troubleshooting.md)
4. Keep the authoring folder self-contained: implementation, metadata files, checksum file, test, and dummy data should live together.
5. Prefer small dummy-data tests and metadata/API checks before any full generation or network-dependent workflow.

## Installed API facts to rely on

The inspected package version exposes these authoring signatures:

- `tfds.core.GeneratorBasedBuilder(*, file_format=None, **kwargs)`
- `tfds.core.BuilderConfig(name, version=None, release_notes=None, supported_versions=<factory>, description=None, tags=<factory>)`
- `tfds.core.Version(version, experiments=None, tfds_version_to_prepare=None)`
- `tfds.core.SplitGenerator(name, gen_kwargs=None)`; this is legacy for new builders, which should return a `{split_name: generator}` dictionary from `_split_generators`.
- `tfds.core.DatasetInfo(*, builder, description=None, features=None, supervised_keys=None, disable_shuffling=False, nondeterministic_order=False, homepage=None, citation=None, metadata=None, license=None, redistribution_info=None, split_dict=None, alternative_file_formats=None, is_blocked=None)`

## Quick checks before handing off code

- `_generate_examples` yields unique, deterministic, comparable keys and feature dictionaries matching `_info().features`.
- Splits match the source data's official splits. If no official split exists, author one split and let users sub-split later.
- `ClassLabel` has human-readable `names` or `names_file` unless there is a specific reason not to.
- Image/video/audio shapes and dtypes are explicit when known.
- Dummy data is non-copyrighted, small, structurally faithful, and split-disjoint unless overlap is intentional and declared in the test.
- Download URLs have registered checksums or the test explicitly explains why checksum validation is skipped.
- Dataset collection versions and referenced dataset versions are explicit and covered by a collection test.

Files in this skill

  • SKILL.md4.1 KB
  • references/builder-authoring.md11.4 KB
  • references/dataset-collections.md6.2 KB
  • references/feature-connectors.md8.7 KB
  • references/testing-and-validation.md9.5 KB
  • references/troubleshooting.md9.4 KB
  • scripts/dataset_skeleton_check.py24.6 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.