Skip to main content

Overview

Remote skills provide a declarative way to expose skills hosted in the AgentKit Skills Sandbox as individual tools on an agent. You describe each remote skill — its name, description, and input schema — in a JSON manifest, and VeADK generates a corresponding tool function for each one. When the agent calls a tool, the framework forwards the request to the remote sandbox via execute_skills; the actual skill code runs only on the remote side and is never loaded or executed locally. Remote skills are useful when you want to:
  • Expose remote skills as standalone tools so the agent can invoke them by name with structured arguments;
  • Control the timeout for each skill individually;
  • Manage the skill list through a declarative manifest instead of writing tool functions one by one in code.
Remote skills reuse the sandbox infrastructure and credential configuration of execute_skills. Environment variables, Tool IDs, and other prerequisites are the same as those described on the Code sandboxes page.

Usage

Import path:
Steps:
  1. Write a JSON manifest describing the remote skills to expose;
  2. Call load_remote_skill_definitions to load the manifest into a list of RemoteSkillDefinition;
  3. Call build_remote_skill_tools to convert the definitions into tool functions;
  4. Pass the tool functions to the Agent tools parameter.
remote_skills_agent.py
You can also pass a JSON string directly instead of a file path:

Manifest format

The manifest is a JSON object containing a remote_skills array. Each element describes one remote skill:
remote-skills.json

Skill fields

name and description must be non-empty strings, and input_schema must be a JSON object; otherwise loading raises an error. timeout (or timeout_seconds) must be between 1 and 1800. Duplicate name values are not allowed in the same manifest.

Generated tool function

build_remote_skill_tools generates one tool function per RemoteSkillDefinition. The function name is taken from the skill’s name, and the docstring contains the description and input schema. The generated tool function signature is:
When the tool runs, the framework assembles skill_name, query, arguments, and an auto-generated request_id into a query input, sends it to the remote sandbox via execute_skills, and enforces the timeout configured on the skill definition.
tool_context is marked optional in the signature but is required at call time; omitting it raises an error. VeADK injects it automatically during agent execution — you do not need to pass it manually.

API

RemoteSkillDefinition

RemoteSkillDefinition is the runtime definition of a skill, holding its name, description, input schema, and timeout configuration.

load_remote_skill_definitions

Returns a list of RemoteSkillDefinition. When the value starts with {, it is parsed as a JSON string; otherwise it is read as a file path.

build_remote_skill_tools

Returns a list of tool functions that can be passed directly to the Agent tools parameter.
Last modified on September 19, 2026