Summary
Add two skills, plivo-sms and plivo-voice, that let the agent send SMS and place outbound voice calls via Plivo, following the existing gmail-email skill pattern (a skill dir with SKILL.md + scripts/).
Motivation
The agent can reach people over email (gmail-email) but can't text or call. SMS and voice let it notify the user when it finishes a task, hits a blocker, or a hook fires — and reach the user when they are away from the terminal, where a text or a call lands better than email.
Proposed Solution
Two new skills under skills/, mirroring gmail-email:
skills/plivo-sms/ — SKILL.md + scripts/send_sms.py (POST to the Plivo Messages API).
skills/plivo-voice/ — SKILL.md + scripts/make_call.py (POST to the Plivo Call API — the answer XML speaks the message).
Auth is HTTP Basic (Auth ID + Auth Token) via env vars / .env. Scripts are stdlib-only (no new dependencies). Both are auto-discovered by discoverSkills() in src/skills.ts (it reads skills/), so no registration is needed.
Scope
Outbound only (send SMS, place call). Inbound isn't included as the core has no webhook server, so receiving replies is out of scope here.
Alternatives
Hand-rolling the Plivo REST calls in a one-off script works, but isn't a discoverable, reusable skill and doesn't fit the skills/ pattern.
Additional Context
MIT-compatible, no new dependencies. Implementation is ready and can open a PR. Happy to adjust to your conventions.
Summary
Add two skills,
plivo-smsandplivo-voice, that let the agent send SMS and place outbound voice calls via Plivo, following the existinggmail-emailskill pattern (a skill dir withSKILL.md+scripts/).Motivation
The agent can reach people over email (
gmail-email) but can't text or call. SMS and voice let it notify the user when it finishes a task, hits a blocker, or a hook fires — and reach the user when they are away from the terminal, where a text or a call lands better than email.Proposed Solution
Two new skills under
skills/, mirroringgmail-email:skills/plivo-sms/—SKILL.md+scripts/send_sms.py(POST to the Plivo Messages API).skills/plivo-voice/—SKILL.md+scripts/make_call.py(POST to the Plivo Call API — the answer XML speaks the message).Auth is HTTP Basic (Auth ID + Auth Token) via env vars /
.env. Scripts are stdlib-only (no new dependencies). Both are auto-discovered bydiscoverSkills()insrc/skills.ts(it readsskills/), so no registration is needed.Scope
Outbound only (send SMS, place call). Inbound isn't included as the core has no webhook server, so receiving replies is out of scope here.
Alternatives
Hand-rolling the Plivo REST calls in a one-off script works, but isn't a discoverable, reusable skill and doesn't fit the
skills/pattern.Additional Context
MIT-compatible, no new dependencies. Implementation is ready and can open a PR. Happy to adjust to your conventions.