Skip to main content

Skill Library

In data annotation work, teams often encounter these problems:

  • Different annotators name the same action inconsistently ("grasp" vs "grasp object" vs "pick")
  • Skill definitions change with projects, making historical data difficult to reuse
  • New projects need to redefine all skills, wasting time
  • Cannot track change history of skill definitions

Skill library is designed to solve these problems. It's like a "standard dictionary", allowing the entire team to use unified skill definitions, and supports evolution over time.

Skill Library Interface

Quick Start: Create Your First Skill

Step 1: Create Skill Category

Before creating specific skills, first establish a classification system. Click "New Category", enter category name:

  • Basic Actions: Grasp, place, push, pull and other atomic operations
  • Daily Scenarios: Wipe table, pour water, organize items and other combined skills
  • Industrial Scenarios: Assembly, inspection, transportation and other professional skills

💡 Tip: Categories shouldn't be too detailed, generally 3-5 categories are enough.

Step 2: Add Skill

Select a category, click "New Skill", fill in:

  • Skill Name: Use team's unified naming convention (e.g., "grasp_object")
  • Skill Description: Detailed explanation of this skill's definition and boundaries
  • Tags (Optional): Add tags like "difficulty: simple", "scene: kitchen", etc.

Step 3: Use in Annotation Tasks

When creating annotation tasks, system automatically loads skill library. Annotators select from skill library during annotation, rather than manually entering.

Advanced Usage

How to Manage Skill Versions?

Why Do We Need Version Management?

Suppose your team has already annotated 1000 pieces of data with "grasp" skill, now need to change skill definition to "grasp_object" (more explicit). Direct modification would cause confusion in historical data associations, this is when version management is needed.

Operation Steps:

  1. Create New Version

    • Click "Create New Version" on skill details page
    • Modify name and description
    • Version number automatically increments (v1 → v2)
  2. Historical Data Remains Unchanged

    • The 1000 annotated data pieces still associate with v1
    • Data integrity is guaranteed
  3. New Tasks Use New Version

    • Newly created annotation tasks automatically use v2
    • Maintain latest annotation standards
  4. Flexible Selection During Export

    • Can export only specific versions
    • Can merge statistics from multiple versions

When Do We Need Rollback?

If new version definition has issues, can select old version in "Version History", click "Set as Current Version". Ongoing tasks will continue using old version.

How to Set Skill Dependencies?

When Do We Need Dependency Management?

If your skill definitions have these characteristics, dependency management is needed:

✅ A skill must be executed after another skill (e.g., "place" depends on "grasp")
✅ A skill is a prerequisite for another skill (e.g., "open door" needs "approach door" first)
✅ Multiple skills form a complex process (e.g., "make coffee" includes multiple sub-skills)

❌ If skills are completely independent, no need to set dependencies

Set Dependencies:

  1. Go to skill details page
  2. Click "Dependencies" tab
  3. Click "Add Dependency", select prerequisite skill
  4. After saving, system will automatically validate dependencies during annotation and export

Dependency Visualization:

When annotators annotate "push open door", system will prompt that the first three steps need to be completed first.

How to Reuse Skill Templates?

Scenario: Quick Start New Project

When new projects start, usually there are some common skills needed by every project. Rather than recreating each time, use skill templates.

Create Template:

  1. Select multiple commonly used skills
  2. Click "Save as Template"
  3. Enter template name (e.g., "Universal Robotic Arm Operations")

Use Template:

When creating new project, select "Import from Template", one-click import all skill definitions.

Built-in Templates:

Platform provides some common templates:

Template NameSkill CountUse Cases
Universal Robotic Arm Operations12Industrial robotic arms, collaborative robots
Mobile Robot Navigation8Mobile chassis, delivery robots
Humanoid Robot Basics20Bipedal, dual-arm humanoid robots
Home Service Scenarios15Cleaning, organizing, picking and placing items

How to View Skill Usage Statistics?

Statistics Dimensions:

Skill library provides multi-dimensional usage statistics:

