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.
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 Open-Curiosity/gini-agent --skill phone-callgit clone --depth 1 https://github.com/Open-Curiosity/gini-agentWrote 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/open-curiosity/gini-agent/phone-call)<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.
<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>- NVIDIA SkillSpector pass
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.00030 | $0.01985 |
| Opus 5.5 | $0.00012 | $0.00794 |
| Sonnet 5.5 | $0.00006 | $0.00397 |
| Haiku 4.5 | $0.00003 | $0.00198 |
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 2mo 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 — 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
- 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.
- 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-callimmediately. Do not ask "should I go ahead?" in chat:place-callalways 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 freshplace-call— never re-submit the identical call. - Place the call with
place-call. It returns{ ok, callId }. - Wait for the result with
check-call, passingwaitSeconds: 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 withcompleted: false, callcheck-callagain with the same args and repeat untilcompletedistrue. - Report back the
summaryand the key points of thetranscript(quote relevant exchanges, don't dump the whole thing unless asked). Optional: for structured answers about the call (did they confirm? what time?), runanalyze-call.
If the user wants to abort a call in progress, run stop-call with the callId.
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/__tests__/analyze-call.test.ts 2.3 KB runs code
- scripts/__tests__/call-watch.test.ts 5.3 KB runs code
- scripts/__tests__/check-call.test.ts 2.8 KB runs code
- scripts/__tests__/place-call.test.ts 2.3 KB runs code
- scripts/analyze-call.ts 4.5 KB runs code
- scripts/call-watch.ts 10 KB runs code
- scripts/check-call.ts 6.5 KB runs code
- scripts/place-call.ts 4.5 KB runs code
- scripts/stop-call.ts 2.7 KB runs code
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.
- 2mo ago First seen · 143 lines · 30 tokens per session scan A 645058d5f174
phone-call is a skill published in the GitHub repository Open-Curiosity/gini-agent (2,273 stars, last pushed 3mo ago), licensed MIT. It adds 30 tokens to every session and 1,985 once invoked, about $0.0001 per session on Opus 5.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.
Other skills, from other repositories
delegation
Delegates independent work to worker agents through the Task tool, choosing between the explore scout and the ml, biology, physics, chemistry and data specialists, writing a self-contained brief for a worker that cannot see the conversation, setting boundaries on files and compute, using two independent annotators…
thread
Show the Open SWE thread that mirrors this Claude Code session. Use when asked for this session's Open SWE link or thread.
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…
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…
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.
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…