ROS2 Control Execution

v1.0.0

Execute ROS 2 Control state-changing commands (load, switch, unload) in a sandboxed environment. Supports parameter profiles.

0· 92·0 current·0 all-time
byBrian Robinson@bigrobinson

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for bigrobinson/ros2-control-execution.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "ROS2 Control Execution" (bigrobinson/ros2-control-execution) from ClawHub.
Skill page: https://clawhub.ai/bigrobinson/ros2-control-execution
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install ros2-control-execution

ClawHub CLI

Package manager switcher

npx clawhub@latest install ros2-control-execution
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill provides a small setup script and a strict wrapper around 'ros2 control' subcommands. The requested actions (sourcing ROS, writing a local config.json, reading parameter profiles) match the stated purpose of executing and parameterizing ROS 2 control commands. There are no extraneous credentials, binaries, or unrelated config paths declared.
Instruction Scope
SKILL.md limits action to configuring and invoking the provided safe wrapper and explicitly requires sourcing the ROS environment. The wrapper enforces an allowlist of subcommands and uses subprocess without shell=True to avoid command-injection. Points to note: (1) it reads parameter/profile YAML files from ~/.openclaw/workspace/ros_profiles and will fail if those files are missing — these files are reasonable for profiles but are reads of user home data; (2) it sources the ROS setup.bash to construct the environment, which executes whatever that setup script contains (this is necessary for ROS but means you should trust your ROS installation).
Install Mechanism
This is an instruction-only skill with two small scripts included; there is no install spec that downloads or executes external code. Nothing is fetched from the network and no archive extraction is performed.
Credentials
The skill does not request environment variables or credentials. It does require that the user has a functioning ROS 2 installation (ros2 on PATH and AMENT_PREFIX_PATH set) and writes a local config.json under the skill's directory. It also reads parameter/profile YAMLs from ~/.openclaw/workspace/ros_profiles when --profile is used. These accesses are proportionate to the feature but you should verify that profile files and your ROS setup are trusted.
Persistence & Privilege
always is false and the skill does not request persistent elevated privileges or attempt to modify other skills or global agent settings. It writes a small config.json under its own config directory (normal).
Assessment
This skill appears to do what it says: safely wrap and run ros2 control subcommands. Before using it: 1) Confirm you source the correct ROS setup (sourcing executes that script — if your ROS installation is untrusted, that could run arbitrary commands). 2) Inspect any parameter/profile YAMLs in ~/.openclaw/workspace/ros_profiles before passing them to the wrapper. 3) Verify the provided scripts (setup.sh and safe_ros2_control_execution.py) are the ones you expect and have not been tampered with. The wrapper uses an allowlist and avoids shell=True (good mitigations), so its design is coherent and proportionate.

Like a lobster shell, security has layers — review code before you run it.

latestvk974qcz164zesavzzgq2v69kzs84c0r4
92downloads
0stars
1versions
Updated 2w ago
v1.0.0
MIT-0

ROS 2 Control Execution (Sandboxed)

Setup & Installation

Before this skill can be used, the local environment must be configured.

  1. Source your environment: You MUST source your ROS 2 environment first.
    source /opt/ros/<distro>/setup.bash
    source ~/my_ros_ws/install/setup.bash
    
  2. Run setup:
    ./scripts/setup.sh
    

Overview

Use this skill to modify the ros2_control graph. You can use it to load, configure, start, stop, and switch controllers.

SECURITY CONSTRAINT: You must ALWAYS use the safe wrapper script located at ./scripts/safe_ros2_control_execution.py. This script uses Python's subprocess (shell=False) to prevent command injection and validates the command against a strict allowlist.

Wrapper Path: Resolve ./scripts/safe_ros2_control_execution.py against this SKILL.md directory.

Allowed Commands

Usage: ./scripts/safe_ros2_control_execution.py <subcommand> [native_flags] [--profile <name> | --params-file <path>]

  • load_controller
  • reload_controller_libraries
  • set_controller_state
  • set_hardware_component_state
  • switch_controllers
  • unload_controller
  • cleanup_controller

Examples:

  • Load a controller: ./scripts/safe_ros2_control_execution.py load_controller joint_trajectory_controller -c /controller_manager
  • Set controller state (e.g., to active): ./scripts/safe_ros2_control_execution.py set_controller_state joint_trajectory_controller active -c /controller_manager
  • Switch controllers: ./scripts/safe_ros2_control_execution.py switch_controllers --activate joint_trajectory_controller --deactivate position_controller -c /controller_manager
  • Using a parameter profile (for complex --ros-args): ./scripts/safe_ros2_control_execution.py load_controller my_ctrl -c /my_manager --profile outdoor_tuning

Comments

Loading comments...