Skip to content
Back to skills

Conversion Cli

ASecurity

"Use X-AnyLabeling's conversion CLI and LabelConverter API to

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 9, 2026
toolspythonbashapi

Works with

  • cli
  • 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 conversion-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Conversion Cli?

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

Security grade badge for Conversion Cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-conversion-cli/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-conversion-cli)

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: conversion-cli
description: "Use X-AnyLabeling's conversion CLI and LabelConverter API to
  convert between XLABEL and YOLO, VOC, COCO, DOTA, MASK, MOT, MOTS, PPOCR,
  ODVG, and VLM-R1-OVD formats."
disable-model-invocation: true
metadata:
  disco-role: operating
license: GPL 3.0
---

# Conversion CLI

Use this sub-skill when a task needs command-line or Python API conversion between X-AnyLabeling's native XLABEL JSON and dataset formats such as YOLO, VOC, COCO, DOTA, semantic masks, MOT/MOTS, PaddleOCR, ODVG, or VLM-R1-OVD.

## Start Here

1. Confirm the package and CLI are available: `xanylabeling version` should run for `x-anylabeling-cvhub` 4.x. Python 3.11+ is supported; Python 3.12 is the recommended runtime for this skill's verified facts.
2. List the conversion registry with `xanylabeling convert`. The verified registry contains 19 tasks.
3. Inspect task-specific help before large batches: `xanylabeling convert --task yolo2xlabel`.
4. For a tiny end-to-end check, run the bundled smoke script:
   ```bash
   python scripts/run_conversion_smoke.py --work-dir /tmp/xal-convert-smoke
   ```
5. For task, mode, and argument details, use [references/cli-reference.md](references/cli-reference.md).
6. For input/output file expectations, use [references/data-formats.md](references/data-formats.md).
7. For failure triage, use [references/troubleshooting.md](references/troubleshooting.md).

## Capability Boundaries

This sub-skill owns:

- `xanylabeling convert` task selection, help/list behavior, required arguments, mode-specific arguments, and `--skip-empty-files` behavior.
- Import-to-XLABEL tasks: `yolo2xlabel`, `voc2xlabel`, `coco2xlabel`, `dota2xlabel`, `mot2xlabel`, `ppocr2xlabel`, `mask2xlabel`, `vlmr12xlabel`, `odvg2xlabel`.
- Export-from-XLABEL tasks: `xlabel2yolo`, `xlabel2voc`, `xlabel2coco`, `xlabel2dota`, `xlabel2mask`, `xlabel2mot`, `xlabel2mots`, `xlabel2odvg`, `xlabel2vlmr1`, `xlabel2ppocr`.
- `LabelConverter` Python API use for single-file or custom orchestration flows.
- Conversion edge cases: pose `group_id` association, pose class validation, OBB out-of-bounds skipping, blank mask output, VOC missing geometry warnings, Unicode image paths, and empty-file handling.

Route elsewhere:

- Manual drawing, editing, label semantics, and how to create or repair XLABEL annotations by hand: `../annotation-ui/SKILL.md`.
- Auto-labeling model prediction configuration, ONNX/CUDA/TensorRT model loading, downloads, and model-family selection: `../auto-labeling-models/SKILL.md`.

## Minimal Working Pattern

For a YOLO detection directory with images, label text files, and a one-class-per-line class list:

```bash
xanylabeling convert \
  --task yolo2xlabel \
  --mode detect \
  --images ./images \
  --labels ./labels \
  --output ./xlabel \
  --classes ./classes.txt
```

The output is one XLABEL JSON file per matched image/label pair. For most other target formats, convert to XLABEL first, then export from XLABEL to the target; direct format-to-format conversion is not exposed as a single task.

## Python API Entry Points

Use the installed API when you need per-file control, custom batching, stricter assertions, or integration inside a Python workflow:

```python
from anylabeling.views.labeling.label_converter import LabelConverter
from anylabeling.views.common.converter import run_conversion

converter = LabelConverter(classes_file="classes.txt")
converter.yolo_to_custom("labels/image.txt", "xlabel/image.json", "images/image.png", "hbb")

run_conversion(
    "yolo2xlabel",
    images="images",
    labels="labels",
    output="xlabel",
    classes_file="classes.txt",
    mode="detect",
)
```

The verified public signatures and mode mappings are cataloged in [references/cli-reference.md](references/cli-reference.md#python-api-signatures).

## Bundled Scripts

- `scripts/create_conversion_fixture.py`: creates a tiny 10x10 PNG image, `classes.txt`, and YOLO detection label under a chosen work directory.
- `scripts/run_conversion_smoke.py`: creates or reuses that fixture, runs `xanylabeling convert --task yolo2xlabel --mode detect`, and asserts the output JSON contains exactly one rectangle shape.

These scripts are intentionally tiny and self-contained; they do not require the original repository checkout or sample assets.

Files in this skill

  • SKILL.md4.2 KB
  • references/cli-reference.md13.3 KB
  • references/data-formats.md9.9 KB
  • references/troubleshooting.md8.9 KB
  • scripts/create_conversion_fixture.py2.5 KB
  • scripts/run_conversion_smoke.py4.4 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.