Resources / Voice AI Agent
DeveloperSkill SDK
A small Python contract so Voice can run an action on this turn — after it has the details, and after a confirm if you require one.
A skill is a job callers can finish on the conversation: look something up, create a record, request a callback. Skills are not a fixed SYVA industry catalog. You enable the skills your business needs.
You do not have to build skills yourself. MinskyAI can configure and deploy them, an integrator can build them, or your team can use this SDK. Enable is the last step, not the whole story.
What the SDK is
Package: syva_skill. You register one or more skills with a schema, an async executor, and an optional confirmation flag. Voice collects slots from the caller, asks for a clear yes when confirmation is on, then calls your executor once per turn.
- Import
SkillRegistryfromsyva_skill— not from agent internals - Schema is a Pydantic model; every field callers must fill needs a description
- Executor is
asyncand returns a non-empty string (spoken outcome) requires_confirmation=Truewaits for a clear yes before the action runs
Installation
Distribution depends on your engagement (platform bundle, private index, or source path). Typical editable install during a pilot:
pip install -e ./syva_skill_sdkRegister a skill
from syva_skill import SkillRegistry
def register_skills(registry: SkillRegistry) -> None:
registry.register_skill(
intent="my_intent",
description="Short capability description",
schema=MySchema,
executor=execute_my_intent,
requires_confirmation=True,
)async def execute_my_intent(data: MySchema, session_id: str | None = None, **kwargs) -> str:
# Perform the action. Return a non-empty string for the spoken reply.
return "Done."Start from the skeleton shipped with the SDK, or from a sample in your bundle. Named hotel, CRM, or booking jobs are skills you write and enable — this page does not mark a third-party system as already supported.
Check the contract
Dryrun validates that registration, schema, and executor match the contract. It does not call a live model or start Voice.
python -m syva_skill.dryrun syva_skill.skeleton.my_skill.pluginApproved tools
A skill can also wrap an approved tool — including MCP (Model Context Protocol) — then be enabled on Voice. Enable is still the last step. This page does not list MCP servers.
Not this guide
- How Voice chooses knowledge vs a skill on a given turn
- Operator console, tenant layout, and enable/disable workflows
- The Talk WebSocket — that is the Talk API
Related: Reactive Agent · Overview · Request pilot access for operator manuals.