"Serve StarVLA checkpoints over websocket or GR00T-compatible ZMQ
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill policy-deployment --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Policy Deployment?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-policy-deployment)More formats (shields.io, HTML) on the badges page.
---
name: policy-deployment
description: "Serve StarVLA checkpoints over websocket or GR00T-compatible ZMQ
and debug policy client contracts."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# policy-deployment
Use this operating sub-skill after a StarVLA checkpoint exists and the task is to serve it, connect a policy client, debug request/response schemas, or bridge the policy to a robot/controller stack. The current StarVLA serving path performs **server-side action unnormalization**: clients should consume `response["data"]["actions"]`, not reimplement old `normalized_actions` handling.
## Route first
- Websocket or ZMQ server protocol, server metadata, `PolicyServerWrapper`, `PolicyNormProcessor`, `server_policy.py`, `server_policy_gr00t_zmq.py`, `ZmqGr00tPolicyServer`, `Gr00tCompatPolicy`: read [policy-server-protocols](references/policy-server-protocols.md).
- Websocket client request/response schemas, image/state shape checks, GR00T named state/action split, optional helper validation: read [client-contracts](references/client-contracts.md) and use [check_policy_server_contract.py](scripts/check_policy_server_contract.py).
- Real-robot or controller bridge design, safety gates, GR00T-WBC/Unitree G1/EgoVLA/RoboChallenge/Franka caveats: read [real-robot-bridges](references/real-robot-bridges.md).
- Failure diagnosis for checkpoint config/statistics, multiple unnormalization keys, request shape mismatch, stale normalized-action clients, codec mismatch, port/timeouts, or device/bfloat16 mistakes: read [troubleshooting](references/troubleshooting.md).
Route elsewhere when the question is not serving/client deployment:
- Simulator environment installation, benchmark-specific eval launchers, MuJoCo/Vulkan/rendering, or benchmark metrics -> `../benchmark-evaluation/SKILL.md`.
- Dataset registry, `data_mix`, `DataConfig`, modality/statistics key construction, or `dataset_statistics.json` generation -> `../data-integration/SKILL.md`.
- Training a checkpoint, YAML training overrides before a checkpoint exists, Accelerate/DeepSpeed, or resume planning -> `../training-config/SKILL.md`.
## Operating invariants
1. Start from server metadata. `action_chunk_size`, `available_unnorm_keys`, `default_unnorm_key`, `training_data_mix`, `training_obs_image_size`, and any exposed `action_keys`/`state_keys` are the authoritative handshake for a served checkpoint.
2. If metadata reports multiple `available_unnorm_keys` and no default, every inference payload must pass a top-level `unnorm_key` matching the requested embodiment/statistics key.
3. Websocket clients send a payload with `examples`; each example carries explicit image views, language, and optional state. The server never infers camera count or camera order.
4. StarVLA websocket responses return already-unnormalized `actions` shaped like `[B, T, action_dim]`. Treat docs or clients expecting `normalized_actions` as stale until migrated.
5. GR00T-compatible ZMQ clients use endpoint messages and the custom ndarray codec. Named state groups are flattened in checkpoint `state_keys` order; flat actions are split into named groups using `action_keys` and key dims.
6. `--config_override KEY=VALUE` is a repeatable OmegaConf dotlist override for the websocket server path. Do not pass a bare string into the Python API; pass a sequence of `KEY=VALUE` entries.
7. Robot bridges own observation capture, controller grouping, clipping, stale-action handling, and safety interlocks. They should not duplicate StarVLA action unnormalization.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!