Skip to content
Back to skills

Data Preparation

ASecurity

"It prepares, validates, loads, normalizes, transforms, inspects,

  • 247 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
datapythongoapi

Works with

  • api

Security analysis

A100/100

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

Scanned September 8, 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-e689c070/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-preparation-e689c070)

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: "It prepares, validates, loads, normalizes, transforms, inspects,
  and customizes MMSkeleton skeleton datasets while preserving loader and
  tensor-axis contracts."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# MMSkeleton data preparation

Use this skill when the input is already skeleton data, or when a pose
extraction result must be checked before recognition. It covers the JSON
annotation contract, category labels, the `SkeletonLoader`/`DataPipeline`
boundary, and the transforms exposed as `datasets.skeleton.*`.

## Route first

- Read [data-formats.md](references/data-formats.md) before authoring or
  loading JSON. Run the bundled [validator](scripts/validate_skeleton_json.py)
  on a file or directory before training or evaluation.
- Read [transforms.md](references/transforms.md) when selecting normalization,
  masking, temporal sampling, axis permutation, or tuple conversion. Preserve
  the distinction between annotation keypoint lists and model tensors.
- Read [troubleshooting.md](references/troubleshooting.md) when validation,
  loading, or a pipeline stage fails.
- Route ST-GCN graph/model construction, checkpoint use, and recognition train
  or test commands to the `recognition` sub-skill. Route raw-video detector
  extraction, MMDetection, or HRNet work to the `pose-estimation` sub-skill;
  hand its produced JSON back here for validation. This skill does not claim
  detector execution.

## Operating procedure

1. Treat each JSON object as one sample. Check `info`, `annotations`, and
   `category_id`, then check every annotation's frame, effective person slot,
   channel count, and finite numeric value. Use `--num-track` when the target
   loader configuration has a known person-slot limit.
2. Configure `SkeletonLoader` with the JSON directory, `num_track`, and (only
   when it exactly matches the file) `num_keypoints`. The loader allocates
   `(C, V, T, M)` float32 data and fills sparse `(channel, joint, frame,
   person)` locations with zeros. It uses `person_id` when present and falls
   back to `id` when `person_id` is null; avoid relying on the loader's silent
   dropping of out-of-range records.
3. Apply transforms in a deliberate order: resolution normalization, optional
   visibility masking, temporal sizing/augmentation, then the explicit axis
   permutation expected by the model and `to_tuple`. The common ST-GCN path
   changes `(C,V,T,M)` to `(C,T,V,M)` and batching adds `N`, yielding
   `(N,C,T,V,M)`.
4. For a custom feeder, keep the same boundary: a data source used by
   `DataPipeline` should return a mutable sample dictionary with `data` and
   `category_id`, and pipeline stages should finish with the tuple expected by
   the consumer. A feeder that bypasses `DataPipeline` must document and return
   the consumer's exact tensor/label contract rather than guessing axes.
5. Inspect masks and channel statistics with the dataset-analysis pipeline
   only after the sample shape and visibility semantics are known. Do not use
   an unknown graph layout or silently pad a joint-count mismatch; route those
   model decisions to the `recognition` sub-skill.

## Fast checks

```text
python scripts/validate_skeleton_json.py --help
python scripts/validate_skeleton_json.py --input path/to/sample.json
python scripts/validate_skeleton_json.py --input path/to/dataset --category-annotations path/to/categories.json --num-track 2
```

The validator is read-only, reports file and annotation locations, accepts a
missing category mapping only when the sample label is `-1`, and exits nonzero
for malformed or unsafe data. Its exact checks and category matching rules are
in [data-formats.md](references/data-formats.md).

## Internal references

- [Data formats and loader contract](references/data-formats.md)
- [Transforms and axis recipes](references/transforms.md)
- [Troubleshooting and recovery](references/troubleshooting.md)
- [Read-only JSON validator](scripts/validate_skeleton_json.py)

Files in this skill

  • SKILL.md4 KB
  • references/data-formats.md6.3 KB
  • references/transforms.md6 KB
  • references/troubleshooting.md5.8 KB
  • scripts/validate_skeleton_json.py14.3 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.