Agent skill

Positive Contact Call

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

Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed.

MITAuto-check passed

Install Positive Contact Call

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

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

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

At a glance

Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed.

  • Works in 6 steps: Gather what the call needs → Preview without calling → Get explicit confirmation → …
  • A notice has to be heard by a person rather than merely delivered
  • SKILL.md covers When to use this, When not to place the call, Workflow and What the call may and may not…, plus 3 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Positive Contact Call is an agent skill from CALLE-AI/awesome-phone-call-agents. Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed. Use when a notice has to be heard by a person rather than merely delivered, such as a utility shutoff, a boil-water advisory, or a recall affecting people who depend on the service. Returns a fail-closed disposition with transcript evidence and hands every commitment to a human.

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

  • A notice has to be heard by a person rather than merely delivered
  • Such as a utility shutoff
  • A boil-water advisory
  • A recall affecting people who depend on the service

Example prompts

  • “/positive-contact-call”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Gather what the call needs
  2. Preview without calling
  3. Get explicit confirmation
  4. Place exactly one call
  5. Adjudicate fail-closed
  6. Hand every commitment to a human

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 no API keys, tokens, secrets or passwords.

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

Context cost

Positive Contact Call loads about 1.8k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 108 tokens; SKILL.md has 1,055 words of instructions outside code blocks.

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

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). 1,055 words, ~1,827 tokens.

Download SKILL.mdSave it as .claude/skills/positive-contact-call/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
positive-contact-call
description
Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed. Use when a notice has to be heard by a person rather than merely delivered, such as a utility shutoff, a boil-water advisory, or a recall affecting people who depend on the service. Returns a fail-closed disposition with transcript evidence and hands every commitment to a human.

Positive contact call

Some notices are not delivered until a person has heard them. A utility running a Public Safety Power Shutoff must confirm positive contact with customers on medical equipment programs: a real person heard the notice. A voicemail is not positive contact. A text is not positive contact. An unanswered call is not positive contact. When contact cannot be confirmed before the deadline, somebody has to drive to the door.

This skill places one such call and returns a disposition you can defend.

The one rule: a contact is confirmed only when transcript evidence shows a human acknowledged the notice. Every other outcome moves the escalation ladder forward.

When to use this

  • A critical notice must reach a person before a deadline, and "we called them" is not good enough.
  • Somebody has to account afterwards for who was reached and who was not.
  • The recipient may ask questions the notice should answer, and may ask questions it must refuse to answer.

When not to place the call

Check all of these before dialling. Each one is a refusal, not a warning.

ConditionWhat to do instead
The number is not already in E.164 formRefuse. Never add a country code, strip punctuation, or otherwise repair a number
No IANA timezone for the recipientRefuse. Never infer a timezone from a phone number, country code, or locale
Local time is inside quiet hoursSchedule for the first callable minute, unless the policy carries an explicit emergency override
The recipient's language is not supported on the destination lineOpen a bilingual human callback. Do not call them in a language they did not ask for
The step cannot complete before the field-visit cutoffSkip straight to the field-visit queue. Do not start a call whose result arrives too late to matter
No recorded authorization to call this number for this noticeRefuse
The number was retired after a wrong-number outcome, or the recipient refusedRefuse. These never redial

Workflow

1. Gather what the call needs

Required: the issuing organisation's name, the notice window (start and end, with timezone offsets), the deadline after which a physical visit is required, the recipient's first name, their number in E.164, their IANA timezone, their locale, and a short service address such as "1200 block of Elm St". Optional: an alternate contact number, and the location and hours of any resource centre.

Ask for anything missing. Do not fill a gap with a default.

2. Preview without calling

Run scripts/preview.py with the contact and event as JSON on standard input. It prints the masked plan, the exact words the call will use, and any reason the call should not be placed. It never opens a network connection.

bash
python3 scripts/preview.py < contact.json

Show the operator that output verbatim. It is the last point at which a mistake is free.

3. Get explicit confirmation

A real call is a real-world side effect on a person who did not ask to be called. Show the masked number and the exact task text, then wait for the operator to confirm in words. Do not treat "go ahead with the plan" from earlier in a conversation as confirmation of this specific call.

4. Place exactly one call
  • One recipient per call. Never batch.
  • Derive the idempotency key from what was authorized, not from the attempt: pc:{event_id}:{contact_id}:{ladder_step}:{target}. A retry reuses the key. A new random key per attempt silently disables the protection.
  • Persist the intent, with its key, before sending anything.
  • Send the recipient result schema in references/result-schema.md.
  • Put correlation ids in metadata so the result can be bound back to the intent.
  • Once the call id comes back, the call cannot be cancelled. There is no cancel endpoint. "Stop" from here means "stop scheduling more calls", never "stop the call in flight".
Show full SKILL.md (427 more words)Show less
5. Adjudicate fail-closed

Treat a webhook as a wake-up only. Re-read the call by id and adjudicate that read.

Confirm the contact only when all four hold:

  1. The structured result says a live person answered.
  2. The structured result says they acknowledged the notice.
  3. Completion confidence is at the gate: label high, or score at or above the threshold.
  4. The transcript independently contains the acknowledgement, in a recipient turn that comes after the notice was delivered.