Usage Frequency

  • Display number of times each skill is used
  • Help identify core skills and rarely used skills

Usage Trends

  • Display skill usage changes on timeline
  • Identify newly popular skills

Quality Metrics

  • Annotation Consistency: Consistency level of different annotators annotating the same skill
  • Review Pass Rate: Annotation review pass rate for this skill

Project Distribution

  • Which projects are using this skill
  • Cross-project skill reuse situation

How to Use Statistics?

  • Optimize Skill Definitions: If a skill's consistency is very low (e.g., 60%), definition may not be clear enough, needs refinement
  • Guide Training: Skills with low pass rates need to strengthen annotator training
  • Identify Deprecated Skills: Long-unused skills can be archived to simplify skill library

Team Collaboration Best Practices

Role Division Recommendations

Responsibilities of different roles in skill library management:

Administrator

  • Maintain overall structure of skill library
  • Establish skill naming conventions
  • Approve skill additions and modifications
  • Regularly clean up deprecated skills

Project Manager

  • Select or create skills for projects
  • Monitor skill usage
  • Provide feedback on skill definition issues

Annotator

  • Use skill library for annotation
  • Provide feedback on unclear skill definitions
  • Suggest new skills

Skill Naming Convention Recommendations

Unified naming conventions can significantly improve collaboration efficiency:

Recommended Format: verb_object_[modifier]

✅ Good Names:

  • grasp_bottle
  • place_desktop_lightly
  • push_door_forward

❌ Bad Names:

  • operation1 (unclear)
  • pick (language mixing)
  • grasp_bottle_and_place_on_table (too complex, should split)

Naming Principles:

  • Use team's unified language (Chinese or English)
  • Verb first, object second
  • Avoid too long, generally no more than 15 characters
  • Add modifiers when necessary to distinguish subtle differences

Skill Definition Template

When writing skill descriptions, you can refer to this template:

**Skill Name**: grasp_bottle

**Definition**:
Use robotic arm end effector to grasp bottle from stationary state and maintain stable grip.

**Specific Actions**:
1. Robotic arm moves above bottle
2. End effector descends to grasping height
3. Gripper closes, grips bottle
4. Maintain grip force, avoid bottle slipping

**Boundary Conditions**:
- Bottle must be in graspable area
- Bottle is stationary or low-speed moving
- Grasp force is moderate, cannot damage bottle

**Does Not Include**:
- Moving bottle to other location (belongs to "place" skill)
- Unscrewing bottle cap (belongs to "rotate" skill)

**Example Video**:
[Upload example video link]

Common Questions

What's the Difference Between Skills and Action Annotations?

Skills are high-level semantic descriptions, action annotations are specific trajectory data:

  • Skill: "Grasp bottle" — tells model "what to do"
  • Action Annotation: Robotic arm trajectory, joint angles, gripper open/close — tells model "how to do"

One skill may correspond to multiple action trajectories (different grasping methods).

Can I Delete Skills That Are Already Used?

Not recommended to directly delete. If a skill is no longer used:

  1. Archive: Mark skill as "deprecated", no longer appears in selection list
  2. Retain: Historical annotation data still associates with this skill, can view during export
  3. Merge: If merging into other skill, use "Merge Skills" function

⚠️ Note: Force deletion will cause associated annotation data to lose skill information, affecting data integrity.

How to Import External Skill Definitions?

If you already have a skill list in Excel or CSV format:

  1. Prepare file, format requirements:

    • First column: Skill name
    • Second column: Skill category
    • Third column: Skill description
  2. Go to Skill Library page, click "Import"

  3. Select file, map column correspondences

  4. Preview import results, import after confirming no issues

Does Skill Library Support Multiple Languages?

Yes. You can add multilingual names and descriptions for each skill:

  • Chinese: 抓取_瓶子
  • English: pick_bottle
  • 日本語: ボトル_つかむ

Annotators switch interface language based on their language preference, skill names will automatically display corresponding language version.

⚠️ Note: When exporting data, skills will use the primary language version from creation time to ensure data consistency.

After completing skill library setup, you may also need: