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¶
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 transportCall- Represents an active voice callTelephonyTransport- Interface for telephony operationsAgentRegistry- 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 registryManifest- CLAWHUB.json parsing and validationResolver- Dependency resolution with semver supportSecurity- 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/modv0.37.0 for semver resolution - Bump
github.com/grokify/mogoto v0.74.6
Contributors¶
- John Wang
- Claude Opus 4.5