Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add vobiz-ai/Agent-Skills --skill vobiz-plivo-migrationgit clone --depth 1 https://github.com/vobiz-ai/Agent-SkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vobiz-ai/agent-skills/vobiz-plivo-migration)<a href="https://agentmods.dev/skills/vobiz-ai/agent-skills/vobiz-plivo-migration"><img src="https://agentmods.dev/badge/skills/vobiz-ai/agent-skills/vobiz-plivo-migration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vobiz-ai/agent-skills/vobiz-plivo-migration"><img src="https://agentmods.dev/badge/skills/vobiz-ai/agent-skills/vobiz-plivo-migration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00074 | $0.02423 |
| Opus 5 | $0.00037 | $0.01211 |
| Sonnet 5 | $0.00015 | $0.00485 |
| Haiku 4.5 | $0.00007 | $0.00242 |
Grade A, and why
vobiz-plivo-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vobiz Plivo migration skill
Use this when porting an existing Plivo voice app to Vobiz. The two platforms are near 1:1: the SDK method names match, calls.create(...) has the same signature, the /Account/{auth_id}/Call/ path is identical, and VobizXML ≈ PlivoXML. Prefer the smallest possible diff - do not rewrite working logic.
Migration at a glance
For most apps the entire migration is:
- Swap the package/client (
plivo→vobiz) and credentials/base URL. - Rename
<GetDigits>/<GetInput>→<Gather>in your XML (andtimeout→executionTimeout,type→inputType). - Point the webhook signature check at
X-Vobiz-Signature-V2/V3(same HMAC-SHA256+nonce scheme). - Buy new Vobiz numbers and re-point your flows - you can't port Plivo numbers.
- Re-point
answer_url/hangup_url, test, canary, cut over.
What actually changes
| Layer | Plivo | Vobiz |
|---|---|---|
| Package / client | import plivo · plivo.RestClient(auth_id, auth_token) |
import vobiz · vobiz.RestClient(auth_id, auth_token) |
| Env vars | PLIVO_AUTH_ID / PLIVO_AUTH_TOKEN |
VOBIZ_AUTH_ID / VOBIZ_AUTH_TOKEN |
| Raw-HTTP auth | Basic auth_id:auth_token |
two headers X-Auth-ID + X-Auth-Token |
| Base URL | https://api.plivo.com/v1 |
https://api.vobiz.ai/api/v1 |
| XML input verb | <GetDigits> / <GetInput> |
<Gather> (type→inputType, timeout→executionTimeout) |
| XML builder | add_get_digits / add_get_input |
add_gather |
| Webhook signature | X-Plivo-Signature-V3 |
X-Vobiz-Signature-V2 / X-Vobiz-Signature-V3 |
| App SIP domain | sip.plivo.com |
app.vobiz.ai / <trunk>.sip.vobiz.ai |
| Phone numbers | your existing Plivo DIDs | buy new Vobiz numbers - no porting |
What does NOT change (don't "fix" it)
client.calls.create(from_, to_, answer_url, answer_method, ring_url, hangup_url, fallback_url, machine_detection, sip_headers, time_limit, ...)- same signature; only the client init differs. Response:request_uuid(==call_uuid),api_id,message(Vobiz returns "Call fired").- Bulk dial uses the
<separator on both (to_="a<b<c"). There were never commas - do not change it. - Path casing + trailing slash (
/Account/.../Call/), machine-detection params, and the webhook signature scheme (HMAC-SHA256 + nonce) are all the same. - All other XML verbs map 1:1:
Speak,Play,Dial(+Number/User),Record,Conference,Redirect,Hangup,Wait,PreAnswer,DTMF.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 124 lines · 74 tokens per session scan A 144e6010b746
vobiz-plivo-migration is a skill published in the GitHub repository vobiz-ai/Agent-Skills (2 stars, last pushed 23d ago), licensed MIT. It adds 74 tokens to every session and 2,423 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
architecture-decision-record
ADR templates in the Nygard format with context, decision, consequences, and alternatives. Use when writing ADRs, recording an architectural decision, or evaluating options.
azure-event-grid-webhooks
Receive and validate Azure Event Grid webhook deliveries. Use when setting up an Event Grid WebHook event handler, implementing the Microsoft.EventGrid.SubscriptionValidationEvent handshake (echo data.validationCode as validationResponse with HTTP 200), implementing the CloudEvents v1.0 HTTP OPTIONS abuse-protection…
baselinker-webhooks
Receive BaseLinker (Base.com) webhooks. Use when building a BaseLinker order or warehouse callback receiver, because BaseLinker is not a normal webhook source: deliveries arrive as HTTP HEAD requests with NO body, the entire payload is in the query string (observed params: orderid, state), there is NO signature…
cronofy-webhooks
Receive and verify Cronofy push notifications (webhooks). Use when setting up Cronofy notification channels, debugging Cronofy-HMAC-SHA256 verification, or handling Cronofy calendar events like verification, change, profiledisconnected, conferencingprofiledisconnected, profileinitialsynccompleted, and gdprrequested.…
alipay-webhooks
Receive and verify Alipay (Antom / Alipay+) webhook notifications. Use when setting up Alipay webhook handlers, debugging RSA256 Signature header verification, or handling payment events like notifyPayment, notifyCapture, notifyRefund, notifyAuthorization, and notifyDispute.
clio-webhooks
Receive and verify Clio (Clio Manage) webhooks. Use when setting up Clio webhook handlers, debugging X-Hook-Signature verification, completing the X-Hook-Secret handshake, or handling legal practice events like matter.created, contact.updated, activity.created, or bill events.