Agent skill

Verify By Phone

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

Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated…

MITAuto-check passed

Install Verify By Phone

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

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

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

At a glance

Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated…

  • Works in 6 steps: The call opens by stating the AI… → If the respondent objects to speaking… → Hold time is capped. If the respondent… → …
  • Stored information about a business must be checked against reality by phone
  • SKILL.md covers When To Use, When Not To Use, Consent And Disclosure Rules and Verification Workflow, plus 6 more sections
  • Runs Python scripts from its folder; calls python3; needs CALLE_API_KEY

What it does

Verify By Phone is an agent skill from CALLE-AI/awesome-phone-call-agents. Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated confidence or an explicit abstention. Use when stored information about a business must be checked against reality by phone, such as provider directory entries, accepting-new-patients status, insurance participation, hours, or availability, and when a wrong answer is more costly than no answer.

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

  • Stored information about a business must be checked against reality by phone
  • Such as provider directory entries
  • Accepting-new-patients status
  • Insurance participation

Example prompts

  • “/verify-by-phone”

Requirements

  • Python 3
  • A credential in CALLE_API_KEY

Workflow steps

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

  1. The call opens by stating the AI identity and the purpose together, before anything else, and announces that the call may be recorded.
  2. If the respondent objects to speaking with an automated caller, the call thanks them and ends immediately. The result records the refusal…
  3. Hold time is capped. If the respondent asks the caller to wait, it waits briefly, then reports back rather than waiting indefinitely.
  4. The agent never invents information it was not given, on the call or in the result. Concretely: a clinic will often ask the caller for a…
  5. Voicemail is not an answer. On reaching voicemail or an answering machine the call ends immediately without leaving a message: a directory…
  6. Calls are informational verification, never promotional. Treat every call as recorded with all-party consent requirements in mind.

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 8 files 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 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

Verify By Phone loads about 3.1k tokens when it runs, and up to ~9.2k if it reads all its reference files. Until then it costs about 128 tokens; SKILL.md has 1,552 words of instructions outside code blocks.

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

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,552 words, ~3,148 tokens.

Download SKILL.mdSave it as .claude/skills/verify-by-phone/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
verify-by-phone
description
Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated confidence or an explicit abstention. Use when stored information about a business must be checked against reality by phone, such as provider directory entries, accepting-new-patients status, insurance participation, hours, or availability, and when a wrong answer is more costly than no answer.
license
MIT

Verify By Phone

Use this skill when an agent must establish whether stored information about an organization is still true, and a phone call to the organization's published line is the way to find out.

verify-by-phone is a verification workflow skill. It places exactly one disclosed outbound CALL-E call per record, extracts the answer from the transcript with a verbatim supporting span, reconciles it against the stored record with transparent match-weight arithmetic, and returns either a calibrated confidence or an explicit abstention. The design goal is an agent that never converts an uncertain phone answer into a confident database write.

When To Use

Use this skill for:

  • verifying a provider directory listing: is this practice real, reachable, accepting new patients, taking a given insurance plan
  • checking whether a stored business record (hours, services, availability) still matches reality
  • refreshing any dataset where the phone is the source of truth and the record is suspected stale
  • workflows where an "unknown" outcome must be recorded honestly instead of guessed
  • one record at a time, with a human-authorized recipient list

When Not To Use

Do not use this skill to:

  • place undisclosed or pretext calls; every call announces that it is an automated assistant and why it is calling, in the same breath
  • call wireless or personal numbers; verification targets published organizational lines
  • run marketing, sales, lead generation, or any promotional outreach
  • batch-dial a list without per-record human authorization
  • overwrite a stored record directly from a call result; the output is a verdict with evidence, and the write decision stays with the operator
  • guess an answer the respondent did not give; if the call yields no usable answer, the result is an abstention, and that is the correct output

