Agent skill

Telnyx Verify Python

by majiayu000 in majiayu000/claude-skill-registry

Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP.

MITAuto-check passedBackend & APIs

Install Telnyx Verify Python

skills CLI
$ npx skills add majiayu000/claude-skill-registry --skill telnyx-verify-python -a claude-code

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

GitHub CLI
$ gh skill install majiayu000/claude-skill-registry telnyx-verify-python --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/majiayu000/claude-skill-registry.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/api/telnyx-verify-python .claude/skills/telnyx-verify-python && 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
telnyx-verify-python
GitHub stars
666
Used in
1 other repo
Token cost
~2.9k tokens
SKILL.md length
733 words
Files
2
Skills in repo
971
Repo updated
First seen
Licence
MIT

At a glance

Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP.

  • Phone verification and data enrichment
  • SKILL.md covers Installation, Setup, Error Handling and Important Notes, plus 17 more sections
  • Calls pip; needs TELNYX_API_KEY

What it does

Telnyx Verify Python is an agent skill from majiayu000/claude-skill-registry. Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP. Use for phone verification and data enrichment. This skill provides Python SDK examples.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `metadata.json`).

It sits in Backend & APIs. It works with Python. The repository describes itself as: Searchable Claude Code skills catalog with source-linked guides and generated registry artifacts. The licence is MIT.

When your agent uses it

  • Phone verification and data enrichment

Example prompts

  • “/telnyx-verify-python”

Requirements

  • Python 3
  • A credential in TELNYX_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 000116a. 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

    Shell commands in SKILL.md call:

    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • TELNYX_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Telnyx Verify Python loads about 2.9k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 733 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from majiayu000/claude-skill-registry at commit 000116a, republished under its MIT licence (© majiayu000). 733 words, ~2,930 tokens.

Download SKILL.mdSave it as .claude/skills/telnyx-verify-python/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
telnyx-verify-python
description
Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP. Use for phone verification and data enrichment. This skill provides Python SDK examples.
metadata.author
telnyx
metadata.product
verify
metadata.language
python
metadata.generated_by
telnyx-openapi-pipeline
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Verify - Python

Installation

bash
pip install telnyx

Setup

python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)

All examples below assume client is already initialized as shown above.

Error Handling

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:

python
import telnyx

try:
    result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
    print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
    # 429: rate limited — wait and retry with exponential backoff
    import time
    time.sleep(1)  # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
    print(f"API error {e.status_code}: {e.message}")
    if e.status_code == 422:
        print("Validation error — check required fields and formats")

Common error codes: 401 invalid API key, 403 insufficient permissions, 404 resource not found, 422 validation error (check field formats), 429 rate limited (retry with exponential backoff).

Important Notes

  • Phone numbers must be in E.164 format (e.g., +13125550001). Include the + prefix and country code. No spaces, dashes, or parentheses.
  • Pagination: List methods return an auto-paginating iterator. Use for item in page_result: to iterate through all pages automatically.

Lookup phone number data

Returns information about the provided phone number.

GET /number_lookup/{phone_number}

python
number_lookup = client.number_lookup.retrieve(
    phone_number="+18665552368",
)
print(number_lookup.data)

Returns: caller_name (object), carrier (object), country_code (string), fraud (string | null), national_format (string), phone_number (string), portability (object), record_type (string)

List verifications by phone number

GET /verifications/by_phone_number/{phone_number}

