Skills ros2-control-introspection

Execute ROS 2 Control read-only introspection commands (list, view) in a sandboxed environment. Supports parameter profiles.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bigrobinson/ros2-control-introspection" ~/.claude/skills/openclaw-skills-ros2-control-introspection && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bigrobinson/ros2-control-introspection" ~/.openclaw/skills/openclaw-skills-ros2-control-introspection && rm -rf "$T"
manifest: skills/bigrobinson/ros2-control-introspection/SKILL.md
source content

ROS 2 Control Introspection (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 inspect the

ros2_control
graph. It is STRICTLY read-only. You cannot use this skill to load, switch, or modify controllers (use
ros2-control-execution
for that).

SECURITY CONSTRAINT: You must ALWAYS use the safe wrapper script located at

./scripts/safe_ros2_control_introspection.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_introspection.py
against this SKILL.md directory.

Allowed Commands

Usage:

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

  • list_controllers
  • list_controller_types
  • list_hardware_components
  • list_hardware_interfaces
  • view_controller_chains

Examples:

  • Basic list:
    ./scripts/safe_ros2_control_introspection.py list_controllers
  • Targeting a specific controller manager:
    ./scripts/safe_ros2_control_introspection.py list_controllers -c /my_controller_manager
  • Using a parameter profile (for complex --ros-args):
    ./scripts/safe_ros2_control_introspection.py view_controller_chains -c /my_manager --profile my_tuning_file