Skip to content
Back to skills

Auto Annotation

ASecurity

"Implement CVAT local auto-annotation functions and reason about

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

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill auto-annotation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Auto Annotation?

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

Security grade badge for Auto Annotation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-auto-annotation/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-auto-annotation)

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: auto-annotation
description: "Implement CVAT local auto-annotation functions and reason about
  serverless native-function deployment, label matching, ROI, and tracking
  flows."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# CVAT auto-annotation

Use this sub-skill when the user needs to automate annotation with a Python function or a CVAT native function: build detection/interaction/tracking/re-identification logic, run `annotate_task`, create native functions, run agents, or understand the CPU/GPU serverless deployment story for built-in Nuclio models.

## Route first

- Read `references/function-protocols.md` for the confirmed AA function protocols, helper factories, prompt/result constraints, and CLI/API mappings.
- Read `references/serverless-models.md` for CPU/GPU serverless deployment patterns, model categories, and deployment hazards.
- Read `references/troubleshooting.md` for label mapping, shape validation, backend, import, and deployment errors.
- Use `scripts/aa_detection_template.py` for a safe starter implementation and `scripts/cvat_serverless_deploy_notes.py` for a non-executing command checklist.

## Choose the right mode

- **Immediate mode**: call `cvat_sdk.auto_annotation.annotate_task(client, task_id, function, ...)` from Python or use `cvat-cli task auto-annotate`.
- **Native function mode**: create a server-side function with `cvat-cli function create-native` and run an agent process with `cvat-cli function run-agent`.
- **Serverless deployment mode**: deploy built-in CVAT Nuclio functions when the user wants reusable server-side detectors/interactors.

If the task is primarily general SDK scripting, route to `../sdk-automation/SKILL.md`. If it is primarily task/project shell automation, route to `../cli-automation/SKILL.md`.

## Protocols at a glance

### Detection functions

Implement `spec` and `detect`.

- `spec` returns a `DetectionFunctionSpec` with label definitions.
- `detect(context, image)` returns a sequence of tags/shapes.
- Helper factories such as `label_spec`, `skeleton_label_spec`, `keypoint_spec`, `attribute_spec`, `rectangle`, `mask`, `polygon`, `skeleton`, `keypoint`, and `tag` make valid objects easier to construct.
- `frame_id` must be 0 and `id`/`source` must not be set in returned annotations.

### Interaction functions

Implement `spec`, `detect`, and optionally `preprocess_image`.

- `spec` is an `InteractionFunctionSpec` with minimum positive points and optional negative points/bounding boxes.
- `detect(context, pp_image, prompts)` returns `InteractionResultShape` objects.
- CVAT UI currently only processes returned shapes of type `mask`.
- `InteractionResultAttributes.CONFIDENCE` is the only supported result attribute spec id.

### Tracking functions

Implement `spec`, `init_tracking_state`, `track`, and optionally `preprocess_image`.

- `spec.supported_shape_types` declares the trackable shapes.
- `init_tracking_state` analyzes the first image and shape.
- `track` predicts a later position or returns `None` when tracking fails.

## CLI and API entry points

- `task auto-annotate` uses a local function module or source file and can clear existing annotations, allow unmatched labels, set a confidence threshold, and convert masks to polygons.
- `function create-native` registers a local function implementation with the server.
- `function run-agent` polls the server for requests and executes them against the local function.

## Safety defaults

- Keep model loading local and deterministic; avoid hidden downloads in the function path unless the user explicitly wants them.
- Put heavyweight model weights, checkpoints, or Nuclio build contexts outside the runtime skill and describe them as deployment inputs.
- Require the operator to match labels and shapes before running automatic annotation on real data.
- For GPU serverless functions, treat driver/runtime compatibility as a hard prerequisite and do not imply CPU validation covers GPU execution.

Files in this skill

  • SKILL.md3.9 KB
  • references/function-protocols.md3.3 KB
  • references/serverless-models.md2.6 KB
  • references/troubleshooting.md3 KB
  • scripts/aa_detection_template.py2.5 KB
  • scripts/cvat_serverless_deploy_notes.py2.1 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.