Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add CALLE-AI/awesome-phone-call-agents --skill provenance-gradegit clone --depth 1 https://github.com/CALLE-AI/awesome-phone-call-agentsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/calle-ai/awesome-phone-call-agents/provenance-grade)<a href="https://agentmods.dev/skills/calle-ai/awesome-phone-call-agents/provenance-grade"><img src="https://agentmods.dev/badge/skills/calle-ai/awesome-phone-call-agents/provenance-grade/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/calle-ai/awesome-phone-call-agents/provenance-grade"><img src="https://agentmods.dev/badge/skills/calle-ai/awesome-phone-call-agents/provenance-grade.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.02337 |
| Opus 5.5 | $0.00015 | $0.00935 |
| Sonnet 5.5 | $0.00007 | $0.00467 |
| Haiku 4.5 | $0.00004 | $0.00234 |
Grade A, and why
provenance-grade scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 207 lines — stays where its author put it; the contents beside it link to each section on GitHub.
provenance-grade
Every phone agent extracts what was said and throws away how the speaker knew it.
Speech carries the speaker's epistemic state; text hides it. Structured extraction
throws that signal away. This skill puts it back: it reads
recipients[i].attempts[j].transcript_turns from a completed CALL-E call and attaches
a knowledge grade to every extracted field, with the exact transcript span that
supports it.
This skill never places calls: it lints a task before a host dispatches it and grades a transcript after a call has completed. It contains no dialing code, no phone numbers, and no network calls of any kind.
Two calls can both answer "Tuesday." In one, the person said "hold on, let me
check", went quiet for eleven seconds, and came back with "Tuesday — we're holding
eleven units at the Bhiwandi warehouse." In the other, they said "should be
Tuesday" half a second after the question. Same extracted value. Completely different
knowledge. The first is verified; the second is assumed — and if your workflow
auto-commits on the second one, the extraction was correct and the answer was still
wrong.
Why this is not a duplicate of anything in this repo
CALL-E already returns completion_confidence — but by its own documentation that is
confidence that the task reached a clear end state, explicitly not confidence in
the quality of the business answer. That is a documented, self-acknowledged gap, and
this skill fills exactly it.
Against the other skills here: call-summarizer summarises after the fact.
voice-preflight checks audio before the call. linecanary monitors line health.
Nothing grades the epistemic basis of a spoken claim.
The grades
| Grade | Meaning |
|---|---|
verified |
The heuristic detects a lookup pause or explicit check language, plus an unrequested corroborating specific, plus read-back compliance where requested. This label is not proof that a lookup occurred or that the answer is true. |
asserted |
Answered directly and cleanly, but nothing established where the value came from. |
assumed |
Hedged, deferred, misaligned with the question, or a bare round number. The call did not establish this value. |
unstated |
The field never appeared in the transcript (voicemail, IVR, unanswered question). Never a grade — there is nothing to grade. |
What ships with it
53 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 14 B
- assets/fixtures/01-verified-weekday-stock-hold.json 1.1 KB
- assets/fixtures/02-verified-price-invoice.json 991 B
- assets/fixtures/03-asserted-direct-eta.json 813 B
- assets/fixtures/04-asserted-direct-price.json 813 B
- assets/fixtures/05-assumed-hedged-weekday.json 867 B
- assets/fixtures/06-assumed-hedged-eta.json 821 B
- assets/fixtures/07-assumed-deferral-warranty.json 866 B
- assets/fixtures/08-assumed-deferral-colleague.json 869 B
- assets/fixtures/09-assumed-misaligned-price.json 849 B
- assets/fixtures/10-assumed-misaligned-eta.json 848 B
- assets/fixtures/11-unstable-selfcorrect-eta.json 916 B
- assets/fixtures/12-unstable-selfcorrect-price.json 1.1 KB
- assets/fixtures/13-verified-readback-complied-price.json 1.3 KB
- assets/fixtures/14-verified-readback-complied-date.json 1.3 KB
- assets/fixtures/15-asserted-readback-refused-price.json 1.3 KB
- assets/fixtures/16-asserted-readback-refused-date.json 1.2 KB
- assets/fixtures/17-unstated-voicemail-eta.json 706 B
- assets/fixtures/18-unstated-voicemail-price.json 655 B
- assets/fixtures/19-unstated-ivr-eta.json 666 B
- assets/fixtures/20-unstated-ivr-price.json 742 B
- assets/fixtures/21-assumed-round-days.json 831 B
- assets/fixtures/22-assumed-round-week.json 812 B
- assets/fixtures/23-codeswitch-hindi-hedge-missed.json 1001 B
- assets/fixtures/24-codeswitch-english-hedge-caught.json 881 B
- package-lock.json 52 KB
- package.json 555 B
- references/ethics.md 2.1 KB
- references/examples.md 3.0 KB
- references/limitations.md 3.0 KB
- references/safety.md 2.6 KB
- references/signals.md 5.0 KB
- scripts/eval.ts 3.1 KB runs code
- scripts/fixtures.ts 1.3 KB runs code
- scripts/grade.ts 5.1 KB runs code
- scripts/lexicon.ts 1020 B runs code
- scripts/lexicon/en.json 1.2 KB
- scripts/lexicon/hi.json 895 B
- scripts/lint-task.ts 3.0 KB runs code
- scripts/signals/a-retrieval-gap.ts 1.3 KB runs code
- scripts/signals/b-check-language.ts 953 B runs code
- scripts/signals/c-corroboration.ts 1.5 KB runs code
- scripts/signals/d-hedging.ts 598 B runs code
- scripts/signals/e-deferral.ts 935 B runs code
- scripts/signals/entities.ts 5.0 KB runs code
- scripts/signals/f-readback.ts 1.8 KB runs code
- scripts/signals/g-round-number.ts 1.5 KB runs code
- scripts/signals/h-alignment.ts 1.3 KB runs code
- scripts/signals/i-self-correction.ts 1.1 KB runs code
- scripts/types.ts 2.5 KB runs code
- test/grade.test.ts 5.3 KB runs code
- test/signals.test.ts 7.8 KB runs code
- tsconfig.json 381 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 207 lines · 37 tokens per session scan A 00084c558dc4
provenance-grade is a skill published in the GitHub repository CALLE-AI/awesome-phone-call-agents (109 stars, last pushed yesterday), licensed MIT. It adds 37 tokens to every session and 2,337 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-16.
Other skills, from other repositories
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route and entry point at a time; the shipped test then guards…