Skip to content
Back to skills

Dataset Authoring

ASecurity

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

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 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…