Claude Code Plugins

Community-maintained marketplace

Feedback

Discovers available robot actions by reading action_library.yaml. Returns action catalog with parameters and constraints for BT generation and validation.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name bt-action-discovery
description Discovers available robot actions by reading action_library.yaml. Returns action catalog with parameters and constraints for BT generation and validation.

Purpose

This skill discovers what actions the robot supports. Currently reads from action_library/action_library.yaml. In the future, this will query the robot's advertised ROS services/actions dynamically.


Workflow

  1. Read action_library/action_library.yaml
  2. Parse available primitive and composite actions
  3. Return structured action catalog

Output Format

Return the following information:

Primitives

  • Action name
  • Package location
  • Parameters (name, type, required, default, description)
  • Valid ranges
  • Example usage

Composites

  • Action name
  • Package location
  • Parameters
  • Example usage

Constraints

  • Workspace bounds (x_range, y_range)
  • Color value ranges
  • Default spawn position

Example Usage

When invoked, this skill reads the YAML and returns:

Available Primitive Actions:
- GoToPose(name, x, y, theta=None, tolerance_pos=0.1, tolerance_angle=0.1)
  - x, y must be in [0, 11]
  - Example: GoToPose(name='Move', x=5.0, y=5.0)

- SetPen(name, r=255, g=255, b=255, width=3, off=0)
  - RGB values in [0, 255]
  - Example: SetPen(name='Red', r=255, g=0, b=0, width=3)

[... continues for all actions ...]

Workspace Constraints:
- x_range: [0, 11]
- y_range: [0, 11]
- Default spawn: (5.544445, 5.544445)

Notes

  • This skill has low degree of freedom - it simply reads and returns the YAML content in a structured format
  • Future enhancement: Query live robot instead of static YAML file
  • Invoked by: bt-composer (during generation) and bt-validator (during validation)