Logistics Exception Management
affaan-m/ECC
Codified freight-exception handling expertise for shipment delays, damages, losses, shortages, and carrier disputes, with escalation protocols, carrier-specific behaviors by mode, claims procedures…
Resolve a delayed-shipment dock exception by phone with CALL-E.
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exception --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .claude/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exceptionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exception --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/logistics-exception .agents/skills/logistics-exception && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .agents/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exception --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/logistics-exception .cursor/skills/logistics-exception && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .cursor/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/CALLE-AI/awesome-phone-call-agents.git --path skills/logistics-exception--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exception --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/logistics-exception .gemini/skills/logistics-exception && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .gemini/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exceptionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/logistics-exception .github/skills/logistics-exception && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .github/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add CALLE-AI/awesome-phone-call-agents --skill logistics-exception -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install CALLE-AI/awesome-phone-call-agents logistics-exception --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/logistics-exception .opencode/skills/logistics-exception && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "logistics-exception" agent skill from https://github.com/CALLE-AI/awesome-phone-call-agents/tree/main/skills/logistics-exception into .opencode/skills/logistics-exception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "logistics-exception", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
logistics-exceptionResolve 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 38d4118. It shows what the files ask for, not the result of running them.
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.
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.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CALLE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.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.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.
incident_id: stable workflow identity, for example DS-1042shipment_ref, cargo_description, promised_dock_at (ISO-8601), timezone (IANA)last_known_location: what tracking last showed, offered to the assistant as context, never assertedreceiving_cutoff_at: optional cutoff on file; a dock-stated cutoff overrides itorg_name: the organisation the AI assistant says it is calling forcontacts[]: role (driver, dispatcher, receiving_dock), name, phone_e164, authorization_note, includeauthorization_confirmed: must be true, recorded with the confirming operatorSee assets/sample-incident.json for a fictional example using NANP test-range numbers.
^\+[1-9]\d{6,14}$) and reject emergency-number patterns.docksignal:{incident_id}:{contact_id}:fact_finding:v1. Persist the call task row with that key before calling CALL-E.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.Driver (fact-finding):
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):
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):
... 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.Send references/result-schema.json as recipient_result_schema on every call. Field semantics:
{
"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.
call_task.id immediately, unique per task.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.GET /v1/calls/{call_id} with the server key and apply that snapshot, not the webhook body.| Condition (facts from reached contacts only) | Branch | Action | Needs human |
|---|---|---|---|
| No usable result yet | awaiting_results | wait | – |
| Driver and dispatcher ETAs differ | eta_conflicted | resolve manually; never pick one | yes (manual) |
| ETA is not an exact clock time | eta_unresolved | obtain exact ETA; never infer from vague speech | yes (manual) |
Dock can_accept = no | dock_declined | follow-up call: earliest alternative slot | yes (approval before call) |
| ETA later than dock-stated (or intake) cutoff | window_missed | follow-up call: request exception or new slot; notify dispatcher | yes (approval before call) |
| ETA within cutoff and dock yes/conditional | within_window | driver calls dock 30 min out; confirm any condition | – |
| Dock not reached / cutoff unknown | dock_unresolved / cutoff_unknown | reach dock manually | yes (manual) |
Follow-up can_accept yes/conditional | exception_granted | record 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.
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.
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
SKILL.md and 7 other files (scripts, references, assets) in skills/logistics-exception of CALLE-AI/awesome-phone-call-agents.
Open the folder on GitHubat commit 38d4118
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Logistics Exception this skillCALLE-AI/awesome-phone-call-agents | 107 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Logistics Exception Managementaffaan-m/ECC | 276k | 4 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Logistics Exception Managementsickn33/agentic-awesome-skills | 47k | 2 repos | ~4.3k | Automated safety check: Pass | MIT | |
| Logistics Exception Managementaffaan-m/ECC | 276k | 2 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| PhoneBlockRunAI/ClawRouter | 6.6k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Dock Certs AutomationComposioHQ/awesome-claude-skills | 77k | 3 repos | ~742 | Automated safety check: Pass | None |
affaan-m/ECC
Codified freight-exception handling expertise for shipment delays, damages, losses, shortages, and carrier disputes, with escalation protocols, carrier-specific behaviors by mode, claims procedures…
sickn33/agentic-awesome-skills
Codified expertise for handling freight exceptions, shipment delays, damages, losses, and carrier disputes.
affaan-m/ECC
针对货运异常、货物延误、损坏、丢失和承运商纠纷的编码化专业知识,由拥有15年以上运营经验的物流专业人士提供。包括升级协议、承运商特定行为、索赔程序和判断框架。在处理运输异常、货运索赔、交付问题或承运商纠纷时使用。
BlockRunAI/ClawRouter
Verify phone numbers (carrier + SIM-swap fraud signals) and place AI-powered outbound voice calls via BlockRun's gateway (Twilio + Bland.ai).
ComposioHQ/awesome-claude-skills
Automate Dock Certs tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.
penpot/penpot
Conflict resolution flow — understand the local git conflicts, present a resolution plan, and resolve them after the user approves it.
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.
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…
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…
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…
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…
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…
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.
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.
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.
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.
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.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.