Source profileQuality 91/100Review permissions

CALLE-AI/awesome-phone-call-agents/skills/ringer-consumer-tasks/SKILL.md

ringer-consumer-tasks

Handle the dreaded consumer phone calls — negotiate a bill, cancel a subscription, chase a refund, book an appointment, get a price quote, or ask a business a question — by turning a few fields into a precise CALL-E task and a strict structured-result schema, previewing as a dry run, and placing the call only with explicit consent. Includes a Quote Shootout batch mode that calls several businesses and returns per-business results plus a ranked comparison.

Source repository stars
66
Declared platforms
0
Static risk flags
1
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

Use this skill when a person wants an AI agent to make a real-world consumer phone call on their behalf and hand back a clean, structured outcome — the new monthly price, a cancellation confirmation number, the booked time, the refund amount, the quote. It packages the prompt-en…

Best for

  • negotiating or lowering a bill, waiving a fee, or matching a competitor offer
  • cancelling a subscription or membership past the retention runaround
  • chasing a stuck refund or disputing a charge

Not for

  • place calls to numbers the user did not provide, or guess/repair phone numbers
  • infer country codes, region, or language — require explicit E.164 and region

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/CALLE-AI/awesome-phone-call-agents --skill "skills/ringer-consumer-tasks"
Safe inspection promptEditorial

