Ask one question of many places by phone and get back only the answers the call actually established.

MITAuto-check passed

Install Holdline

skills CLI
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill holdline -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CALLE-AI/awesome-phone-call-agents holdline --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/holdline .claude/skills/holdline && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
holdline
GitHub stars
107
Token cost
~1.6k tokens
SKILL.md length
857 words
Files
4 (incl. references)
Skills in repo
101
Repo updated
First seen
Licence
MIT

At a glance

Ask one question of many places by phone and get back only the answers the call actually established.

  • Batch phone enquiries where a wrong answer is worse than no answer — supplier stock checks
  • SKILL.md covers When to use this, Safety, Setup and Tools, plus 4 more sections
  • Calls npm and git; reaches github.com; needs CALLE_API_KEY
  • Capacity and availability enquiries

What it does

Holdline is an agent skill from CALLE-AI/awesome-phone-call-agents. Ask one question of many places by phone and get back only the answers the call actually established. Use for batch phone enquiries where a wrong answer is worse than no answer — supplier stock checks, capacity and availability enquiries, claim and case status, directory verification. Includes evidence checking that catches values a call returns for questions it never asked.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/examples.md`, `references/probes.md` and `references/safety.md`).

The repository describes itself as: Portable phone-call Agent Skills, apps, examples, adapters, and scheduler recipes for AI agents. The licence is MIT.

When your agent uses it

  • Batch phone enquiries where a wrong answer is worse than no answer — supplier stock checks
  • Capacity and availability enquiries
  • Claim and case status
  • Directory verification

Example prompts

  • “/holdline”

Requirements

  • Node.js
  • A credential in CALLE_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 38d4118. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • CALLE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Holdline loads about 1.6k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 97 tokens; SKILL.md has 857 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from CALLE-AI/awesome-phone-call-agents at commit 38d4118, republished under its MIT licence (© CALLE-AI). 857 words, ~1,583 tokens.

Download SKILL.mdSave it as .claude/skills/holdline/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
holdline
description
Ask one question of many places by phone and get back only the answers the call actually established. Use for batch phone enquiries where a wrong answer is worse than no answer — supplier stock checks, capacity and availability enquiries, claim and case status, directory verification. Includes evidence checking that catches values a call returns for questions it never asked.

holdline

Place a batch of phone enquiries through CALL-E, then check every returned field against the transcript turns the agent actually spoke. A field whose question was never asked does not come back, whatever the model reported.

When to use this

Use it when the same question goes to several places and a confidently wrong answer causes real damage: sourcing a part across suppliers, checking which clinics have capacity, chasing case status across agencies, verifying that a directory listing is still true.

Do not use it for a conversation, for anything requiring negotiation or judgement on the call, or where a person must decide something in the moment. This asks a fixed question and records the answer.

Safety

  • Real calls reach real people. run_hold requires confirm: true in the same request. There is no setting that removes the confirmation.
  • Plan first. plan_hold shows the compiled task, every number it would dial, and what the ledger already knows. It never dials.
  • Do not guess phone numbers, country codes, or subject ids. Ask the user.
  • Emergency and crisis-line prefixes are refused unconditionally and cannot be enabled by configuration.
  • Every number in every response is masked. Do not attempt to reconstruct one, and do not echo raw numbers the user gave you back into a report.
  • An unknown call outcome is never re-dialed. If run_hold returns outcome: "unresolved", report it and stop; a retry rings a second person.

Setup

This directory is documentation. It contains no runnable code. The three tools below are served by an MCP server that lives in a separate repository, and the commands here only work from a clone of it:

bash
git clone https://github.com/Elioz404/HOLDLINE
cd HOLDLINE
npm install
export CALLE_API_KEY=...   # server-side only, never in client code
npm run mcp                # serves plan_hold, run_hold, get_verdict over stdio

Then point your MCP client at that command. Nothing in this skill directory is executable, and running npm inside it will not work.

Without CALLE_API_KEY, plan_hold still works — planning needs no network — and the dialing tools return an error saying exactly what is missing.

To exercise the tools with no CALL-E account at all, from the same clone:

bash
HOLDLINE_SIMULATE=1 npm run mcp

Every response is then tagged simulated: true with a notice saying no telephone was involved. Treat simulated output as a rehearsal, never as a finding, and say so if you report it.

Tools

plan_hold

Compiles the task within CALL-E's 255-character limit, validates every number, derives the idempotency key from the authorizing record, and reports which targets the freshness ledger already answers. Dials nothing.

Start here every time.

run_hold

Dispatches the batch as one call task with many recipients, then judges each answer separately. Requires confirm: true.

Returns per target: a verdict, the gated result, and the reasons. Fields the transcript does not support are null.

get_verdict

Fetches a call by id and judges it. Use it to re-examine a call, or to reconcile one whose outcome was unknown.

Show full SKILL.md (399 more words)Show less

Reading the verdicts

VerdictMeaning
verifiedThe agent raised the topic and a usable answer came back.
asked_but_unclearThe agent asked; the answer was not usable.
unattributedSome question was asked and answered, but none of this field's probes match it, so the answer cannot be pinned here.
attributedNo probe matched, but exactly one question went unclaimed and this was the only unmatched field, so the answer can only have come from it. Weaker evidence than a match, and reported as such. Only appears when elimination is enabled.
never_askedNothing was asked that this value could answer. If a value came back anyway, it is flagged.
no_transcriptNo transcript, so nothing could be checked.

A batch verdict is verified only when every required field is verified — or attributed, if the caller enabled elimination — and completion confidence clears the floor. There is no partial pass.

never_asked with a value present is the case worth surfacing to the user: the call returned something the conversation does not support.

Writing probes

A probe is the list of phrases that identify the agent raising a topic. Write the words the agent would actually say, not the field name.

json
{ "name": "accepts_new_patients", "asks": ["new patients", "accepting new", "taking patients"] }

Matching is lexical, so a question phrased in words no probe contains reads as unattributed and is withheld. That is the safe direction, but it costs a real answer — see references/probes.md before writing them for a new workflow.

Every result carries unclaimedQuestions: the questions the agent asked that no probe claimed, verbatim. If one of them is the question you meant to ask, add its wording to that field. That is the fix; elimination is the fallback.

Side effects and cancellation

run_hold places outbound calls, billed per call, one per dialable target, dispatched together. Each target carries its own idempotency key derived from batchId, workflow, intent and that target's subject id; running the batch again fetches each existing call rather than dialing anyone a second time.

One call per target rather than one call with many recipients, because a multi-recipient call returns no transcript turns and this skill has nothing to verify without them.

Nothing in this skill schedules recurring work, so there is nothing to cancel. A batch in flight cannot be recalled — the confirmation before dispatch is the only stopping point.

References

  • references/safety.md — what a phone answer proves, and what it does not.
  • references/probes.md — writing probes, and the failure they trade against.

© CALLE-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/holdline of CALLE-AI/awesome-phone-call-agents.

  • SKILL.md
  • references/examples.md
  • references/probes.md
  • references/safety.md

Open the folder on GitHubat commit 38d4118

Compare with similar skills

Holdline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Holdline compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Holdline this skillCALLE-AI/awesome-phone-call-agents107—~1.6kAutomated safety check: PassMIT
PhoneBlockRunAI/ClawRouter6.6k—~2.4kAutomated safety check: PassMIT
Five Questionsbrycewang-stanford/Auto-Empirical-Research-Skills4.6k—~1.7kAutomated safety check: NotesCustom licence
Discovery Question Formnexu-io/open-design100k—~1.5kAutomated safety check: PassApache-2.0
Many Chat AutomationComposioHQ/awesome-claude-skills77k3 repos~736Automated safety check: PassNone
Ask User QuestionMemTensor/MemOS12k—~1kAutomated safety check: PassApache-2.0

Similar skills

  • Phone

    BlockRunAI/ClawRouter

    Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai).

    6.6k GitHub stars~2.4k tokensUpdated 5 days ago
    Auto-check passed
  • Five Questions

    brycewang-stanford/Auto-Empirical-Research-Skills

    Deeply analyze any empirical economics PDF using the five-question framework (五问框架): research question, identification strategy, core estimand, robustness logic, and scholarly contribution.

    4.6k GitHub stars~1.7k tokensUpdated 5 days ago
    Documents & OfficeAuto-check: notes
  • Discovery Question Form

    nexu-io/open-design

    Structured clarification form for unresolved material requirements.

    100k GitHub stars~1.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Many Chat Automation

    ComposioHQ/awesome-claude-skills

    Automate ManyChat tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~736 tokens
    Productivity & AutomationAuto-check passed
  • Ask User Question

    MemTensor/MemOS

    Shows a question as a modal in the interface to clarify a task, collect a preference or get approval, since the user cannot see terminal output.

    12k GitHub stars~1k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Phone Harness

    milind-soni/OpenMausBot

    Control, inspect, test, or automate a physical Android phone connected to OpenMausBot over authorized USB debugging.

    4.4k GitHub stars~364 tokensUpdated today
    MobileAuto-check passed

More from CALLE-AI/awesome-phone-call-agents

All 101 skills in this repo
  • Accessible Outing Verifier

    CALLE-AI/awesome-phone-call-agents

    Demonstrates advisory accessibility-planning checks with offline fixtures and a proposed bounded CALL-E workflow; use for exploring unknown or qualified venue claims without making calls.

    107 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Ground Truth Gate

    CALLE-AI/awesome-phone-call-agents

    A skill your agent uses when an agent holds some evidence for a physical-world claim but the evidence is broader, narrower, or older than the exact question asked, and it must first decide whether a…

    107 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Is It Accessible

    CALLE-AI/awesome-phone-call-agents

    Call a venue and ask the accessibility questions that matter to one specific person — step-free entry, hearing loop, guide dogs, quiet hours, changing places — then return a per-need verdict backed…

    107 GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Landmark Navigation Assist

    CALLE-AI/awesome-phone-call-agents

    Turns a pre-written, building-level location config into a CALL-E outbound phone-call task that guides a delivery driver through the last few hundred metres to a specific building using landmarks…

    107 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Research Gap Call Verifier

    CALLE-AI/awesome-phone-call-agents

    Turn cited business research into a bounded, approval-gated phone-call plan that asks only unresolved factual questions, then reconcile CALL-E-compatible results without treating voicemail, refusal…

    107 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Structured Outcome Followup Call

    CALLE-AI/awesome-phone-call-agents

    Place a goal-driven CALL-E call that collects specific structured answers, score those answers against a deterministic rubric you supply, and conditionally trigger a follow-up action — all runnable…

    107 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Questions about Holdline

What does Holdline do?

Ask one question of many places by phone and get back only the answers the call actually established. Holdline is an agent skill from CALLE-AI/awesome-phone-call-agents. Ask one question of many places by phone and get back only the answers the call actually established.

When should I use Holdline?

Holdline fits situations like: batch phone enquiries where a wrong answer is worse than no answer — supplier stock checks; capacity and availability enquiries; claim and case status; directory verification.

How do I install Holdline in Claude Code?

Run `npx skills add CALLE-AI/awesome-phone-call-agents --skill holdline -a claude-code`. Or copy the skill folder (skills/holdline in CALLE-AI/awesome-phone-call-agents) into .claude/skills/holdline in your project. Claude Code loads it when a task matches its description.

How do I install Holdline in Codex?

Run `npx skills add CALLE-AI/awesome-phone-call-agents --skill holdline -a codex`. Or copy the skill folder (skills/holdline in CALLE-AI/awesome-phone-call-agents) into .agents/skills/holdline in your project. Codex loads it when a task matches its description.

Can I use Holdline in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CALLE-AI/awesome-phone-call-agents --skill holdline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/holdline, .gemini/skills/holdline, .github/skills/holdline and .opencode/skills/holdline in your project.

What does Holdline need to run?

Going by SKILL.md and its folder, Holdline needs the command-line tools its instructions call (npm and git) and credentials named CALLE_API_KEY. Our summary lists: Node.js; A credential in CALLE_API_KEY.

Does Holdline access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Holdline safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Holdline use?

Holdline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Holdline use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.

What are the alternatives to Holdline?

Skills that share tags, products or a category with Holdline: Phone (BlockRunAI/ClawRouter, 6.6k stars), Five Questions (brycewang-stanford/Auto-Empirical-Research-Skills, 4.6k stars), Discovery Question Form (nexu-io/open-design, 100k stars) and Many Chat Automation (ComposioHQ/awesome-claude-skills, 77k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Holdline?

CALLE-AI (a GitHub organization) maintains it in CALLE-AI/awesome-phone-call-agents, which has 107 GitHub stars. The repository holds 101 skills in this directory. The repository was last updated on October 10, 2026.

Source: CALLE-AI/awesome-phone-call-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.