Agent skill

Appointment Confirm

by CALLE-AI in CALLE-AI/awesome-phone-call-agents

Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human.

MITAuto-check passed

Install Appointment Confirm

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

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

GitHub CLI
$ gh skill install CALLE-AI/awesome-phone-call-agents appointment-confirm --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/appointment-confirm .claude/skills/appointment-confirm && 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
appointment-confirm
GitHub stars
107
Token cost
~1.1k tokens
SKILL.md length
369 words
Files
5 (incl. scripts, references, assets)
Skills in repo
101
Repo updated
First seen
Licence
MIT

At a glance

Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human.

  • Works in 4 steps: Confirm the user authorized this one… → Confirm the phone is E.164 and came from… → Refuse if do_not_call is true or consent… → …
  • SKILL.md covers When To Use, When Not To Use, Required Inputs and Preflight, plus 6 more sections
  • Runs Python scripts from its folder; calls python3; needs CALLE_API_KEY

What it does

Appointment Confirm is an agent skill from CALLE-AI/awesome-phone-call-agents. Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human. Dry-run and fixture modes by default.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts, reference files and assets (for example `assets/sample-appointment.json`, `references/examples.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.

Example prompts

  • “/appointment-confirm”

Requirements

  • Python 3
  • A credential in CALLE_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the user authorized this one confirmation call.
  2. Confirm the phone is E.164 and came from the booking workflow.
  3. Refuse if do_not_call is true or consent is not true.
  4. Run a local preview before any CALL-E plan.

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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

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

  • Network

    No URLs in SKILL.md.

    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

Appointment Confirm loads about 1.1k tokens when it runs, and up to ~1.4k if it reads all its reference files. Until then it costs about 49 tokens; SKILL.md has 369 words of instructions outside code blocks.

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

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); the scripts in this folder 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). 369 words, ~1,133 tokens.

Download SKILL.mdSave it as .claude/skills/appointment-confirm/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
appointment-confirm
description
Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human. Dry-run and fixture modes by default.
license
MIT

Appointment Confirm

Use this skill when a studio, clinic, or coordinator has explicit authority to place one disclosed phone call to confirm an existing booking. The call asks whether the recipient can attend the booked slot, captures a yes/no plus a confirmed or requested time, and returns fail-closed structured JSON.

This skill does not book, move, or cancel calendar events. A human reviews the result before any diary change.

When To Use

  • Confirm a booked appointment the recipient already knows about
  • Capture a decline or a requested move to a pre-approved window
  • Leave a short voicemail that asks them to call the business back
  • Produce an evidence-backed disposition for a coordinator

When Not To Use

  • First-contact sales, lead qualification, or unsolicited marketing
  • Medical, legal, financial, emergency, collections, or political calls
  • Calling a number the user did not provide and authorize
  • Hidden retries, recurring reminders, or automatic calendar writes
  • Collecting payment, ID numbers, or health details

Required Inputs

  • request_id: stable local identifier
  • business_display_name: name disclosed on the call
  • recipient_first_name
  • to_phone_e164: E.164, authorized
  • appointment.service, appointment.starts_at (ISO-8601 with offset), appointment.location
  • timezone: IANA
  • consent: must be true
  • authorized_reason: why this specific call is allowed

Optional: reschedule_windows (max 6 ISO-8601 times the coordinator can actually honor).

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

Preflight

  1. Confirm the user authorized this one confirmation call.
  2. Confirm the phone is E.164 and came from the booking workflow.
  3. Refuse if do_not_call is true or consent is not true.
  4. Run a local preview before any CALL-E plan.

Dry-Run Preview

From the repository root (no CALL-E credentials, no network):

bash
python3 apps/python/appointment-confirm/client.py --request skills/appointment-confirm/assets/sample-appointment.json
python3 apps/python/appointment-confirm/client.py --request skills/appointment-confirm/assets/sample-appointment.json --mock

From the app directory:

bash
cd apps/python/appointment-confirm
python3 client.py --request fixtures/sample_appointment.json

Preview prints a masked phone, the CALL-E task, and the result schema. It does not dial.

CALL-E Goal Template

text
You are an AI phone assistant calling on behalf of {business_display_name}.
Disclose immediately that you are AI and that this is one appointment-confirmation call.

Speak with {recipient_first_name}. If you have the wrong person, apologise and end the call.

Purpose: confirm the existing {service} on {starts_at_friendly} at {location}.
Do not sell, collect payment, or give medical, legal, or financial advice.

Ask whether they can attend. Capture can_attend as yes, no, or unknown.
If yes, read the time back and capture confirmed_time.
If no, offer only these windows: {reschedule_windows}. Capture requested_time.
Do not infer yes from silence. Do not update any calendar.

Structured Result

json
{
  "can_attend": "yes | no | unknown",
  "confirmed_time": "ISO-8601 or empty",
  "requested_time": "ISO-8601 or empty",
  "disposition": "confirmed | declined | reschedule_requested | voicemail | no_answer | wrong_number | needs_human"
}

A confirmed result is not a calendar write. reschedule_requested, voicemail, and unknown all need a human.

Live Planning

Only after explicit user authorization and CALL-E authentication:

bash
export CALLE_API_KEY="<server key>"
python3 apps/python/appointment-confirm/client.py --request <authorized-intake.json> --execute --confirm-consent

Planning via the CALL-E CLI is also valid and is not execution:

bash
calle call plan --to-phone <E164_PHONE> --goal "<reviewed goal text>" --timezone Europe/London --language English --region GB

Do not run calle call start or this app's --execute unless the user separately confirms.

Cancellation And Idempotency

Idempotency key: appointment_confirm:{request_id}:{starts_at}. If the user cancels before dial, do not execute. If a result is ambiguous, route to a human rather than calling again.

Safety Notes

Read references/safety.md and references/examples.md before live planning.

© 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 4 other files (scripts, references, assets) in skills/appointment-confirm of CALLE-AI/awesome-phone-call-agents.

  • SKILL.md
  • assets/sample-appointment.json
  • references/examples.md
  • references/safety.md
  • scripts/preview.py

Open the folder on GitHubat commit 38d4118

Compare with similar skills

Appointment Confirm 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.

Appointment Confirm compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Appointment Confirm this skillCALLE-AI/awesome-phone-call-agents107—~1.1kAutomated safety check: PassMIT
PhoneBlockRunAI/ClawRouter6.6k—~2.4kAutomated safety check: PassMIT
Offer Appointmentsickn33/agentic-awesome-skills47k1 repos~3.9kAutomated safety check: PassMIT
Phone Harnessmilind-soni/OpenMausBot4.4k—~364Automated safety check: PassApache-2.0
Phone HarnessShawnPana/phone-harness3.2k—~7.7kAutomated safety check: PassMIT
Phone Messagesnano-muse/nanoMuse813—~625Automated safety check: PassGPL-3.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 6 days ago
    Auto-check passed
  • Offer Appointment

    sickn33/agentic-awesome-skills

    Offer register: candidate, position, department, employment type, offered salary and currency, offer date and expiry, joining date, probation, approver and sign-off.

    47k GitHub starsUsed in 1 repo~3.9k tokens
    Auto-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
  • Phone Harness

    ShawnPana/phone-harness

    Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.

    3.2k GitHub stars~7.7k tokensUpdated today
    MobileAuto-check passed
  • Phone Messages

    nano-muse/nanoMuse

    Read and answer messages in the chat apps on the user's phone (微信 and the like) through the screen: catch up, draft a reply in the user's voice, send only text they confirmed.

    813 GitHub stars~625 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Phone Calls

    vellum-ai/vellum-assistant

    Make outgoing phone calls, receive incoming calls, and pull up past call transcripts

    1.4k GitHub stars~3.1k tokensUpdated 2 days ago
    Productivity & AutomationAuto-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 Appointment Confirm

What does Appointment Confirm do?

Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human. Appointment Confirm is an agent skill from CALLE-AI/awesome-phone-call-agents. Confirm one existing appointment by phone with CALL-E, capture yes/no and time as structured JSON, and leave calendar changes to a human.

How do I install Appointment Confirm in Claude Code?

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

How do I install Appointment Confirm in Codex?

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

Can I use Appointment Confirm 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 appointment-confirm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/appointment-confirm, .gemini/skills/appointment-confirm, .github/skills/appointment-confirm and .opencode/skills/appointment-confirm in your project.

What does Appointment Confirm need to run?

Going by SKILL.md and its folder, Appointment Confirm needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named CALLE_API_KEY. Our summary lists: Python 3; A credential in CALLE_API_KEY.

Does Appointment Confirm access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Appointment Confirm 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Appointment Confirm use?

Appointment Confirm is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Appointment Confirm use?

About 1.1k tokens (SKILL.md is roughly 4.5k 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 281 tokens, read only when the agent opens those files.

What are the alternatives to Appointment Confirm?

Skills that share tags, products or a category with Appointment Confirm: Phone (BlockRunAI/ClawRouter, 6.6k stars), Offer Appointment (sickn33/agentic-awesome-skills, 47k stars), Phone Harness (milind-soni/OpenMausBot, 4.4k stars) and Phone Harness (ShawnPana/phone-harness, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Appointment Confirm?

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.