Agent skill

Telnyx Messaging Hosted Ruby

by team-telnyx in team-telnyx/ai

Set up hosted SMS numbers, toll-free verification, and RCS messaging.

MITAuto-check passedBackend & APIs

Install Telnyx Messaging Hosted Ruby

skills CLI
$ npx skills add team-telnyx/ai --skill telnyx-messaging-hosted-ruby -a claude-code

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

GitHub CLI
$ gh skill install team-telnyx/ai telnyx-messaging-hosted-ruby --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/team-telnyx/ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/telnyx-messaging-hosted-ruby .claude/skills/telnyx-messaging-hosted-ruby && 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-messaging-hosted-ruby
GitHub stars
220
Token cost
~5.1k tokens
SKILL.md length
1,132 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Set up hosted SMS numbers, toll-free verification, and RCS messaging.

  • Migrating numbers
  • SKILL.md covers Installation, Setup, Error Handling and Important Notes, plus 24 more sections
  • Calls gem; reaches client.com; needs TELNYX_API_KEY
  • Enabling rich messaging features

What it does

Telnyx Messaging Hosted Ruby is an agent skill from team-telnyx/ai. Set up hosted SMS numbers, toll-free verification, and RCS messaging. Use when migrating numbers or enabling rich messaging features. This skill provides Ruby SDK examples.

Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs. It works with Ruby. The repository describes itself as: Official one-stop shop for AI Agents and developers building with Telnyx. The licence is MIT.

When your agent uses it

  • Migrating numbers
  • Enabling rich messaging features

Example prompts

  • “/telnyx-messaging-hosted-ruby”

Requirements

  • A credential in TELNYX_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 4d2ace0. 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:

    • gem

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • client.com

    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 Messaging Hosted Ruby loads about 5.1k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 1,132 words of instructions outside code blocks.

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

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 team-telnyx/ai at commit 4d2ace0, republished under its MIT licence (© team-telnyx). 1,132 words, ~5,064 tokens.