These are load-bearing, not boilerplate:

  1. The call opens by stating the AI identity and the purpose together, before anything else, and announces that the call may be recorded.
  2. If the respondent objects to speaking with an automated caller, the call thanks them and ends immediately. The result records the refusal as an unverifiable outcome.
  3. Hold time is capped. If the respondent asks the caller to wait, it waits briefly, then reports back rather than waiting indefinitely.
  4. The agent never invents information it was not given, on the call or in the result. Concretely: a clinic will often ask the caller for a name, a date of birth, an insurance member or card number, or a reason for the visit. The agent says plainly that it does not have that information, because this is a directory verification call and not an appointment request, and then repeats the question it called to ask. A placeholder is an invention.
  5. Voicemail is not an answer. On reaching voicemail or an answering machine the call ends immediately without leaving a message: a directory fact cannot be established from a recording, and nobody should find a robot message on their line.
  6. Calls are informational verification, never promotional. Treat every call as recorded with all-party consent requirements in mind.

Verification Workflow

  1. Calibrate the abstention threshold first, with scripts/calibrate.py on labeled scenario data, so "confident" means something measurable: at the default level, the true answer falls inside the prediction set at least 90 percent of the time on held-out data. It prints a qhat that step 6 consumes. This runs with no credentials and no calls, so it can be done once, ahead of any dialing.
  2. Collect the record to verify: organization name, published phone number in E.164, and the claims to check (for example accepting new patients, accepts a named plan).
  3. Confirm the operator authorizes this specific call to this specific number.
  4. Build the call task with scripts/place_verify_call.py. The script defaults to a dry run that prints the exact task and recipient without dialing; pass --live only after the dry run looks right.
  5. Poll with scripts/poll_result.py until result_status is no longer pending, even if execution already says completed. It saves the full Calls V2 payload to a private local file. An unavailable result is a normal outcome; extraction still reads any recorded transcript.
  6. Extract the answer with scripts/extract_answer.py --qhat from step 1. Every extracted field carries the verbatim transcript span and character offsets that support it. Hedged answers ("I think so") keep their polarity at a dampened trust score. Non-responsive turns (wrong number, refusal, "call back later") never count as answers. The answer is served only when the calibrated prediction set is a single value and that value is not "unknown"; otherwise the result is an abstention. Omitting --qhat abstains on everything and labels the output uncalibrated, because a threshold with no calibration behind it guarantees nothing.
  7. Reconcile against the stored record with scripts/reconcile_record.py: each agreeing field adds documented bits of evidence, each disagreeing field subtracts them, and the verdict is verified, contradicted, or unverifiable.

Maintenance Note

The scripts in this skill are self-contained copies of the reference implementation in the Attest backend (backend/app in the source repository). They are kept small on purpose so the skill installs with no dependencies on that repository.

That copy is enforced, not promised. tests/test_skill_parity.py in the source repository runs this skill's extractor and the backend's over the same transcripts and fails if they disagree on the answer, on the character offsets of the cited span, or on the cue lexicons themselves. An earlier version of this note asked a human to re-sync by hand, and the copy drifted anyway: the backend learned to trust the last cue in a turn and to read "no problem" as agreement while this script still trusted the first, so a plain "No, we are not" abstained here and answered there.

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

Requirements

What you are doingMinimum PythonDependencies
Dry run, calibration, extraction, reconciliation, offline tests3.9Standard library only
Creating or polling a live call3.11Published calle-ai==1.0.1 and CALLE_API_KEY

scripts/verify_attestation.py additionally needs cryptography. It is optional and is not part of the verification workflow.

Quick Start

bash
python3 -m pip install calle-ai==1.0.1

# 1. Calibrate the gate first. Prints the qhat step 5 needs.
python3 scripts/calibrate.py --data references/sample-scenarios.jsonl --alpha 0.1

# 2. Dry run: prints the task and masked recipient, dials nothing.
python3 scripts/place_verify_call.py \
  --org "Example Counseling Center" \
  --phone "+15550101234" \
  --claim-accepting-new-patients yes \
  --claim-plan "Example Health PPO"