Inspect the Agent Skill "ringer-consumer-tasks" from https://github.com/CALLE-AI/awesome-phone-call-agents/blob/a34d6b803ee2f1b80446056dcef38911882726e5/skills/ringer-consumer-tasks/SKILL.md at commit a34d6b803ee2f1b80446056dcef38911882726e5. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    1. Confirm the user actually wants a real phone call placed, and identify the single playbook that fits. If none fit, use custom. 2. Collect the playbook's required fields plus any helpful optional ones. Get the recipient's phone number in E.164 (e.g. +14155550123) and the regio…

    Confirm the user actually wants a real phone call placed, and identify theCollect the playbook's required fields plus any helpful optional ones. Get theCompose the call with build-task.mjs (below). It returns the exact task
  2. 02

    When To Use

    negotiating or lowering a bill, waiving a fee, or matching a competitor offer

    negotiating or lowering a bill, waiving a fee, or matching a competitor offercancelling a subscription or membership past the retention runaroundchasing a stuck refund or disputing a charge
  3. 03

    When Not To Use

    Do not use this skill to:

    place calls to numbers the user did not provide, or guess/repair phone numbersinfer country codes, region, or language — require explicit E.164 and regionmake a legally binding commitment on the user's behalf without their approval
  4. 04

    Playbooks

    Run node scripts/build-task.mjs --list for the machine-readable catalog. Field semantics (goal, walkAway, approvalMode, resolution, declineOffers, preferredTimes, collect, …) and every result schema are in references/playbooks.md.

    Run node scripts/build-task.mjs --list for the machine-readable catalog. Field semantics (goal, walkAway, approvalMode, resolution, declineOffers, preferredTimes, collect, …) and every result schema are in references/pl…
  5. 05

    Scripts

    Compose the task + strict schema (pure, offline, never dials):

    Compose the task + strict schema (pure, offline, never dials):For Quote Shootout, add --batch on a batchable playbook to get a per-business recipientresultschema plus an aggregate call-level resultschema (cheapest business, potential savings):For a non-English call, add --language (e.g. --language Spanish) so the task instructs the agent to run the whole conversation in that language, and pass the matching CALL-E --region/--locale to place-call.mjs (e.g. --r…

Permission review

Static risk signals and limitations

Runs scripts

medium · line 83

The documentation asks the agent to run terminal commands or scripts.

node scripts/build-task.mjs \

Runs scripts

medium · line 94

The documentation asks the agent to run terminal commands or scripts.

node scripts/build-task.mjs --playbook get-quote \

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars66SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
CALLE-AI/awesome-phone-call-agents
Skill path
skills/ringer-consumer-tasks/SKILL.md
Commit
a34d6b803ee2f1b80446056dcef38911882726e5
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Ringer Consumer Tasks

Use this skill when a person wants an AI agent to make a real-world consumer phone call on their behalf and hand back a clean, structured outcome — the new monthly price, a cancellation confirmation number, the booked time, the refund amount, the quote. It packages the prompt-engineering and the structured-output contract for six common, high-friction call types plus a free-form one.

This is a composition + safety skill. It does not create a phone provider, does not manage provider-side recurring schedules, and does not call arbitrary numbers it scraped. It turns a chosen playbook + a few user-supplied fields into a reviewed, consent-gated CALL-E call with a strict result_schema.

When To Use

Use this skill for:

  • negotiating or lowering a bill, waiving a fee, or matching a competitor offer
  • cancelling a subscription or membership past the retention runaround
  • chasing a stuck refund or disputing a charge
  • booking an appointment (dental, restaurant, service) by phone
  • getting a price quote — including calling several businesses to compare (Quote Shootout)
  • asking a business a specific question (hours, stock, policy)
  • a free-form "call X and find out / do Y" task with a custom result contract
  • previewing exactly what an agent will say and return, before any call is placed

When Not To Use

Do not use this skill to:

  • place calls to numbers the user did not provide, or guess/repair phone numbers
  • infer country codes, region, or language — require explicit E.164 and region
  • make a legally binding commitment on the user's behalf without their approval
  • give medical, legal, financial, or emergency advice during a call
  • run mass/robo outreach, sales spam, or anything the recipient has not consented to
  • impersonate the account holder using invented PII, PINs, or card numbers

Playbooks

idGoalRequired fieldsBatch
negotiate-billLower a rate, waive a fee, match/extend a promocompany, goal
cancel-subscriptionCancel cleanly, get a confirmation numbercompany
chase-refundRecover a refund/credit or dispute a chargecompany, issue
book-appointmentBook a slot that fits the user's constraintsbusiness, purpose
get-quoteCollect a real price; Quote Shootout ranks manybusiness, service
general-inquiryGet straight answers to specific questionsbusiness, question
customAny call, with a user-defined result contracttask

Run node scripts/build-task.mjs --list for the machine-readable catalog. Field semantics (goal, walkAway, approvalMode, resolution, declineOffers, preferredTimes, collect, …) and every result schema are in references/playbooks.md.

Workflow

  1. Confirm the user actually wants a real phone call placed, and identify the single playbook that fits. If none fit, use custom.
  2. Collect the playbook's required fields plus any helpful optional ones. Get the recipient's phone number in E.164 (e.g. +14155550123) and the region — ask; never guess. Optionally collect the caller's name and a callback number.
  3. Compose the call with build-task.mjs (below). It returns the exact task text, a strict result_schema, and missing_required. If missing_required is non-empty, go back and collect those fields.
  4. Dry-run preview with place-call.mjs (no --execute). Show the user the masked recipient, the task the agent will follow, and the fields it will bring back. This is the default and must happen before any real call.
  5. Get explicit consent to place the call. For negotiate-bill and cancel-subscription, confirm the decision-authority stance (the agent captures offers but does not commit unless the user set an auto-accept limit).
  6. Place the call with place-call.mjs --execute (requires CALLE_API_KEY). Add --poll to wait for the structured result; calls can take minutes.
  7. Report the structured result verbatim from the schema fields, plus CALL-E's completion_confidence and a one-line summary. If it did not resolve, offer a single escalated follow-up rather than looping.

Scripts

Compose the task + strict schema (pure, offline, never dials):

node scripts/build-task.mjs \
  --playbook negotiate-bill \
  --values '{"company":"Xfinity","currentAmount":"95","goal":"lower","leverage":"AT&T Fiber offers $55/mo for the same speed; 4-year customer","walkAway":"yes","approvalMode":"ask"}' \
  --caller "Alex Rivera" --callback "+14155550100" > plan.json

For Quote Shootout, add --batch on a batchable playbook to get a per-business recipient_result_schema plus an aggregate call-level result_schema (cheapest business, potential savings):

node scripts/build-task.mjs --playbook get-quote \
  --values '{"service":"front brake pads + rotors, 2018 Honda Civic; out-the-door price","timeframe":"this week"}' \
  --batch > plan.json

For a non-English call, add --language (e.g. --language Spanish) so the task instructs the agent to run the whole conversation in that language, and pass the matching CALL-E --region/--locale to place-call.mjs (e.g. --region MX --locale es-MX). CALL-E supports English plus Hindi, Arabic, Vietnamese, German, Japanese, French, Spanish, and Portuguese in their respective regions.

Preview, then place (dry-run by default; --execute places the real call):

# 1) Dry run — prints the plan with masked numbers, places NO call:
node scripts/place-call.mjs --body plan.json --to-phone +14155550123

# 2) After consent — place it and wait for the structured result:
CALLE_API_KEY=calle_live_… \
node scripts/place-call.mjs --body plan.json --to-phone +14155550123 --execute --poll

# Quote Shootout: repeat --to-phone per business (batch is auto-detected):
CALLE_API_KEY=calle_live_… node scripts/place-call.mjs --body plan.json \
  --to-phone +14155550123 --to-phone +14155550188 --to-phone +14155550190 --execute --poll

Alternative placement: for a quick goal-only call without a custom schema, the CALL-E CLI works too — calle call start --to-phone +14155550123 --goal "<task>" then calle call status --run-id <run_id>. Use place-call.mjs (the API path) whenever you want the strict structured result this skill's schemas define.

Provider Boundary

This skill prepares and optionally executes CALL-E create-call requests of this shape (one call task; one or more recipients for batch):

{
  "task": "Composed from the playbook + user fields…",
  "recipients": [{ "phones": ["+14155550123"], "region": "US", "locale": "en-US" }],
  "result_schema": { "type": "object", "additionalProperties": false, "required": ["outcome"], "properties": { "…": {} } },
  "recipient_result_schema": { "…": "present only in batch / Quote Shootout" }
}

Result schemas are strict: CALL-E rejects any property not declared in properties before returning structured_result, so the output is always exactly the contract above.

Decision Authority (human-in-the-loop)

The negotiate-bill and cancel-subscription tasks encode who may say yes:

  • Ask me (default): the agent may negotiate and capture the exact best offer but must not commit — it tells the rep the user will confirm shortly.
  • Autonomous under a limit (approvalMode: "auto", autoAcceptBelow: <n>): the agent may accept an offer at or below the stated monthly amount.

Never place an autonomous-commit call without the user explicitly choosing it and setting the limit.

Safety Rules

Read references/safety.md for the full contract. Always:

  • Treat a phone call as a real-world side effect; require explicit user intent.
  • Require caller-provided E.164 numbers and region; never guess or repair them.
  • Every generated task opens with a fixed AI disclosure (build-task.mjs states the agent must disclose it is an AI assistant at the start); do not remove or weaken it.
  • Dry-run first; place a real call only after the user consents to that exact plan.
  • Never invent account numbers, PINs, card numbers, or personal details; if asked for something not provided, the agent says it does not have it on hand.
  • Do not make a binding commitment unless the user granted decision authority.
  • Mask phone numbers in summaries; do not expose API keys or full numbers. The key is sent only to CALL-E's official host: place-call.mjs allowlists CALLE_BASE_URL (official *.heycall-e.com or localhost) and refuses to send the bearer token to any other origin.
  • A live create carries a content-bound Idempotency-Key (a hash of the recipients + task + schema), so a lost response + rerun of --execute dedups instead of placing a second call.
  • Do not claim a call happened or a result was achieved unless CALL-E returned it.
  • Do not give medical, legal, financial, or emergency advice on the call.

References

  • references/playbooks.md: every playbook's fields, option values, and result schema.
  • references/safety.md: consent, PII, decision-authority, and phone-number rules.
  • references/examples.md: worked end-to-end examples (compose → dry-run → execute) with sample structured results.

Frequently asked questions

What to verify before installation and use

What does the ringer-consumer-tasks source document cover?

Use this skill when a person wants an AI agent to make a real-world consumer phone call on their behalf and hand back a clean, structured outcome — the new monthly price, a cancellation confirmation number, the booked time, the refund amount, the quote. It packages the prompt-en…

How do I install ringer-consumer-tasks?

The source record exposes this install command: npx skills add https://github.com/CALLE-AI/awesome-phone-call-agents --skill "skills/ringer-consumer-tasks". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10029,034

garrytan/gbrain

bulk-ingestion

End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 10015,122

wanshuiyin/Auto-claude-code-research-in-sleep

citation-audit

Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

Computed 10014,671

prowler-cloud/prowler

postgresql-indexing

PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance