Agent skill

Logistics Exception

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

Resolve a delayed-shipment dock exception by phone with CALL-E.

MITAuto-check passed

Install Logistics Exception

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

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

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

At a glance

Resolve a delayed-shipment dock exception by phone with CALL-E.

  • Works in 4 steps: Validate every phone as E.164… → Show the operator each recipient, the… → Derive one idempotency key per incident… → …
  • SKILL.md covers When To Use, When Not To Use, Required Inputs and Preflight, plus 6 more sections
  • Runs JavaScript scripts from its folder; needs CALLE_API_KEY

What it does

Logistics Exception is an agent skill from CALLE-AI/awesome-phone-call-agents. Resolve a delayed-shipment dock exception by phone with CALL-E. Calls the driver and receiving dock concurrently with one strict result schema, reconciles terminal results, combines only supported facts into a recovery card, and leaves any call that changes the dock appointment to explicit human approval.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts, reference files and assets (for example `assets/sample-incident.json`, `assets/sample-result-driver.json` and `assets/sample-result-vague.json`).

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

  • “/logistics-exception”

Requirements

  • Node.js
  • A credential in CALLE_API_KEY

Workflow steps

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

  1. Validate every phone as E.164 (^+[1-9]\d{6,14}$) and reject emergency-number patterns.
  2. Show the operator each recipient, the goal, the questions, the boundaries, and the exact task text before any call.
  3. Derive one idempotency key per incident and contact: docksignal:{incident_id}:{contact_id}:fact_finding:v1. Persist the call task row with…
  4. Refuse to dispatch without authorization_confirmed: true and a valid server-side CALLE_API_KEY. There is no dry-run that fabricates a…

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/ (JavaScript), which the agent can run.

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

  • Network

    Links to these hosts (documentation or services it may open):

    • 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

Logistics Exception loads about 2.2k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 749 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~82
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.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). 749 words, ~2,191 tokens.

Download SKILL.mdSave it as .claude/skills/logistics-exception/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
logistics-exception
description
Resolve a delayed-shipment dock exception by phone with CALL-E. Calls the driver and receiving dock concurrently with one strict result schema, reconciles terminal results, combines only supported facts into a recovery card, and leaves any call that changes the dock appointment to explicit human approval.
license
MIT

Logistics Exception

Use this skill when an operations desk has a shipment that missed its promised dock window and the missing facts (truck location, real reason, revised ETA, whether the dock will still receive) are only available by phone from people the desk is authorized to call.

The skill is the reusable core of DockSignal: a call plan per contact role, a strict recipient_result_schema, an idempotency and webhook contract, and a deterministic rules table that turns provider-backed results into one recovery decision.

When To Use

  • A dock, receiving, or delivery appointment has been missed or is about to be missed
  • The operator has an existing relationship with the driver, carrier dispatch, and receiving contact and is authorized to call them
  • The desired output is a verified recovery card and, at most, one approval-gated follow-up call to request a dock exception or a new slot

When Not To Use

  • Cold outreach, marketing, or collections
  • Emergency, medical, legal, or financial calls; never call emergency services
  • Calling a number the operator did not supply and authorize
  • Automatically confirming, moving, cancelling, or pricing an appointment; that is always a separate human decision
  • Any workflow that needs a call to be cancelled after dispatch (the CALL-E Calls API has no cancel endpoint; keep waves small)

Required Inputs

  • incident_id: stable workflow identity, for example DS-1042
  • shipment_ref, cargo_description, promised_dock_at (ISO-8601), timezone (IANA)
  • last_known_location: what tracking last showed, offered to the assistant as context, never asserted
  • receiving_cutoff_at: optional cutoff on file; a dock-stated cutoff overrides it
  • org_name: the organisation the AI assistant says it is calling for
  • contacts[]: role (driver, dispatcher, receiving_dock), name, phone_e164, authorization_note, include
  • authorization_confirmed: must be true, recorded with the confirming operator

See assets/sample-incident.json for a fictional example using NANP test-range numbers.

Preflight

  1. Validate every phone as E.164 (^\+[1-9]\d{6,14}$) and reject emergency-number patterns.
  2. Show the operator each recipient, the goal, the questions, the boundaries, and the exact task text before any call.
  3. Derive one idempotency key per incident and contact: docksignal:{incident_id}:{contact_id}:fact_finding:v1. Persist the call task row with that key before calling CALL-E.
  4. Refuse to dispatch without authorization_confirmed: true and a valid server-side CALLE_API_KEY. There is no dry-run that fabricates a result; preview is the inspectable plan, and scripts/validate-result.mjs checks results offline.

CALL-E Task Templates

Driver (fact-finding):

text
You are an AI assistant calling on behalf of {org_name}. Say this in your first sentence.
You are calling about shipment {shipment_ref} ({cargo_description}), due at the receiving dock at {promised_dock_local} and now late.
You are calling {driver_name}, the driver. Confirm you are speaking with the driver for this load.
Ask: 1) where the truck is right now; 2) what caused the delay; 3) the exact clock time they expect to arrive (ask for a specific time, not a range; if a range, ask for the latest time); 4) what they will do next.
Record the arrival time exactly as stated; if only a vague estimate is given, leave it empty. Do not give routing instructions, promise a dock appointment, or discuss fees.
If voicemail or a wrong number, say a human operator from {org_name} will follow up and end the call.

Receiving dock (fact-finding):

text
You are an AI assistant calling on behalf of {org_name}. Say this in your first sentence.
You are calling {dock_contact} at the receiving dock about shipment {shipment_ref}, which missed its {promised_dock_local} window.
Ask: 1) whether the slot is still held; 2) the latest arrival clock time today at which the dock can still accept this load; 3) the options if the truck is later than that; 4) who can approve an exception or new slot.
Record the latest acceptable time exactly as stated; if none is given, leave it empty. Do not book, confirm, move, or cancel any appointment and do not agree to fees; say a human operator will call back to confirm anything that changes the appointment.

Receiving dock (follow-up, only after a human approval is recorded):

text
... A human operator, {approver}, at {org_name} has approved this request. The driver now expects to arrive at {revised_eta}. Earlier the dock said: "{dock_constraint}".
Ask whether the dock can accept the load at {revised_eta} as an exception, or the earliest alternative window, any conditions, and who will expect the truck.
Record any offered window as an exact clock time. If the dock mentions fees or penalties, record them and say the operator will confirm; do not agree to any charge. Never state that anything is confirmed unless the dock explicitly says so.

Structured Result

Send references/result-schema.json as recipient_result_schema on every call. Field semantics:

json
{
  "contact_role": "driver | dispatcher | receiving_dock | unknown",
  "reached": "yes | no | unknown",
  "shipment_recognized": "yes | no | unknown",
  "current_status": "free text, empty if not stated",
  "revised_eta": "exact clock time as stated ('16:40', '4:40 PM'); for the dock: its latest acceptable arrival time; empty if vague",
  "can_accept": "yes | no | conditional | unknown (dock and follow-up only)",
  "blocker": "delay reason or acceptance constraint, empty if none",
  "next_action": "what the contact will do or asked for, empty if none",
  "certainty": "high | medium | low | unknown"
}

Empty strings and unknown are unresolved. Only results from completed calls with reached = yes may become facts. null recipient results (call.result_validation_failed) and call.failed never do.

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

Reconciliation Contract

  1. Persist the returned call_task.id immediately, unique per task.
  2. Receive call.completed, call.failed, call.result_validation_failed at one HTTPS endpoint. Require CALL-E-Event-Id and reject when it differs from the body id.
  3. Store the event id before any side effect; a repeated id is a no-op.
  4. Fetch GET /v1/calls/{call_id} with the server key and apply that snapshot, not the webhook body.
  5. Poll open calls periodically as a safety net; never regress a terminal task on a stale non-terminal snapshot.

Decision Rules

Condition (facts from reached contacts only)BranchActionNeeds human
No usable result yetawaiting_resultswait–
Driver and dispatcher ETAs differeta_conflictedresolve manually; never pick oneyes (manual)
ETA is not an exact clock timeeta_unresolvedobtain exact ETA; never infer from vague speechyes (manual)
Dock can_accept = nodock_declinedfollow-up call: earliest alternative slotyes (approval before call)
ETA later than dock-stated (or intake) cutoffwindow_missedfollow-up call: request exception or new slot; notify dispatcheryes (approval before call)
ETA within cutoff and dock yes/conditionalwithin_windowdriver calls dock 30 min out; confirm any condition–
Dock not reached / cutoff unknowndock_unresolved / cutoff_unknownreach dock manuallyyes (manual)
Follow-up can_accept yes/conditionalexception_grantedrecord window, brief driver, close–