# 3. After authorizing the specific published organizational line, set
#    VERIFY_ORG and VERIFY_PHONE to its actual name and E.164 number.
#    Requires CALLE_API_KEY. Do not dial the fictional dry-run number.
python3 scripts/place_verify_call.py \
  --org "$VERIFY_ORG" --phone "$VERIFY_PHONE" \
  --claim-accepting-new-patients yes --claim-plan "Example Health PPO" \
  --state verify-call.json --live

# 4. Use the API id printed above; wait until result_status is no longer pending.
python3 scripts/poll_result.py --call-id call_abc123 --out result.json

# 5. Extract the span-grounded answer. --org is required: an answer is only
#    evidence about this listing if the respondent confirmed they ARE it.
python3 scripts/extract_answer.py --payload result.json --qhat 0.750 \
  --org "Example Counseling Center"

# 6. Reconcile against the stored record. Same --qhat and --org as step 5:
#    reconciliation runs extraction itself, and without either every field abstains.
python3 scripts/reconcile_record.py --payload result.json --qhat 0.750 \
  --org "Example Counseling Center" \
  --claim-accepting-new-patients yes --claim-plan-accepted yes

Steps 5 and 6 run against the bundled references/sample-call.json if you want to see real output before placing any call.

All literal sample numbers in this skill are fictional and must not be dialed. Dry runs and steps 1, 5 and 6 using the bundled fixture need no credentials or network. Step 4 uses the live API and credentials but places no call.

The first live run saves the original request and idempotency key to --state before sending it, then adds the API Call ID after acceptance. Retry with the same arguments and state file, including after a timeout or across a UTC-date boundary. Keep the request unchanged; the script refuses a state file belonging to different input. For an intentionally new call, use a different state path and a fresh --idempotency-key; the default key deduplicates identical same-day requests. The state file includes the unmasked phone number and is written mode 0600.

Run the offline migration checks with python3 scripts/test_calls_v2.py.

These conditions make a claim abstain no matter how clearly it was answered:

  1. No calibrated threshold (--qhat missing). There is no coverage guarantee to answer behind.
  2. Identity not positively confirmed. Absence of a denial is not confirmation. Wrong numbers, answering services and reassigned lines all produce cooperative respondents who are not the listing.
  3. Both questions asked in one turn. A single "Yes" cannot be split between two claims after the fact, so it is attributed to neither. The call script asks one question at a time to avoid this.
  4. A V2 transcript contains an unknown speaker. An unattributed turn may be the agent rather than the respondent. The entire call abstains until speaker attribution is reliable; the saved transcript is retained unchanged.

What The Output Looks Like

extract_answer.py emits one JSON object per claim:

json
{
  "claim": "accepting_new_patients",
  "answer": "yes",
  "trust_score": 0.9,
  "hedged": false,
  "span": {"turn": 6, "text": "Yep.", "char_start": 0, "char_end": 3},
  "abstain": false,
  "gate": "conformal(qhat=0.750)"
}

An abstention keeps the same shape with "abstain": true, either because the calibrated prediction set held more than one label or because the extractor found no answer at all ("answer": "unknown"). The gate field names the threshold that made the decision, and reads uncalibrated when no --qhat was supplied, which is the one case where every claim abstains regardless of what was said. reconcile_record.py adds the match-weight arithmetic and a verdict. No field ever appears without either a supporting span or an explicit abstention.

Side Effects And Cancellation

  • Side effect: at most one new outbound call per --live invocation, to the authorized number. Replaying the saved request returns the existing call. Nothing recurs; there is no scheduler in this skill.
  • Cost: a new live call can incur CALL-E charges; use Dashboard Billing for actual fees. Dry runs place no call.
  • Cancellation: stop before --live whenever possible. Calls V2 supports client.calls.cancel(id) before provider submission; once submission starts it returns 409 call_cannot_cancel and cannot hang up an active call. Stopping the polling script does not cancel the call.
  • Data: payloads are written to local files the operator names. Phone numbers are masked in console output. Nothing in this skill transmits results anywhere except the CALL-E API itself.

