Resources / Voice AI Agent

Developer

Skill 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 SkillRegistry from syva_skill — not from agent internals
  • Schema is a Pydantic model; every field callers must fill needs a description
  • Executor is async and returns a non-empty string (spoken outcome)
  • requires_confirmation=True waits 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:

Shell
pip install -e ./syva_skill_sdk

Register a skill

Python · register
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,
    )
Python · executor
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.

Shell · dryrun
python -m syva_skill.dryrun syva_skill.skeleton.my_skill.plugin

Approved 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.