Confidence is the minimum of the used contacts' certainty and CALL-E completion_confidence, lowered when the cutoff came from intake or a key fact is unresolved. Every displayed fact carries its call id and evidence; see references/examples.md.

Cancellation And Idempotency

Idempotency keys are per incident and contact and are reused on every retry; concurrent launches race on a single database row claim. There is no cancellation after dispatch, so launch only the two or three contacts the operator confirmed and never auto-launch a second wave. Ambiguous or missing results route to a human; do not retry automatically.

Safety Notes

Read references/safety.md before placing a live call. Phone numbers must be masked in summaries and logs; the full number appears only in the operator's pre-dispatch confirmation.

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

  • SKILL.md
  • assets/sample-incident.json
  • assets/sample-result-driver.json
  • assets/sample-result-vague.json
  • references/examples.md
  • references/result-schema.json
  • references/safety.md
  • scripts/validate-result.mjs

Open the folder on GitHubat commit 38d4118

Compare with similar skills

Logistics Exception 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.

Logistics Exception compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Logistics Exception this skillCALLE-AI/awesome-phone-call-agents107—~2.2kAutomated safety check: PassMIT
Logistics Exception Managementaffaan-m/ECC276k4 repos~4.2kAutomated safety check: PassApache-2.0
Logistics Exception Managementsickn33/agentic-awesome-skills47k2 repos~4.3kAutomated safety check: PassMIT
Logistics Exception Managementaffaan-m/ECC276k2 repos~1.6kAutomated safety check: PassApache-2.0
PhoneBlockRunAI/ClawRouter6.6k—~2.4kAutomated safety check: PassMIT
Dock Certs AutomationComposioHQ/awesome-claude-skills77k3 repos~742Automated safety check: PassNone

Similar skills

  • Codified freight-exception handling expertise for shipment delays, damages, losses, shortages, and carrier disputes, with escalation protocols, carrier-specific behaviors by mode, claims procedures…

    276k GitHub starsUsed in 4 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Logistics Exception Management

    sickn33/agentic-awesome-skills

    Codified expertise for handling freight exceptions, shipment delays, damages, losses, and carrier disputes.

    47k GitHub starsUsed in 2 repos~4.3k tokens
    Auto-check passed
  • 针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。

    276k GitHub starsUsed in 2 repos~1.6k tokens
    Auto-check passed
  • 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 4 days ago
    Auto-check passed
  • Dock Certs Automation

    ComposioHQ/awesome-claude-skills

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

    77k GitHub starsUsed in 3 repos~742 tokens
    Productivity & AutomationAuto-check passed
  • Conflict resolution flow — understand the local git conflicts, present a resolution plan, and resolve them after the user approves it.

    61k GitHub stars~772 tokensUpdated today
    DevelopmentAuto-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 today
    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 today
    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 today
    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 today
    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 today
    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 today
    Auto-check passed

Questions about Logistics Exception

What does Logistics Exception do?

Resolve a delayed-shipment dock exception by phone with CALL-E. Logistics Exception is an agent skill from CALLE-AI/awesome-phone-call-agents. Resolve a delayed-shipment dock exception by phone with CALL-E.

How do I install Logistics Exception in Claude Code?

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

How do I install Logistics Exception in Codex?

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

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

What does Logistics Exception need to run?

Going by SKILL.md and its folder, Logistics Exception needs JavaScript for the scripts in its folder and credentials named CALLE_API_KEY. Our summary lists: Node.js; A credential in CALLE_API_KEY.

Does Logistics Exception access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Logistics Exception 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 Logistics Exception use?

Logistics Exception 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 Logistics Exception use?

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

What are the alternatives to Logistics Exception?

Skills that share tags, products or a category with Logistics Exception: Logistics Exception Management (affaan-m/ECC, 276k stars), Logistics Exception Management (sickn33/agentic-awesome-skills, 47k stars), Logistics Exception Management (affaan-m/ECC, 276k stars) and Phone (BlockRunAI/ClawRouter, 6.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Logistics Exception?

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.