References

  • references/api-notes.md: the Calls V2 request, result readiness, transcript, retry and cancellation contract used by this skill.
  • references/verification-protocol.md: the full disclosure script, the legal posture for outbound verification calls, and why abstention is the core design decision.
  • references/sample-scenarios.jsonl: labeled fictional scenario data used by scripts/calibrate.py, so calibration runs with no credentials and 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 15 other files (scripts, references) in skills/verify-by-phone of CALLE-AI/awesome-phone-call-agents.

  • SKILL.md
  • .gitignore
  • references/api-notes.md
  • references/examples.md
  • references/safety.md
  • references/sample-call.json
  • references/sample-scenarios.jsonl
  • references/verification-protocol.md
  • scripts/calibrate.py
  • scripts/extract_answer.py
  • scripts/gate.py
  • scripts/place_verify_call.py
  • scripts/poll_result.py
  • scripts/reconcile_record.py
  • scripts/test_calls_v2.py
  • scripts/verify_attestation.py

Open the folder on GitHubat commit 38d4118

Compare with similar skills

Verify By Phone 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.

Verify By Phone compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify By Phone this skillCALLE-AI/awesome-phone-call-agents107—~3.1kAutomated safety check: PassMIT
Detecting Directory Listingjeremylongshore/tons-of-skills-marketplace2.8k—~1.8kAutomated safety check: NotesMIT
Recordingcodewhale-hq/Codewhale41k—~540Automated safety check: PassMIT
PhoneBlockRunAI/ClawRouter6.6k—~2.4kAutomated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC277k4 repos~1.8kAutomated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC277k1 repos~863Automated safety check: PassMIT

Similar skills

  • Detecting Directory Listing

    jeremylongshore/tons-of-skills-marketplace

    Probe a target for directories that return auto-generated index listings instead of denying or serving a specific file — exposes the full file tree under any reachable directory, including files the…

    2.8k GitHub stars~1.8k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Recording

    codewhale-hq/Codewhale

    Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures.

    41k GitHub stars~540 tokensUpdated today
    Productivity & AutomationAuto-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 5 days ago
    Auto-check passed
  • Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README.

    277k GitHub starsUsed in 4 repos~1.8k tokens
    DevelopmentAuto-check passed
  • 在Claude Code会话期间,将做出的架构决策捕获为结构化的架构决策记录(ADR)。自动检测决策时刻,记录上下文、考虑的替代方案和理由。维护一个ADR日志,以便未来的开发人员理解代码库为何以当前方式构建。

    277k GitHub starsUsed in 1 repo~863 tokens
    DevelopmentAuto-check passed
  • コーディングセッション中にアーキテクチャ決定を構造化ADRとして記録し、自動的に決定の瞬間を検出し、コンテキスト、検討された代替案、根拠を記録します。今後の開発者がコードベースの形成理由を理解するためのADRログを維持します。

    276k GitHub stars~1.1k tokensUpdated yesterday
    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 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 Verify By Phone

What does Verify By Phone do?

Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated…. Verify By Phone is an agent skill from CALLE-AI/awesome-phone-call-agents. Verify a directory listing, database record, or any published claim about an organization by placing one disclosed CALL-E phone call and returning a span-grounded structured answer with a calibrated confidence or an explicit abstention.

When should I use Verify By Phone?

Verify By Phone fits situations like: stored information about a business must be checked against reality by phone; such as provider directory entries; accepting-new-patients status; insurance participation.

How do I install Verify By Phone in Claude Code?

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

How do I install Verify By Phone in Codex?

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

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

What does Verify By Phone need to run?

Going by SKILL.md and its folder, Verify By Phone needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named CALLE_API_KEY. Our summary lists: Python 3; A credential in CALLE_API_KEY.

Does Verify By Phone 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 Verify By Phone 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 Verify By Phone use?

Verify By Phone 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 Verify By Phone use?

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

What are the alternatives to Verify By Phone?

Skills that share tags, products or a category with Verify By Phone: Detecting Directory Listing (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Recording (codewhale-hq/Codewhale, 41k stars), Phone (BlockRunAI/ClawRouter, 6.6k stars) and Architecture Decision Records (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verify By Phone?

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.