python
by_phone_numbers = client.verifications.by_phone_number.list(
    "+13035551234",
)
print(by_phone_numbers.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Verify verification code by phone number

POST /verifications/by_phone_number/{phone_number}/actions/verify — Required: code, verify_profile_id

python
verify_verification_code_response = client.verifications.by_phone_number.actions.verify(
    phone_number="+13035551234",
    code="17686",
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(verify_verification_code_response.data)

Returns: phone_number (string), response_code (enum: accepted, rejected)

Trigger Call verification

POST /verifications/call — Required: phone_number, verify_profile_id

Optional: custom_code (string | null), extension (string | null), timeout_secs (integer)

python
create_verification_response = client.verifications.trigger_call(
    phone_number="+13035551234",
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(create_verification_response.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Trigger Flash call verification

POST /verifications/flashcall — Required: phone_number, verify_profile_id

Optional: timeout_secs (integer)

python
create_verification_response = client.verifications.trigger_flashcall(
    phone_number="+13035551234",
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(create_verification_response.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Trigger SMS verification

POST /verifications/sms — Required: phone_number, verify_profile_id

Optional: custom_code (string | null), timeout_secs (integer)

python
create_verification_response = client.verifications.trigger_sms(
    phone_number="+13035551234",
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(create_verification_response.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Trigger WhatsApp verification

POST /verifications/whatsapp — Required: phone_number, verify_profile_id

Optional: custom_code (string | null), timeout_secs (integer)

python
create_verification_response = client.verifications.trigger_whatsapp_verification(
    phone_number="+13035551234",
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(create_verification_response.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Retrieve verification

GET /verifications/{verification_id}

python
verification = client.verifications.retrieve(
    "12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(verification.data)

Returns: created_at (string), custom_code (string | null), id (uuid), phone_number (string), record_type (enum: verification), status (enum: pending, accepted, invalid, expired, error), timeout_secs (integer), type (enum: sms, call, flashcall, whatsapp), updated_at (string), verify_profile_id (uuid)

Verify verification code by ID

POST /verifications/{verification_id}/actions/verify

Optional: code (string), status (enum: accepted, rejected)

python
verify_verification_code_response = client.verifications.actions.verify(
    verification_id="12ade33a-21c0-473b-b055-b3c836e1c292",
    code="12345",
)
print(verify_verification_code_response.data)

Returns: phone_number (string), response_code (enum: accepted, rejected)

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

List all Verify profiles

Gets a paginated list of Verify profiles.

GET /verify_profiles

python
page = client.verify_profiles.list()
page = page.data[0]
print(page.id)

Returns: call (object), created_at (string), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), id (uuid), language (string), name (string), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string), whatsapp (object)

Create a Verify profile

Creates a new Verify profile to associate verifications with.

POST /verify_profiles — Required: name

Optional: call (object), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), language (string), sms (object), webhook_failover_url (string), webhook_url (string), whatsapp (object)

python
verify_profile_data = client.verify_profiles.create(
    name="Test Profile",
)
print(verify_profile_data.data)

Returns: call (object), created_at (string), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), id (uuid), language (string), name (string), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string), whatsapp (object)

Retrieve Verify profile message templates

List all Verify profile message templates.

GET /verify_profiles/templates

python
response = client.verify_profiles.retrieve_templates()
print(response.data)

Returns: id (uuid), text (string)

Create message template

Create a new Verify profile message template.

POST /verify_profiles/templates — Required: text

python
message_template = client.verify_profiles.create_template(
    text="Your {{app_name}} verification code is: {{code}}.",
)
print(message_template.data)

Returns: id (uuid), text (string)

Update message template

Update an existing Verify profile message template.

PATCH /verify_profiles/templates/{template_id} — Required: text

python
message_template = client.verify_profiles.update_template(
    template_id="12ade33a-21c0-473b-b055-b3c836e1c292",
    text="Your {{app_name}} verification code is: {{code}}.",
)
print(message_template.data)

Returns: id (uuid), text (string)

Retrieve Verify profile

Gets a single Verify profile.

GET /verify_profiles/{verify_profile_id}

python
verify_profile_data = client.verify_profiles.retrieve(
    "12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(verify_profile_data.data)

Returns: call (object), created_at (string), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), id (uuid), language (string), name (string), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string), whatsapp (object)

Update Verify profile

PATCH /verify_profiles/{verify_profile_id}

Optional: call (object), daily_spend_limit (number), daily_spend_limit_enabled (boolean), language (string), name (string), sms (object), webhook_failover_url (string), webhook_url (string), whatsapp (object)

python
verify_profile_data = client.verify_profiles.update(
    verify_profile_id="12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(verify_profile_data.data)

Returns: call (object), created_at (string), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), id (uuid), language (string), name (string), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string), whatsapp (object)

Delete Verify profile

DELETE /verify_profiles/{verify_profile_id}

python
verify_profile_data = client.verify_profiles.delete(
    "12ade33a-21c0-473b-b055-b3c836e1c292",
)
print(verify_profile_data.data)

Returns: call (object), created_at (string), daily_spend_limit (number), daily_spend_limit_enabled (boolean), flashcall (object), id (uuid), language (string), name (string), record_type (enum: verification_profile), sms (object), updated_at (string), webhook_failover_url (string), webhook_url (string), whatsapp (object)

© majiayu000, 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 1 other file in skills/api/telnyx-verify-python of majiayu000/claude-skill-registry.

  • SKILL.md
  • metadata.json

Open the folder on GitHubat commit 000116a

Used in 1 other repository

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in majiayu000/claude-skill-registry, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Telnyx Verify Python 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.

Telnyx Verify Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telnyx Verify Python this skillmajiayu000/claude-skill-registry6661 repos~2.9kAutomated safety check: PassMIT
Zhihu Searchitwanger/toBeBetterJavaer18k—~1.5kAutomated safety check: PassNone
Billing Automationwshobson/agents40k12 repos~473Automated safety check: PassMIT
Trigger.dev Configurationpapermark/papermark9.2k—~1.2kAutomated safety check: PassCustom licence
AWS Serverless Edazxkane/aws-skills3674 repos~3.2kAutomated safety check: PassMIT
Fastcrudbenavlabs/fastcrud1.6k—~5kAutomated safety check: PassMIT

Similar skills

  • Zhihu Search

    itwanger/toBeBetterJavaer

    Search Zhihu for content using the searchv3 API. An agent skill from itwanger/toBeBetterJavaer.

    18k GitHub stars~1.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Billing Automation

    wshobson/agents

    Covers building subscription billing: billing cycles, subscription states, invoice generation, proration, tax handling and dunning for failed payments.

    40k GitHub starsUsed in 12 repos~473 tokens
    Backend & APIsAuto-check passed
  • Trigger.dev Configuration

    papermark/papermark

    Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.

    9.2k GitHub stars~1.2k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • AWS Serverless Eda

    zxkane/aws-skills

    AWS serverless and event-driven architecture expert based on Well-Architected Framework.

    367 GitHub starsUsed in 4 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Fastcrud

    benavlabs/fastcrud

    A skill your agent uses when building or modifying CRUD endpoints with FastCRUD (the fastcrud PyPI package) in a FastAPI project — covers FastCRUD, crudrouter, EndpointCreator, FilterConfig…

    1.6k GitHub stars~5k tokensUpdated 13 days ago
    Backend & APIsAuto-check passed
  • Gemini Live API Dev

    google-gemini/gemini-skills

    Official

    A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.

    4.3k GitHub stars~4.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from majiayu000/claude-skill-registry

All 971 skills in this repo
  • Deep Research

    majiayu000/claude-skill-registry

    Multi-source deep research using firecrawl and exa MCPs. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 6 repos~1.1k tokens
    Auto-check passed
  • Exa Search

    majiayu000/claude-skill-registry

    Neural search via Exa MCP for web, code, and company research.

    666 GitHub starsUsed in 5 repos~856 tokens
    Auto-check passed
  • Fal AI Media

    majiayu000/claude-skill-registry

    Unified media generation via fal.ai MCP — image, video, and audio.

    666 GitHub starsUsed in 5 repos~1.7k tokens
    Auto-check passed
  • Bgpt Paper Search

    majiayu000/claude-skill-registry

    Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server.

    666 GitHub starsUsed in 4 repos~619 tokens
    Auto-check: notes
  • Bio Alignment Pairwise

    majiayu000/claude-skill-registry

    Perform pairwise sequence alignment using Biopython Bio.Align.PairwiseAligner.

    666 GitHub starsUsed in 4 repos~1.7k tokens
    Auto-check passed
  • Open Notebook

    majiayu000/claude-skill-registry

    Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis.

    666 GitHub starsUsed in 4 repos~2.4k tokens
    Auto-check passed

Works with

Categories

Questions about Telnyx Verify Python

What does Telnyx Verify Python do?

Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP. Telnyx Verify Python is an agent skill from majiayu000/claude-skill-registry. Look up phone number information (carrier, type, caller name) and verify users via SMS/voice OTP.

When should I use Telnyx Verify Python?

Telnyx Verify Python fits situations like: phone verification and data enrichment.

How do I install Telnyx Verify Python in Claude Code?

Run `npx skills add majiayu000/claude-skill-registry --skill telnyx-verify-python -a claude-code`. Or copy the skill folder (skills/api/telnyx-verify-python in majiayu000/claude-skill-registry) into .claude/skills/telnyx-verify-python in your project. Claude Code loads it when a task matches its description.

How do I install Telnyx Verify Python in Codex?

Run `npx skills add majiayu000/claude-skill-registry --skill telnyx-verify-python -a codex`. Or copy the skill folder (skills/api/telnyx-verify-python in majiayu000/claude-skill-registry) into .agents/skills/telnyx-verify-python in your project. Codex loads it when a task matches its description.

Can I use Telnyx Verify Python 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 majiayu000/claude-skill-registry --skill telnyx-verify-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/telnyx-verify-python, .gemini/skills/telnyx-verify-python, .github/skills/telnyx-verify-python and .opencode/skills/telnyx-verify-python in your project.

What does Telnyx Verify Python need to run?

Going by SKILL.md and its folder, Telnyx Verify Python needs the command-line tools its instructions call (pip) and credentials named TELNYX_API_KEY. Our summary lists: Python 3; A credential in TELNYX_API_KEY.

Does Telnyx Verify Python access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Telnyx Verify Python 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. Review the folder before installing.

What licence does Telnyx Verify Python use?

Telnyx Verify Python is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Telnyx Verify Python use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Telnyx Verify Python?

Skills that share tags, products or a category with Telnyx Verify Python: Zhihu Search (itwanger/toBeBetterJavaer, 18k stars), Billing Automation (wshobson/agents, 40k stars), Trigger.dev Configuration (papermark/papermark, 9.2k stars) and AWS Serverless Eda (zxkane/aws-skills, 367 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telnyx Verify Python?

majiayu000 (a GitHub user) maintains it in majiayu000/claude-skill-registry, which has 666 GitHub stars. The repository holds 971 skills in this directory. The repository was last updated on October 7, 2026.

Source: majiayu000/claude-skill-registry on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.