Rosclaw logo

Rosclaw

Organization
ros-claw
rosclaw

Use when operating, validating, or changing ROSClaw physical-AI runtime workflows, especially CLI smoke tests, Practice evidence loops, body/runtime checks, MCP integration, MuJoCo sandbox verification, and safe ROS or hardware boundaries.

Overview

Publisherros-claw
Repositoryrosclaw
Skill namerosclaw
Stars
230
Forks
32
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by ros-claw on GitHub. Read the source before you install it.

Installation

Install the Rosclaw AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ros-claw/rosclaw/tree/main/.agents/skills/rosclaw
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ros-claw/rosclaw.git /tmp/rosclaw
mkdir -p .claude/skills
cp -r /tmp/rosclaw/.agents/skills/rosclaw .claude/skills/rosclaw
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Rosclaw in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Rosclaw on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Rosclaw is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

ROSClaw Agent Skill

Use this exact launcher for every ROSClaw CLI command: .venv/bin/python -m rosclaw.entrypoint. Do not replace it with a different rosclaw found on PATH.

Safety

  • Treat ROSClaw as physical-AI infrastructure. Do not publish ROS topics, actuate hardware, run real robot skills, or mutate a live workspace directly, even when a user asks for that specific action.
  • Prefer dry-run, read-only, mock, fixture, simulation, or temp-workspace commands for validation.
  • Use a temporary ROSCLAW_HOME for CLI smoke tests that write persistent state.
  • Prefer --json for machine checks, then validate the JSON parses.
  • The only Agent-side action entry is MCP request_action, backed by rosclawd. Never instantiate a local Runtime or register a hardware driver/executor from the Agent process.
  • REAL actions require an immutable body snapshot, a daemon-issued capability- and action-intent-bound permit, and a registered verified REAL executor. Refuse direct ROS, DDS, serial, CAN, SDK, or motor commands.

Capability First (Skill Runtime 2.0)

Before solving a system, robot, environment, device, perception, navigation or manipulation task ad-hoc:

  1. Call MCP resolve_capability(intent) (or .venv/bin/python -m rosclaw.entrypoint skill search "<intent>").
  2. Prefer an applicable verified capability/skill over hand-rolled commands.
  3. Use generic tools only when no capability exists, the capability is incompatible, or it failed after its recovery path.

Never guess skill names: state the goal ("帮我安装 ROS2") and let the resolver pick the implementation. Host-domain skills execute only through typed HostOps plans with plan-hash approval — never improvise sudo apt install ... / curl ... | bash in a shell. When the sandboxed shell refuses a host mutation, treat it as a signal to call resolve_capability first, not as a prompt to work around the sandbox. Sudo authentication is a local-TTY operator step; never ask for, accept, or log a sudo password.

First Checks

bash
.venv/bin/python -m rosclaw.entrypoint doctor --json
.venv/bin/python -m rosclaw.entrypoint status capabilities
.venv/bin/python -m rosclaw.entrypoint daemon status --json
.venv/bin/python -m rosclaw.entrypoint demo list
.venv/bin/python -m rosclaw.entrypoint demo run ur5e-reach
.venv/bin/python -m rosclaw.entrypoint explain latest
.venv/bin/python -m rosclaw.entrypoint agent doctor universal --project-root .
.venv/bin/python -m rosclaw.entrypoint agent test universal --project-root . --quick --mcp-probe

For daemon status, require running and ledger.integrity_verified to be true; require ledger.write_failed, recovery.required, and emergency_stop_latched to be false. Production REAL work also requires supervision_state=ARMED, privilege_separated=true, and .venv/bin/python -m rosclaw.entrypoint daemon security-check --json with boundary_ready=true, daemon_uid_pinned=true, and ledger_state_private=true; same-UID development proves only process separation. Read an existing durable result with .venv/bin/python -m rosclaw.entrypoint daemon action-status <ACTION_ID> --json and .venv/bin/python -m rosclaw.entrypoint daemon receipt <ACTION_ID> --json. Do not use daemon acknowledge-recovery as Agent automation: it is an operator incident-review command and does not clear E-stop or prove physical state.

Robot Integration Workflow

Robot Integration installation/configuration is a CLI lifecycle around the MCP runtime. It is not an additional MCP tool surface.

bash
.venv/bin/python -m rosclaw.entrypoint robot discover --json
.venv/bin/python -m rosclaw.entrypoint robot install realsense --json
.venv/bin/python -m rosclaw.entrypoint robot verify realsense --stage contract --json
  • robot install verifies and installs the signed contract. Pass --install-adapter only when the operator explicitly authorizes dependency installation in the selected Python environment.
  • Bind a discovered device with robot configure only when an exact model and stable serial are available. --allow-offline creates configuration, never hardware evidence.
  • A read-only hardware check requires a configured instance and canonical rosclawd receipt. Treat local success as candidate evidence; never promote product support or claim physical success from CLI text alone.
  • Do not call the vendor SDK directly. Runtime device access stays behind MCP request_action and the daemon boundary.

Capability App Workflow

