phone-call

phone-call is a skill for Claude Code from Open-Curiosity/gini-agent. It costs 30 tokens per session (1,985 once invoked), scanned A, original, MIT.

A skill for placing outbound AI voice calls through Bland AI. The voice agent speaks with the person who answers, then returns the conversation transcript and a summary.

In plain words
What is it for?
It is for calling businesses to book reservations, make appointments, or ask questions, with the caller’s goal and limits supplied in advance.
Why use it?
It handles live phone conversations when sending a message or making a manual call would be inconvenient. The task can include constraints and fallback options for the conversation.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit It is for calling businesses to book reservations, make appointments, or ask questions, with the caller’s goal and limits supplied in advance.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/open-curiosity/gini-agent/phone-call
About the project

Gini Agent is a personal AI-agent runtime that manages conversations, runs, tasks, approvals, memory, skills, jobs, tools, traces, audit events, and runtime health across its clients. It is for an agent that can remember, learn from task outcomes, and operate through desktop or mobile interfaces with user controls. Catalogue add-ons extend the runtime with skills and instructions.

Open-Curiosity/gini-agent · 2,018 stars · on GitHub

Install

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.

Any agent
npx skills add Open-Curiosity/gini-agent --skill phone-call
Clone the repo
git clone --depth 1 https://github.com/Open-Curiosity/gini-agent

Made for: Claude Code.

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

agentmods badge for phone-call

README.md
[![agentmods](https://agentmods.dev/badge/skills/open-curiosity/gini-agent/phone-call/github.svg)](https://agentmods.dev/skills/open-curiosity/gini-agent/phone-call)
Your own site
<a href="https://agentmods.dev/skills/open-curiosity/gini-agent/phone-call"><img src="https://agentmods.dev/badge/skills/open-curiosity/gini-agent/phone-call/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.

agentmods 80×15 button for phone-call

Your own site · 80×15
<a href="https://agentmods.dev/skills/open-curiosity/gini-agent/phone-call"><img src="https://agentmods.dev/badge/skills/open-curiosity/gini-agent/phone-call.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 30 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,985 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00030 $0.01985
Opus 5 $0.00015 $0.00992
Sonnet 5 $0.00006 $0.00397
Haiku 4.5 $0.00003 $0.00198

Measured 9d ago against content hash 645058d5f174, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

phone-call 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 9d ago.

The scan reads SKILL.md. This mod also ships 9 executable files (scripts/__tests__/analyze-call.test.ts, scripts/__tests__/call-watch.test.ts, scripts/__tests__/check-call.test.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/integrations/phone-call/SKILL.md · 143 lines

How it starts

The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Phone Call

Place outbound phone calls through Bland AI. An AI voice agent dials the number, follows your task prompt in a live conversation, and the full transcript plus a summary come back when the call ends. Everything runs through skill_run:

skill_run({ skill: "phone-call", script: "place-call",
            args: { phoneNumber: "+15551234567", task: "..." } })

The runtime injects BLAND_API_KEY into the scripts — you never see or pass the key.

Workflow

  1. Gather the full task. Before anything else, collect: who to call (name + number), the goal, hard constraints (dates, times, party size, budget), fallbacks if the first ask isn't available, and the name to give if the callee asks who's calling. A vague task produces a bad call.
  2. Announce, then dial — the approval card is the confirmation. In one short message, state who you're calling (the exact number) and what the agent will say or ask, then call place-call immediately. Do not ask "should I go ahead?" in chat: place-call always pauses on an Approve/Deny card, and approving that card is the user's go-ahead. A denied card ends the task; if the user sends a new message with changes, adjust per their feedback and submit a fresh place-call — never re-submit the identical call.
  3. Place the call with place-call. It returns { ok, callId }.
  4. Wait for the result with check-call, passing waitSeconds: 240 — the script polls Bland every 10 seconds internally and returns as soon as the call completes (or when the budget runs out). If the result comes back with completed: false, call check-call again with the same args and repeat until completed is true.
  5. Report back the summary and the key points of the transcript (quote relevant exchanges, don't dump the whole thing unless asked). Optional: for structured answers about the call (did they confirm? what time?), run analyze-call.

If the user wants to abort a call in progress, run stop-call with the callId.

Read the full file on GitHub · 143 lines

Changes

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.

  1. 9d ago First seen · 143 lines · 30 tokens per session scan A 645058d5f174

Subscribe to this mod's changes

phone-call is a skill published in the GitHub repository Open-Curiosity/gini-agent (2,018 stars, last pushed 1mo ago), licensed MIT. It adds 30 tokens to every session and 1,985 once invoked, about $0.0002 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-30.

Related

Other skills, from other repositories

pptx

Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying…

bigduu/Bamboo-agent · 152 tokens

tmux

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output. Use when: (1) monitoring Claude/Codex sessions running in tmux, (2) sending input to interactive terminal applications, (3) scraping output from long-running processes inside tmux, (4) navigating tmux panes/windows…

opensquilla/opensquilla · 113 tokens

imaging-data-commons

Query and download public cancer imaging data from NCI Imaging Data Commons using idc-index. Use for accessing large-scale radiology (CT, MR, PET) and pathology datasets for AI training or research. No authentication required. Query by metadata, visualize in browser, check licenses.

synthetic-sciences/openscience · 62 tokens

clinical-reports

Write comprehensive clinical reports including case reports (CARE guidelines), diagnostic reports (radiology/pathology/lab), clinical trial reports (ICH-E3, SAE, CSR), and patient documentation (SOAP, H&P, discharge summaries). Full support with templates, regulatory compliance (HIPAA, FDA, ICH-GCP), and validation…

synthetic-sciences/openscience · 71 tokens

clinical-decision-support

Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading…

synthetic-sciences/openscience · 97 tokens

gget

Fast CLI/Python queries to 20+ bioinformatics databases. Use for quick lookups: gene info, BLAST searches, AlphaFold structures, enrichment analysis. Best for interactive exploration, simple queries. For batch processing or advanced BLAST use biopython; for multi-database Python workflows use bioservices.

synthetic-sciences/openscience · 66 tokens