When to use skills
The default developer path is still CLI-first managed debugging. Reach for direct skill calls when
you need deterministic robot-side actions from scripts, a second terminal, Discord workflows, or
inspection that should not depend on an already-open shell session.
robotunnel skill <robot> host_debug status
robotunnel skill <robot> ros2_observe topics
robotunnel skill <robot> visual_debug status --params '{"session_id":"..."}'
Developer path
visual_debug
Starts and inspects Debug Projection sessions for Foxglove, RViz, and stream-oriented workflows.
ROS inspection
ros2_observe
Discovers topics, samples data, and inspects ROS 2 state without committing to a full remote shell flow.
Host diagnostics
host_debug
Checks host health, logs, services, and shell-level diagnostics when the problem may not be in ROS itself.
Background health
monitor
Captures health snapshots and alert-oriented context for operator or team-facing workflows.
Skills in Discord
Discord is a team-facing surface over the same robot-side capability model, but it is not a full replacement for the CLI. It is strongest when a team needs shared context, quick diagnosis, and structured actions without opening an interactive shell first.
- Discord can route status, logs, shell, monitor, compare, test, alerts, and explicit
rt skill <robot> <skill> <action> calls through the same underlying skill system.
- Natural-language prompts in Discord can resolve into safe structured skill, fleet, metadata, and context actions.
monitor is the most natural fit for alerting and team workflows, while host_debug and ros2_observe work well for first-line diagnosis.
visual_debug can support session-aware checks, but interactive connect and debug open flows remain CLI-only.
For the Discord interaction model itself, see the
Discord Bot guide. Use Discord to coordinate and trigger actions, then switch to the CLI when you need hands-on session control.
visual_debug
Use this skill when the developer goal is an actual debug session rather than a raw connection. It
maps most closely to the managed robotunnel debug ... workflow.
- Best for Foxglove, RViz, and projected-session lifecycle checks.
- Owns the robot-side Debug Projection runtime.
- Usually the first skill a developer touches after onboarding.
robotunnel skill <robot> visual_debug status --params '{"session_id":"..."}'
ros2_observe
Use this when you need topic discovery, samples, and ROS 2 state checks before or alongside a
visual session.
- Good for answering “what topics are here?” and “what is this node publishing?”
- Useful on constrained links when you want selective inspection before opening a heavier session.
- Pairs naturally with Debug Projection topic policy decisions.
robotunnel skill <robot> ros2_observe topics
robotunnel skill <robot> ros2_observe sample --params '{"topic":"/scan"}'
host_debug
Use this when the suspected issue is system-level: services, process state, logs, disk, network,
or host health rather than ROS message content.
- Best for first-line diagnosis when a robot is online but “something is wrong.”
- Useful for scripted checks and support workflows.
- A common bridge between developer debugging and operator support.
robotunnel skill <robot> host_debug status
robotunnel skill <robot> host_debug logs --params '{"service":"robotunnel-agent"}'
monitor
Use this for background health snapshots and alert-style context. It is the skill most naturally
aligned with Discord and team workflows rather than direct interactive debugging.
- Captures health snapshots over time.
- Supports alert delivery and monitor-style workflows.
- Helps teams build shared operational context without replacing the CLI.
robotunnel skill <robot> monitor snapshot
robotunnel skill <robot> monitor alerts --params '{"window":"15m"}'