Download SKILL.mdSave it as .claude/skills/telnyx-messaging-hosted-ruby/SKILL.md (or your agent's skills folder).
name
telnyx-messaging-hosted-ruby
description
Set up hosted SMS numbers, toll-free verification, and RCS messaging. Use when migrating numbers or enabling rich messaging features. This skill provides Ruby SDK examples.
metadata.author
telnyx
metadata.product
messaging-hosted
metadata.language
ruby
metadata.generated_by
telnyx-openapi-pipeline
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->

Telnyx Messaging Hosted - Ruby

Installation

bash
gem install telnyx

Setup

ruby
require "telnyx"

client = Telnyx::Client.new(
  api_key: ENV["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:

ruby
begin
  result = client.messages.send_(to: "+13125550001", from: "+13125550002", text: "Hello")
rescue Telnyx::Errors::APIConnectionError
  puts "Network error — check connectivity and retry"
rescue Telnyx::Errors::RateLimitError
  # 429: rate limited — wait and retry with exponential backoff
  sleep(1) # Check Retry-After header for actual delay
rescue Telnyx::Errors::APIStatusError => e
  puts "API error #{e.status}: #{e.message}"
  if e.status == 422
    puts "Validation error — check required fields and formats"
  end
end

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: Use .auto_paging_each for automatic iteration: page.auto_paging_each { |item| puts item.id }.

Send an RCS message

POST /messages/rcs — Required: agent_id, to, messaging_profile_id, agent_message

Optional: mms_fallback (object), sms_fallback (object), type (enum: RCS), webhook_url (url)

ruby
response = client.messages.rcs.send_(
  agent_id: "Agent007",
  agent_message: {},
  messaging_profile_id: "550e8400-e29b-41d4-a716-446655440000",
  to: "+13125551234"
)

puts(response)

Returns: body (object), direction (string), encoding (string), from (object), id (string), messaging_profile_id (string), organization_id (string), received_at (date-time), record_type (string), to (array[object]), type (string), wait_seconds (float)

Generate a deeplink URL that can be used to start an RCS conversation with a specific agent.

GET /messages/rcs/deeplinks/{agent_id}

ruby
response = client.messages.rcs.generate_deeplink("agent_id")

puts(response)

Returns: url (string)

List all RCS agents

GET /messaging/rcs/agents

ruby
page = client.messaging.rcs.agents.list

puts(page)

Returns: agent_id (string), agent_name (string), created_at (date-time), enabled (boolean), profile_id (uuid), updated_at (date-time), user_id (string), webhook_failover_url (url), webhook_url (url)

Retrieve an RCS agent

GET /messaging/rcs/agents/{id}

ruby
rcs_agent_response = client.messaging.rcs.agents.retrieve("550e8400-e29b-41d4-a716-446655440000")

puts(rcs_agent_response)

Returns: agent_id (string), agent_name (string), created_at (date-time), enabled (boolean), profile_id (uuid), updated_at (date-time), user_id (string), webhook_failover_url (url), webhook_url (url)

Modify an RCS agent

PATCH /messaging/rcs/agents/{id}

Optional: profile_id (uuid), webhook_failover_url (url), webhook_url (url)

ruby
rcs_agent_response = client.messaging.rcs.agents.update("550e8400-e29b-41d4-a716-446655440000")

puts(rcs_agent_response)

Returns: agent_id (string), agent_name (string), created_at (date-time), enabled (boolean), profile_id (uuid), updated_at (date-time), user_id (string), webhook_failover_url (url), webhook_url (url)

Check RCS capabilities (batch)

POST /messaging/rcs/bulk_capabilities — Required: agent_id, phone_numbers

ruby
response = client.messaging.rcs.list_bulk_capabilities(agent_id: "TestAgent", phone_numbers: ["+13125551234"])

puts(response)

Returns: agent_id (string), agent_name (string), features (array[string]), phone_number (string), record_type (enum: rcs.capabilities)

Check RCS capabilities

GET /messaging/rcs/capabilities/{agent_id}/{phone_number}

ruby
response = client.messaging.rcs.retrieve_capabilities("phone_number", agent_id: "550e8400-e29b-41d4-a716-446655440000")

puts(response)

Returns: agent_id (string), agent_name (string), features (array[string]), phone_number (string), record_type (enum: rcs.capabilities)

Add RCS test number

Adds a test phone number to an RCS agent for testing purposes.

PUT /messaging/rcs/test_number_invite/{id}/{phone_number}

ruby
response = client.messaging.rcs.invite_test_number("phone_number", id: "550e8400-e29b-41d4-a716-446655440000")

puts(response)

Returns: agent_id (string), phone_number (string), record_type (enum: rcs.test_number_invite), status (string)

List messaging hosted number orders

GET /messaging_hosted_number_orders

ruby
page = client.messaging_hosted_number_orders.list

puts(page)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

Create a messaging hosted number order

POST /messaging_hosted_number_orders

Optional: messaging_profile_id (string), phone_numbers (array[string])

ruby
messaging_hosted_number_order = client.messaging_hosted_number_orders.create

puts(messaging_hosted_number_order)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

Check hosted messaging eligibility

POST /messaging_hosted_number_orders/eligibility_numbers_check — Required: phone_numbers

ruby
response = client.messaging_hosted_number_orders.check_eligibility(phone_numbers: ["string"])

puts(response)

Returns: phone_numbers (array[object])

Retrieve a messaging hosted number order

GET /messaging_hosted_number_orders/{id}

ruby
messaging_hosted_number_order = client.messaging_hosted_number_orders.retrieve("550e8400-e29b-41d4-a716-446655440000")

puts(messaging_hosted_number_order)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

Delete a messaging hosted number order

Delete a messaging hosted number order and all associated phone numbers.

DELETE /messaging_hosted_number_orders/{id}

ruby
messaging_hosted_number_order = client.messaging_hosted_number_orders.delete("550e8400-e29b-41d4-a716-446655440000")

puts(messaging_hosted_number_order)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

Upload hosted number document

POST /messaging_hosted_number_orders/{id}/actions/file_upload

ruby
response = client.messaging_hosted_number_orders.actions.upload_file("550e8400-e29b-41d4-a716-446655440000")

puts(response)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

Validate hosted number codes

Validate the verification codes sent to the numbers of the hosted order. The verification codes must be created in the verification codes endpoint.

POST /messaging_hosted_number_orders/{id}/validation_codes — Required: verification_codes

ruby
response = client.messaging_hosted_number_orders.validate_codes(
  "id",
  verification_codes: [{code: "code", phone_number: "+13125550001"}]
)

puts(response)

Returns: order_id (uuid), phone_numbers (array[object])

Create hosted number verification codes

Create verification codes to validate numbers of the hosted order. The verification codes will be sent to the numbers of the hosted order.

POST /messaging_hosted_number_orders/{id}/verification_codes — Required: phone_numbers, verification_method

ruby
response = client.messaging_hosted_number_orders.create_verification_codes(
  "id",
  phone_numbers: ["string"],
  verification_method: :sms
)

puts(response)

Returns: error (string), phone_number (string), type (enum: sms, call), verification_code_id (uuid)

Delete a messaging hosted number

DELETE /messaging_hosted_numbers/{id}

ruby
messaging_hosted_number = client.messaging_hosted_numbers.delete("550e8400-e29b-41d4-a716-446655440000")

puts(messaging_hosted_number)

Returns: id (uuid), messaging_profile_id (string | null), phone_numbers (array[object]), record_type (string), status (enum: carrier_rejected, compliance_review_failed, deleted, failed, incomplete_documentation, incorrect_billing_information, ineligible_carrier, loa_file_invalid, loa_file_successful, pending, provisioning, successful)

List Verification Requests

Get a list of previously-submitted tollfree verification requests

GET /messaging_tollfree/verification/requests

ruby
page = client.messaging_tollfree.verification.requests.list(page: 1, page_size: 1)

puts(page)

Returns: records (array[object]), total_records (integer)

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

Submit Verification Request

Submit a new tollfree verification request

POST /messaging_tollfree/verification/requests — Required: businessName, corporateWebsite, businessAddr1, businessCity, businessState, businessZip, businessContactFirstName, businessContactLastName, businessContactEmail, businessContactPhone, messageVolume, phoneNumbers, useCase, useCaseSummary, productionMessageContent, optInWorkflow, optInWorkflowImageURLs, additionalInformation

Optional: ageGatedContent (boolean), businessAddr2 (string), businessRegistrationCountry (string | null), businessRegistrationNumber (string | null), businessRegistrationType (string | null), campaignVerifyAuthorizationToken (string | null), doingBusinessAs (string | null), entityType (object), helpMessageResponse (string | null), isvReseller (string | null), optInConfirmationResponse (string | null), optInKeywords (string | null), privacyPolicyURL (string | null), termsAndConditionURL (string | null), webhookUrl (string)

ruby
verification_request_egress = client.messaging_tollfree.verification.requests.create(
  additional_information: "additionalInformation",
  business_addr1: "600 Congress Avenue",
  business_city: "Austin",
  business_contact_email: "email@example.com",
  business_contact_first_name: "John",
  business_contact_last_name: "Doe",
  business_contact_phone: "+18005550100",
  business_name: "Telnyx LLC",
  business_state: "Texas",
  business_zip: "78701",
  corporate_website: "http://example.com",
  message_volume: :"100,000",
  opt_in_workflow: "User signs into the Telnyx portal, enters a number and is prompted to select whether they want to use 2FA verification for security purposes. If they've opted in a confirmation message is sent out to the handset",
  opt_in_workflow_image_urls: [{url: "https://client.com/sign-up"}, {url: "https://client.com/company/data-privacy"}],
  phone_numbers: [{phoneNumber: "+18773554398"}, {phoneNumber: "+18773554399"}],
  production_message_content: "Your Telnyx OTP is XXXX",
  use_case: :"2FA",
  use_case_summary: "This is a use case where Telnyx sends out 2FA codes to portal users to verify their identity in order to sign into the portal"
)

puts(verification_request_egress)

Returns: additionalInformation (string), ageGatedContent (boolean), businessAddr1 (string), businessAddr2 (string), businessCity (string), businessContactEmail (string), businessContactFirstName (string), businessContactLastName (string), businessContactPhone (string), businessName (string), businessRegistrationCountry (string), businessRegistrationNumber (string), businessRegistrationType (string), businessState (string), businessZip (string), campaignVerifyAuthorizationToken (string | null), corporateWebsite (string), doingBusinessAs (string), entityType (object), helpMessageResponse (string), id (uuid), isvReseller (string), messageVolume (object), optInConfirmationResponse (string), optInKeywords (string), optInWorkflow (string), optInWorkflowImageURLs (array[object]), phoneNumbers (array[object]), privacyPolicyURL (string), productionMessageContent (string), termsAndConditionURL (string), useCase (object), useCaseSummary (string), verificationRequestId (string), verificationStatus (object), webhookUrl (string)

Get Verification Request

Get a single verification request by its ID.

GET /messaging_tollfree/verification/requests/{id}

ruby
verification_request_status = client.messaging_tollfree.verification.requests.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(verification_request_status)

Returns: additionalInformation (string), ageGatedContent (boolean), businessAddr1 (string), businessAddr2 (string), businessCity (string), businessContactEmail (string), businessContactFirstName (string), businessContactLastName (string), businessContactPhone (string), businessName (string), businessRegistrationCountry (string), businessRegistrationNumber (string), businessRegistrationType (string), businessState (string), businessZip (string), campaignVerifyAuthorizationToken (string | null), corporateWebsite (string), createdAt (date-time), doingBusinessAs (string), entityType (object), helpMessageResponse (string), id (uuid), isvReseller (string), messageVolume (object), optInConfirmationResponse (string), optInKeywords (string), optInWorkflow (string), optInWorkflowImageURLs (array[object]), phoneNumbers (array[object]), privacyPolicyURL (string), productionMessageContent (string), reason (string), termsAndConditionURL (string), updatedAt (date-time), useCase (object), useCaseSummary (string), verificationStatus (object), webhookUrl (string)

Update Verification Request

Update an existing tollfree verification request. This is particularly useful when there are pending customer actions to be taken.

PATCH /messaging_tollfree/verification/requests/{id} — Required: businessName, corporateWebsite, businessAddr1, businessCity, businessState, businessZip, businessContactFirstName, businessContactLastName, businessContactEmail, businessContactPhone, messageVolume, phoneNumbers, useCase, useCaseSummary, productionMessageContent, optInWorkflow, optInWorkflowImageURLs, additionalInformation

Optional: ageGatedContent (boolean), businessAddr2 (string), businessRegistrationCountry (string | null), businessRegistrationNumber (string | null), businessRegistrationType (string | null), campaignVerifyAuthorizationToken (string | null), doingBusinessAs (string | null), entityType (object), helpMessageResponse (string | null), isvReseller (string | null), optInConfirmationResponse (string | null), optInKeywords (string | null), privacyPolicyURL (string | null), termsAndConditionURL (string | null), webhookUrl (string)

ruby
verification_request_egress = client.messaging_tollfree.verification.requests.update(
  "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  additional_information: "additionalInformation",
  business_addr1: "600 Congress Avenue",
  business_city: "Austin",
  business_contact_email: "email@example.com",
  business_contact_first_name: "John",
  business_contact_last_name: "Doe",
  business_contact_phone: "+18005550100",
  business_name: "Telnyx LLC",
  business_state: "Texas",
  business_zip: "78701",
  corporate_website: "http://example.com",
  message_volume: :"100,000",
  opt_in_workflow: "User signs into the Telnyx portal, enters a number and is prompted to select whether they want to use 2FA verification for security purposes. If they've opted in a confirmation message is sent out to the handset",
  opt_in_workflow_image_urls: [{url: "https://client.com/sign-up"}, {url: "https://client.com/company/data-privacy"}],
  phone_numbers: [{phoneNumber: "+18773554398"}, {phoneNumber: "+18773554399"}],
  production_message_content: "Your Telnyx OTP is XXXX",
  use_case: :"2FA",
  use_case_summary: "This is a use case where Telnyx sends out 2FA codes to portal users to verify their identity in order to sign into the portal"
)

puts(verification_request_egress)

Returns: additionalInformation (string), ageGatedContent (boolean), businessAddr1 (string), businessAddr2 (string), businessCity (string), businessContactEmail (string), businessContactFirstName (string), businessContactLastName (string), businessContactPhone (string), businessName (string), businessRegistrationCountry (string), businessRegistrationNumber (string), businessRegistrationType (string), businessState (string), businessZip (string), campaignVerifyAuthorizationToken (string | null), corporateWebsite (string), doingBusinessAs (string), entityType (object), helpMessageResponse (string), id (uuid), isvReseller (string), messageVolume (object), optInConfirmationResponse (string), optInKeywords (string), optInWorkflow (string), optInWorkflowImageURLs (array[object]), phoneNumbers (array[object]), privacyPolicyURL (string), productionMessageContent (string), termsAndConditionURL (string), useCase (object), useCaseSummary (string), verificationRequestId (string), verificationStatus (object), webhookUrl (string)

Delete Verification Request

Delete a verification request

A request may only be deleted when when the request is in the "rejected" state. * HTTP 200: request successfully deleted

  • HTTP 400: request exists but can't be deleted (i.e. not rejected)
  • HTTP 404: request unknown or already deleted

DELETE /messaging_tollfree/verification/requests/{id}

ruby
result = client.messaging_tollfree.verification.requests.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(result)

Get Verification Request Status History

Get the history of status changes for a verification request. Returns a paginated list of historical status changes including the reason for each change and when it occurred.

GET /messaging_tollfree/verification/requests/{id}/status_history

ruby
response = client.messaging_tollfree.verification.requests.retrieve_status_history(
  "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  page_number: 1,
  page_size: 1
)

puts(response)

Returns: records (array[object]), total_records (integer)

List messaging URL domains

GET /messaging_url_domains

ruby
page = client.messaging_url_domains.list

puts(page)

Returns: id (string), record_type (string), url_domain (string), use_case (string)

© team-telnyx, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/telnyx-messaging-hosted-ruby of team-telnyx/ai.

Open the folder on GitHubat commit 4d2ace0

Compare with similar skills

Telnyx Messaging Hosted Ruby 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 Messaging Hosted Ruby compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Telnyx Messaging Hosted Ruby this skillteam-telnyx/ai220—~5.1kAutomated safety check: PassMIT
Antipattern Preventiondoorkeeper-gem/doorkeeper5.5k—~1.1kAutomated safety check: PassMIT
Dependency Safetydoorkeeper-gem/doorkeeper5.5k—~931Automated safety check: PassMIT
Backfill Event Datarubyevents/rubyevents569—~2.8kAutomated safety check: PassNone
Temporal Developertemporalio/skill-temporal-developer230—~2.5kAutomated safety check: PassMIT
Nxvutensils/nxv136—~7.9kAutomated safety check: NotesMIT

Similar skills

  • Antipattern Prevention

    doorkeeper-gem/doorkeeper

    Avoid common Ruby and Rails antipatterns that degrade maintainability and performance.

    5.5k GitHub stars~1.1k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Dependency Safety

    doorkeeper-gem/doorkeeper

    Ensure gems are safe, necessary, and properly constrained when adding, updating, or reviewing dependencies in Doorkeeper.

    5.5k GitHub stars~931 tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Backfill Event Data

    rubyevents/rubyevents

    Add or backfill RubyEvents conference data for an event from its website — involvements (organizers/MCs), sponsors, venue + hotels, schedule, talk running order, and speaker GitHub/Twitter handles.

    569 GitHub stars~2.8k tokensUpdated today
    Backend & APIsAuto-check passed
  • Temporal Developer

    temporalio/skill-temporal-developer

    Official

    Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust.

    230 GitHub stars~2.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Nxv

    utensils/nxv

    Find any version of any Nix package across nixpkgs git history using the nxv CLI or HTTP API.

    136 GitHub stars~7.9k tokensUpdated 1 mo ago
    Backend & APIsAuto-check: notes
  • Schked

    bibendi/schked

    Guide for working with Schked, a Ruby recurring-job scheduler built on top of rufus-scheduler.

    138 GitHub stars~454 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

More from team-telnyx/ai

All 11 skills in this repo
  • Test VoIP push notifications for Telnyx WebRTC iOS (APNs) and Android (FCM) apps.

    220 GitHub stars~538 tokensUpdated today
    Auto-check passed
  • Manage email suppressions (blocks), import and export suppression lists, and manage unsubscribe groups.

    220 GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Telnyx Messaging Curl

    team-telnyx/ai

    Send and receive SMS/MMS, handle opt-outs and delivery webhooks.

    220 GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK.

    220 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • End-to-end setup for making a Telnyx AI assistant call a phone number.

    220 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Telnyx Email Curl

    team-telnyx/ai

    Send transactional email, batch sends, scheduled delivery, templates, email validation, and track delivery events.

    220 GitHub stars~6k tokensUpdated today
    Auto-check: notes

Works with

Categories

Questions about Telnyx Messaging Hosted Ruby

What does Telnyx Messaging Hosted Ruby do?

Set up hosted SMS numbers, toll-free verification, and RCS messaging. Telnyx Messaging Hosted Ruby is an agent skill from team-telnyx/ai. Set up hosted SMS numbers, toll-free verification, and RCS messaging.

When should I use Telnyx Messaging Hosted Ruby?

Telnyx Messaging Hosted Ruby fits situations like: migrating numbers; enabling rich messaging features.

How do I install Telnyx Messaging Hosted Ruby in Claude Code?

Run `npx skills add team-telnyx/ai --skill telnyx-messaging-hosted-ruby -a claude-code`. Or copy the skill folder (skills/telnyx-messaging-hosted-ruby in team-telnyx/ai) into .claude/skills/telnyx-messaging-hosted-ruby in your project. Claude Code loads it when a task matches its description.

How do I install Telnyx Messaging Hosted Ruby in Codex?

Run `npx skills add team-telnyx/ai --skill telnyx-messaging-hosted-ruby -a codex`. Or copy the skill folder (skills/telnyx-messaging-hosted-ruby in team-telnyx/ai) into .agents/skills/telnyx-messaging-hosted-ruby in your project. Codex loads it when a task matches its description.

Can I use Telnyx Messaging Hosted Ruby 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 team-telnyx/ai --skill telnyx-messaging-hosted-ruby -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-messaging-hosted-ruby, .gemini/skills/telnyx-messaging-hosted-ruby, .github/skills/telnyx-messaging-hosted-ruby and .opencode/skills/telnyx-messaging-hosted-ruby in your project.

What does Telnyx Messaging Hosted Ruby need to run?

Going by SKILL.md and its folder, Telnyx Messaging Hosted Ruby needs the command-line tools its instructions call (gem) and credentials named TELNYX_API_KEY. Our summary lists: A credential in TELNYX_API_KEY.

Does Telnyx Messaging Hosted Ruby access the network?

SKILL.md names 1 domain. In commands or code: client.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Telnyx Messaging Hosted Ruby 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 Messaging Hosted Ruby use?

Telnyx Messaging Hosted Ruby 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 Messaging Hosted Ruby use?

About 5.1k tokens (SKILL.md is roughly 20k 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 Messaging Hosted Ruby?

Skills that share tags, products or a category with Telnyx Messaging Hosted Ruby: Antipattern Prevention (doorkeeper-gem/doorkeeper, 5.5k stars), Dependency Safety (doorkeeper-gem/doorkeeper, 5.5k stars), Backfill Event Data (rubyevents/rubyevents, 569 stars) and Temporal Developer (temporalio/skill-temporal-developer, 230 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Telnyx Messaging Hosted Ruby?

team-telnyx (a GitHub organization) maintains it in team-telnyx/ai, which has 220 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 8, 2026.

Source: team-telnyx/ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.