Anything else advances the ladder or opens human review. In particular:

  • A recipient turn matching an answering-machine greeting means voicemail, whatever the structured result claims. A structured result claiming a live acknowledgement over a machine greeting is a contradiction and goes to a human.
  • A missing, malformed, or null result goes to a human. It is never read optimistically.
  • A medical question outranks everything: route it to a person, record that it happened, and give no advice.

references/escalation-policy.md has the full ladder and the disposition table.

6. Hand every commitment to a human

The skill may report. It may not promise. A field visit, a callback, a bilingual follow-up, a number retirement: prepare each one and hand it to a person to approve. Return the disposition, the reason code, and the transcript spans that produced it, so the person deciding can see what the machine saw.

What the call may and may not say

Read references/safety.md before writing any call text. In short: disclose who is calling, that the call is automated, and that it may be recorded, before anything else. Never ask for an account number, a payment, or an identifying detail. Never give medical, legal, or financial advice. Never store a condition, device, diagnosis, or medication.

Reference files

  • references/safety.md - disclosure, the never-ask rules, the medical boundary, masking, retention, and why the call is deliberately easy to tell apart from a scam.
  • references/result-schema.md - the recipient result schema, the fields that must never be used, and the strict local validation that runs after the call.
  • references/escalation-policy.md - the ladder, quiet hours, the cutoff, and the full disposition table.
  • references/examples.md - three worked examples: a confirmation, a voicemail, and a medical question.

Helper script

  • scripts/preview.py - standard library only, places no call, prints the masked plan and the exact call text for one contact.

A runnable implementation

apps/python/positive-contact implements this workflow end to end for a Public Safety Power Shutoff: preflight, ledger, escalation ladder, judge ensemble, operator dashboard, approval-gated field-visit work orders, and a report whose every count carries its denominator. It runs in fixture mode by default and places no calls.

© 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 5 other files (scripts, references) in skills/positive-contact-call of CALLE-AI/awesome-phone-call-agents.

  • SKILL.md
  • references/escalation-policy.md
  • references/examples.md
  • references/result-schema.md
  • references/safety.md
  • scripts/preview.py

Open the folder on GitHubat commit 38d4118

Compare with similar skills

Positive Contact Call 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.

Positive Contact Call compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Positive Contact Call this skillCALLE-AI/awesome-phone-call-agents107—~1.8kAutomated safety check: PassMIT
PhoneBlockRunAI/ClawRouter6.6k—~2.4kAutomated safety check: PassMIT
Positioning Ideasphuryn/pm-skills27k—~751Automated safety check: PassMIT
Criticism Self CriticismHughYau/qiushi-skill3.8k—~423Automated safety check: PassMIT
Gtm Positioning Strategygithub/awesome-copilot40k1 repos~3.5kAutomated safety check: PassMIT
Crossframe Criticalsickn33/agentic-awesome-skills47k1 repos~1.3kAutomated safety check: PassMIT

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
  • Positioning Ideas

    phuryn/pm-skills

    Brainstorm product positioning ideas differentiated from competitors.

    27k GitHub stars~751 tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Criticism Self Criticism

    HughYau/qiushi-skill

    批评与自我批评:在工作完成、阶段验收、收到批评或同类错误反复出现时,对成果和过程做诚实、具体、基于事实的审视,输出可执行的改进项,并处理外来批评而不辩解。触发信号包括 review、复盘、审查、"帮我看看有没有问题"、"你确定吗";任务刚开始或只是单步查询时不触发。

    3.8k GitHub stars~423 tokensUpdated 10 days ago
    Product & Project ManagementAuto-check passed
  • Gtm Positioning Strategy

    github/awesome-copilot

    Official

    Find and own a defensible market position. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 1 repo~3.5k tokens
    Marketing & SEOAuto-check passed
  • Crossframe Critical

    sickn33/agentic-awesome-skills

    Use only when the user explicitly names crossframe-critical for a Chinese structural critique dossier, article plan, or long-form critical essay.

    47k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Contact Page

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing metadata, crawlability, structured data, or indexability related to Create a comprehensive Contact page.

    74k GitHub stars~424 tokensUpdated 5 days ago
    Marketing & SEOAuto-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 Positive Contact Call

What does Positive Contact Call do?

Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed. Positive Contact Call is an agent skill from CALLE-AI/awesome-phone-call-agents. Place one disclosed critical-notice phone call and confirm that a live human acknowledged it, treating voicemail as unconfirmed.

When should I use Positive Contact Call?

Positive Contact Call fits situations like: A notice has to be heard by a person rather than merely delivered; such as a utility shutoff; A boil-water advisory; A recall affecting people who depend on the service.

How do I install Positive Contact Call in Claude Code?

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

How do I install Positive Contact Call in Codex?

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

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

What does Positive Contact Call need to run?

Going by SKILL.md and its folder, Positive Contact Call needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Positive Contact Call 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 Positive Contact Call 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 Positive Contact Call use?

Positive Contact Call 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 Positive Contact Call use?

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

What are the alternatives to Positive Contact Call?

Skills that share tags, products or a category with Positive Contact Call: Phone (BlockRunAI/ClawRouter, 6.6k stars), Positioning Ideas (phuryn/pm-skills, 27k stars), Criticism Self Criticism (HughYau/qiushi-skill, 3.8k stars) and Gtm Positioning Strategy (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Positive Contact Call?

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.