rnow-tools

Create and manage @tool decorated functions for ReinforceNow agents.

31|4|Updated Oct 8, 2025
One-click install
npx skills add https://github.com/ReinforceNow/reinforcenow-cli --skill rnow-tools
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rnow-tools
Source: https://github.com/ReinforceNow/reinforcenow-cli/tree/main/project8/.claude/skills/rnow-tools
Command: npx skills add https://github.com/ReinforceNow/reinforcenow-cli --skill rnow-tools

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps you create and manage reusable tool functions for ReinforceNow agents, streamlining how the model calls external logic during training and inference.

Core Features & Use Cases

  • Define and annotate @tool decorated functions with explicit parameter types, docstrings, and JSON-serializable returns.
  • Support for stateless tools and stateful tools using sandbox mode, with guidance on when to enable isolation.
  • Examples and templates for common tools (e.g., calculators, API wrappers) and instructions to integrate with tools.py and sandbox tools.
  • Guidance on creating and updating training data (train.jsonl) when using sandboxed tools (docker).

Quick Start

Create a tools.py file in your project, decorate functions with @tool, supply a descriptive docstring, and return JSON-serializable data. For sandboxed tools, decorate with @tool(sandbox=True, timeout=120) and include docker image:tag in your train.jsonl entries.

Frequently Asked Questions about rnow-tools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create reusable tools for agent training with JSON-serializable returns?

To create reusable agent training tools, define functions in a tools.py module, decorate them with @tool, add explicit type hints and docstrings, and ensure all return values are JSON-serializable for reliable model execution.

When do I need to enable sandbox mode for stateful agent tools?

Enable sandbox mode for stateful agent tools when executing logic requires isolation. Decorate functions with @tool(sandbox=True, timeout=120) and specify a docker image:tag in your train.jsonl entries to maintain deterministic stateful environments.

What are the requirements for decorating functions with @tool in a tools.py module?

Decorating functions with @tool in a tools.py module requires explicit parameter type hints, descriptive docstrings for model comprehension, and strictly JSON-serializable return values to ensure proper agent function calling during training and inference.

How do I update train.jsonl entries when using sandboxed docker tools?

Update train.jsonl entries for sandboxed docker tools by appending the required docker image:tag configuration to each training data record, ensuring the agent training environment aligns with the isolated execution context defined by the @tool(sandbox=True) decorator.

Can I build stateless API wrappers and calculators without sandbox isolation?

Yes, you can build stateless API wrappers and calculators without sandbox isolation by applying the standard @tool decorator without the sandbox parameter, provided the functions return JSON-serializable data and include proper type annotations and docstrings.

Why do my @tool decorated functions fail during agent training?

@tool decorated functions fail during agent training if they lack explicit type hints, miss descriptive docstrings, return non-JSON-serializable data, or have missing docker image:tag references in train.jsonl when sandbox mode is enabled.