bash
.venv/bin/python -m rosclaw.entrypoint app list
.venv/bin/python -m rosclaw.entrypoint app validate realsense-inspect --json
  • Apps call named Capabilities only. They do not install drivers, issue permits, arm rosclawd, or authorize direct hardware access.
  • Run SHADOW first with app run <APP> --body <BODY> --mode SHADOW --json. Treat a local success as component evidence, never an independent hardware or Agent verification claim.

Practice Evidence Loop

Use fixture-based Practice workflows before touching real robots:

bash
TMP=$(mktemp -d /tmp/rosclaw-practice.XXXXXX)
export ROSCLAW_HOME="$TMP/home"
.venv/bin/python -m rosclaw.entrypoint practice record --fixture tests/fixtures/practice/rh56_minimal_loop.json --out "$TMP/practice" --json
.venv/bin/python -m rosclaw.entrypoint practice verify practice_rh56_minimal_loop --data-root "$TMP/practice" --strict --json
.venv/bin/python -m rosclaw.entrypoint practice distill practice_rh56_minimal_loop --data-root "$TMP/practice" --json

MCP Contract

  • Expected P0 tools: get_robot_state, list_skills, query_memory, validate_trajectory, sandbox_run, practice_query, emergency_stop, get_body_profile, get_body_state, list_body_capabilities, query_body, validate_body_action, get_calibration_status, get_runtime_status, request_action, get_action_status, cancel_action, get_product_status, list_product_demos, run_product_demo, get_execution_receipt, explain_execution.
  • run_product_demo executes an official MuJoCo path and persists an integrity-checked ExecutionReceipt; it never commands real hardware.
  • Use get_execution_receipt and explain_execution instead of inferring success from text output.
  • sandbox_run is simulation-only. If no physics state is available, treat the result as degraded rather than live.
  • validate_trajectory can approve a plan, but it does not authorize direct hardware execution.
  • request_action sends an unapproved envelope to rosclawd; only the daemon may turn a matching server-issued permit into authorization.
  • cancel_action never claims that active physical motion stopped. Use emergency_stop and the certified hardware E-stop when motion may be active.

LeRobot Bridge Workflow

Operator setup

These are operator workflows. Do not install dependencies unless explicitly requested.

bash
.venv/bin/python -m rosclaw.entrypoint setup lerobot --reference-policy rh56
.venv/bin/python -m rosclaw.entrypoint lerobot doctor --json

Read-only Agent discovery

Use MCP tools:

  1. get_product_status
  2. get_runtime_status
  3. get_body_profile
  4. get_body_state
  5. get_calibration_status
  6. list_body_capabilities

SHADOW request

Submit through request_action with execution mode SHADOW. Poll with get_action_status. Read the final result with get_execution_receipt. Explain it with explain_execution.

REAL request

Submit the exact requested action through request_action. The Agent does not issue or approve a Permit. If rosclawd reports AUTHORIZATION_REQUIRED, stop and explain the missing authorization. Never fall back to shell, serial, CAN, ROS topic, MCP driver, or vendor SDK execution.

Dataset workflow

For non-physical data operations, use the ROSClaw CLI:

bash
.venv/bin/python -m rosclaw.entrypoint practice verify <PRACTICE_ID> --strict --json
.venv/bin/python -m rosclaw.entrypoint practice export   --practice-id <PRACTICE_ID>   --format lerobot   --profile physical   --output <OUTPUT_DIR>   --json

Unsupported requests

Training, DAgger, reward models, Hub publishing, arbitrary-policy robot mapping, CAN RH56 execution, open-loop chunks, and unattended execution are outside LeRobot Bridge v1.0.1.

Decision table

User intentAgent should doAgent must not do
"Is LeRobot installed?"get_product_status + get_runtime_statusimport lerobot
"Can I use the RH56 now?"body/profile/state/calibration/capability toolsopen the serial port
"Preview what it would do"request_action(SHADOW)run rollout execute directly
"Do the real OK gesture"request_action(REAL), wait for rosclawdself-issue a Permit
"Try it without authorization"refuse and explain AUTHORIZATION_REQUIREDswitch to serial commands
"Did it succeed?"get_action_status + receipt + explain_executionguess success from text
"Export data for training"practice verify / exporttrain automatically
"Control RH56 with any VLA"explain v1.0.1 supports only the reference contractguess mapping by action_dim
"Control RH56 over CAN"explain CAN is fail-closed unsupportedreuse RS485 mapping on CAN

Frequently asked questions

What does the Rosclaw AI skill do?

Use when operating, validating, or changing ROSClaw physical-AI runtime workflows, especially CLI smoke tests, Practice evidence loops, body/runtime checks, MCP integration, MuJoCo sandbox verification, and safe ROS or hardware boundaries.

Why use Rosclaw on TypingMind?

Because you install it once and use it with any model. Rosclaw is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Rosclaw in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ros-claw/rosclaw/tree/main/.agents/skills/rosclaw. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Rosclaw?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Rosclaw?

As many as you like. As long as a model supports skills, you can use Rosclaw with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Rosclaw AI skill free?

Yes. It is published on GitHub by ros-claw under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