robotics-testing

robotics-testing is a skill for Claude Code, Codex from arpitg1304/robotics-agent-skills. It costs 110 tokens per session (4,598 once invoked), scanned A, original, Apache-2.0.

Testing guidance for robot software, including programs built with ROS, a framework for connecting robot components.

In plain words
What is it for?
Use it to plan and write unit, integration, simulation, and hardware-in-the-loop tests for robot systems.
Why use it?
Robot code can fail because of software logic, component communication, simulated conditions, or real hardware, so one test type is not enough.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to plan and write unit, integration, simulation, and hardware-in-the-loop tests for robot systems.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/arpitg1304/robotics-agent-skills/robotics-testing
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add arpitg1304/robotics-agent-skills --skill robotics-testing
Clone the repo
git clone --depth 1 https://github.com/arpitg1304/robotics-agent-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for robotics-testing

README.md
[![agentmods](https://agentmods.dev/badge/skills/arpitg1304/robotics-agent-skills/robotics-testing/github.svg)](https://agentmods.dev/skills/arpitg1304/robotics-agent-skills/robotics-testing)
Your own site
<a href="https://agentmods.dev/skills/arpitg1304/robotics-agent-skills/robotics-testing"><img src="https://agentmods.dev/badge/skills/arpitg1304/robotics-agent-skills/robotics-testing/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for robotics-testing

Your own site · 80×15
<a href="https://agentmods.dev/skills/arpitg1304/robotics-agent-skills/robotics-testing"><img src="https://agentmods.dev/badge/skills/arpitg1304/robotics-agent-skills/robotics-testing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 110 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,598 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00110 $0.04598
Opus 5 $0.00055 $0.02299
Sonnet 5 $0.00022 $0.00920
Haiku 4.5 $0.00011 $0.00460

Measured 10d ago against content hash 2de46ea2c1d8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

robotics-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/robotics-testing/SKILL.md · 578 lines

How it starts

The opening of the file, as written. The whole thing — 578 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Robotics Testing Skill

When to Use This Skill

  • Writing unit tests for ROS1/ROS2 nodes
  • Setting up integration tests with launch_testing
  • Mocking hardware (sensors, actuators) for CI/CD
  • Building simulation-based test suites
  • Testing perception pipelines with ground truth
  • Validating trajectory planners and controllers
  • Setting up CI/CD pipelines for robotics packages
  • Debugging flaky tests in robotics systems

The Robotics Testing Pyramid

                    ╱╲
                   ╱  ╲        Field Tests
                  ╱    ╲       (Real robot, real environment)
                 ╱──────╲
                ╱        ╲     Hardware-in-the-Loop (HIL)
               ╱          ╲    (Real hardware, controlled environment)
              ╱────────────╲
             ╱              ╲   Simulation Tests
            ╱                ╲  (Full sim, realistic physics)
           ╱──────────────────╲
          ╱                    ╲  Integration Tests
         ╱                      ╲ (Multi-node, message passing)
        ╱────────────────────────╲
       ╱                          ╲ Unit Tests
      ╱____________________________╲ (Single function/class, fast, deterministic)

MORE tests at the bottom, FEWER at the top.
Bottom = fast, cheap, deterministic. Top = slow, expensive, realistic.

Unit Testing Patterns

Testing ROS2 Nodes with pytest

# test_perception_node.py
import pytest
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import Image
from my_pkg.perception_node import PerceptionNode
import numpy as np

@pytest.fixture(scope='module')
def ros_context():
    """Initialize ROS2 context once per test module"""
    rclpy.init()
    yield
    rclpy.shutdown()

@pytest.fixture
def perception_node(ros_context):
    """Create a fresh perception node for each test"""
    node = PerceptionNode()
    yield node
    node.destroy_node()

@pytest.fixture
def test_image():
    """Generate a synthetic test image"""
    msg = Image()
    msg.height = 256
    msg.width = 256
    msg.encoding = 'rgb8'
    msg.step = 256 * 3
    msg.data = np.random.randint(0, 255, (256, 256, 3),
                                  dtype=np.uint8).tobytes()
    return msg

class TestPerceptionNode:

    def test_initialization(self, perception_node):
        """Node should initialize with correct default parameters"""
        assert perception_node.get_parameter('confidence_threshold').value == 0.7
        assert perception_node.get_parameter('rate_hz').value == 30.0

    def test_parameter_validation(self, perception_node):
        """Node should reject invalid parameter values"""
        from rcl_interfaces.msg import SetParametersResult
        result = perception_node.set_parameters([
            rclpy.parameter.Parameter('confidence_threshold',
                                       value=-0.5)  # Invalid!
        ])
        assert not result[0].successful

    def test_image_callback_publishes_detections(self, perception_node, test_image):
        """Processing an image should produce detection output"""
        received = []

        # Create a test subscriber
        sub_node = Node('test_subscriber')
        sub_node.create_subscription(
            DetectionArray, '/perception/detections',
            lambda msg: received.append(msg), 10)

        # Simulate image callback
        perception_node.image_callback(test_image)

        # Spin briefly to allow message propagation
        rclpy.spin_once(sub_node, timeout_sec=1.0)
        rclpy.spin_once(perception_node, timeout_sec=1.0)

        # Verify
        assert len(received) > 0
        sub_node.destroy_node()

    def test_empty_image_handling(self, perception_node):
        """Node should handle empty/corrupted images gracefully"""
        empty_msg = Image()  # No data
        # Should not crash
        perception_node.image_callback(empty_msg)

Read the full file on GitHub · 578 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 578 lines · 110 tokens per session scan A 2de46ea2c1d8

Subscribe to this mod's changes

robotics-testing is a skill published in the GitHub repository arpitg1304/robotics-agent-skills (355 stars, last pushed 29d ago), licensed Apache-2.0. It adds 110 tokens to every session and 4,598 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

tia-testsuite

TIA Portal V21 Test Suite operations. Use for Application Tests with PLCSIM, Style Guide rules, System Tests through OPC UA, import/scope management, execution, and recursive result evaluation.

Czarnak/totally-integrated-claude · 43 tokens

differential-verification

Use when verifying a hardware DUT (a CPU core, FPGA, or netlist) against a golden reference model, building coverage-guided fuzzing, or detecting where silicon diverges from a simulator like Spike, an emulator, or SPICE.

Midstall/claude-for-hardware · 54 tokens

hdl-module-design

Use when writing, refactoring, or deciding how to test an HDL module, component, or IP block (ROHD, Chisel, SpinalHDL, Verilog, VHDL) and you need it parameterized, validated, and covered by exhaustive tests rather than a one-off.

Midstall/claude-for-hardware · 63 tokens

ea-skill

An AI-assisted workflow for developing and testing embedded-device software. Embedded software runs on hardware such as microcontrollers, and the workflow covers project setup, feature work, tests, device programming, debugging, verification, and records.

jzl-maker/EA-SKILL · 200 tokens

unity-ceedling-integration

Use when adding, configuring, or debugging Unity, Ceedling, CMock, or embedded C unit tests, mocks, fixtures, build variants, or CI test runs.

easyzoom/aix-skills · 41 tokens

fpga-bringup

Use when loading a bitstream onto a physical FPGA and driving or observing it over JTAG or GPIO, especially bit-banged JTAG from a host like a Raspberry Pi, or when configuration silently fails.

Midstall/claude-for-hardware · 46 tokens