Skip to content

Release Notes - v0.9.0

Release Date: 2026-06-20

Overview

This release adds the voicetools/ package for AI agent voice call control and the clawhub/ package for ClawHub marketplace integration. It also adds GitHub release installation support to the installer/ package.

Installation

go get github.com/plexusone/omniskill@v0.9.0

Requires Go 1.26+ and MCP Go SDK v1.6.1+.

Highlights

  • New voicetools/ package for AI agent voice call control
  • New clawhub/ package for ClawHub marketplace integration
  • GitHub installer for installing skills from GitHub releases

What's New

Voice Tools Package

The voicetools package provides AI agent tools for controlling voice calls:

import (
    "github.com/plexusone/omniskill/voicetools"
    "github.com/plexusone/omniskill/mcp/server"
)

// Create call context with transport and agent registry
callCtx := voicetools.NewCallContext(call, transport, agentRegistry)

// Create voice skill with all tools
voiceSkill := voicetools.NewVoiceSkill(callCtx)

// Register with MCP server
rt := server.New(impl, nil)
rt.RegisterSkill(voiceSkill)

Interfaces

  • CallContext - Provides access to call state and transport
  • Call - Represents an active voice call
  • TelephonyTransport - Interface for telephony operations
  • AgentRegistry - Registry for AI specialist agents

Available Tools

Tool Description
transfer_call Transfer call to another number or agent queue
hold_call Place caller on hold with optional music
unhold_call Resume call from hold
consult_agent Query specialist AI without transferring
add_to_conference Add participants to conference call

ClawHub Package

The clawhub package integrates with the ClawHub skill marketplace:

import "github.com/plexusone/omniskill/clawhub"

// Create hub client
hub := clawhub.NewHub("https://clawhub.io")

// Search for skills
results, err := hub.Search(ctx, "weather")

// Get skill manifest
manifest, err := hub.GetManifest(ctx, "weather", "1.2.0")

Components

  • Hub - API client for ClawHub registry
  • Manifest - CLAWHUB.json parsing and validation
  • Resolver - Dependency resolution with semver support
  • Security - Security scanning and vulnerability detection

Installing from ClawHub

import "github.com/plexusone/omniskill/installer"

si := installer.NewSkillInstaller()

// Install from ClawHub
skill, err := si.Install(ctx, "@clawhub/weather")

// Install community skill
skill, err := si.Install(ctx, "@user/my-skill")

GitHub Installer

Install skills directly from GitHub repositories and releases:

import "github.com/plexusone/omniskill/installer"

si := installer.NewSkillInstaller()

// Install from GitHub repository
skill, err := si.Install(ctx, "github.com/user/skill@v1.0.0")

// Install from GitHub release
skill, err := si.Install(ctx, "github.com/user/skill@latest")

Package Structure

github.com/plexusone/omniskill
├── skill/           # Core skill types
├── loader/          # Skill loaders
├── installer/       # Dependency management
│   ├── manager.go   # Package manager support
│   ├── source.go    # Source parsing
│   ├── clawhub.go   # NEW: ClawHub installer
│   └── github.go    # NEW: GitHub installer
├── clawhub/         # NEW: ClawHub integration
│   ├── hub.go       # API client
│   ├── manifest.go  # CLAWHUB.json parsing
│   ├── resolver.go  # Dependency resolution
│   └── security.go  # Security scanning
├── pack/            # Skill pack interface
├── registry/        # Skill registry
├── voicetools/      # NEW: Voice call tools
│   ├── context.go   # CallContext interfaces
│   ├── registry.go  # NewVoiceSkill()
│   ├── transfer.go  # transfer_call
│   ├── hold.go      # hold_call, unhold_call
│   ├── consult.go   # consult_agent
│   └── conference.go # add_to_conference
└── mcp/             # MCP integration

Use Cases

Voice-Enabled AI Agents

// Create transport implementation
transport := mytelephony.NewTransport()

// Create agent registry for specialist consults
agents := voicetools.NewAgentRegistry()
agents.Register("billing", billingAgent)
agents.Register("technical", techAgent)

// Create voice skill
callCtx := voicetools.NewCallContext(call, transport, agents)
voiceSkill := voicetools.NewVoiceSkill(callCtx)

// Agent can now transfer, hold, consult, and conference
rt.RegisterSkill(voiceSkill)

Skill Discovery and Installation

// Search ClawHub marketplace
hub := clawhub.NewHub("https://clawhub.io")
results, err := hub.Search(ctx, "customer service")

// Install matching skills
si := installer.NewSkillInstaller()
for _, result := range results {
    skill, err := si.Install(ctx, "@clawhub/"+result.Name)
    reg.Register(skill)
}

Dependencies

  • Add golang.org/x/mod v0.37.0 for semver resolution
  • Bump github.com/grokify/mogo to v0.74.6

Contributors

  • John Wang
  • Claude Opus 4.5