Skills
Skill manifest reference
Updated Sep 26, 2026
Every skill version ships a manifest — a JSON object describing how to run the skill and the SafeCore envelope it needs. MANUSH validates it when you save a version, again at review, and on the robot before installation.
Example
{
"entrypoint": "skills/pallet_putaway/main.py:run",
"os_min_version": "1.0.0",
"required_sensors": ["rgb_camera", "depth_camera", "lidar"],
"safecore_permissions": {
"max_speed_mps": 1.2,
"max_torque_nm": 80,
"min_human_distance_m": 1.0,
"tools": ["fork_attachment"],
"restricted_zones": ["dock-door-edge"],
"requires_human_supervision": false,
"remote_shutdown": true
},
"supported_models": ["M1", "H2"],
"os_modules": ["perception", "navigation", "motion", "safety", "skills"]
}Required fields
| Field | Type | Rules |
|---|---|---|
entrypoint | string | Relative module path with optional :function, e.g. skill/main.py:run. No ... |
os_min_version | string | Minimum MANUSH OS version, semantic (1.0.0). |
required_sensors | string[] | From: rgb_camera, depth_camera, stereo_camera, thermal_camera, lidar, imu, joint_encoders, force_torque, tactile, microphone_array, gas_sensor, environmental_sensors, ultrasonic, gps. No duplicates. |
safecore_permissions | object | See below and SafeCore permissions. |
supported_models | string[] | Non-empty; MANUSH model codes (H1–H5, D1–D3, S1–S3, A1–A3, M1–M5) that are also in the skill's compatible models. |
safecore_permissions
| Field | Type | Rules |
|---|---|---|
max_speed_mps | number | Greater than 0, at most 3.0 m/s |
max_torque_nm | number | Greater than 0, at most 500 Nm |
min_human_distance_m | number | 0.3 – 5.0 m |
tools | string[] | Lowercase identifiers of every tool the skill may actuate ([] if none) |
restricted_zones | string[] | Optional named zones the skill must never enter |
requires_human_supervision | boolean | Optional |
remote_shutdown | boolean | Optional; cannot be false |
Optional fields
os_modules— MANUSH OS modules the skill uses:perception,navigation,motion,manipulation,voice,memory,safety,skills,agent. Declaringmanipulationrequires every supported model to have hands or an arm.- Any additional keys (
name,parameters,policy,demonstration) are kept and shown to reviewers.
Versions and packages
Versions are semantic and must increase. Upload the package (.zip, .tar or .gz, up to 200 MB); MANUSH computes its SHA-256 checksum and, on approval, signs manush-skill:v1:{slug}@{version}:{sha256} with the MANUSH skill-signing key so robots can verify the package before installation. Approved versions are immutable — publish changes as a new version.