create-phone-number — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited create-phone-number (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Default to a payload or implementation plan. Provision, import, route, or release a number only when the user explicitly requests the live mutation. Require a final explicit confirmation immediately before provisioning or another potentially chargeable action.
credentialId for provider imports when the current public schema supports it. If a required credential does not exist, stop and state that API prerequisite.VAPI_API_KEY is set without printing it.assistantId or one squadId; clear conflicting destination fields when changing an existing route.GET /phone-number to avoid duplicate provisioning.numberDesiredAreaCode but does not expose a public available-area-code inventory endpoint. Accept the user's desired three-digit US area code after explaining that fulfillment is not guaranteed.POST /phone-number or another potentially chargeable mutation.id, provider, number or SIP URI, status when present, and resolved route.GET /phone-number/{id} first.id, timestamps, or organization metadata.400: report the rejected field or unavailable request; correct a documented shape error before at most one retry.401/403: stop for Vapi authentication or permission issues.404: report the missing phone number, assistant, squad, or credential.5xx: report a Vapi service failure and do not claim success.Vapi-hosted free numbers are for US national use and have a limit of five per account. The first free number can be requested without a payment method. Additional free numbers require a payment method on file, but the numbers themselves remain free.
Free Vapi numbers support outbound calls only to US +1 destinations and do not support international calling. Use an imported provider number or supported SIP/carrier path for international use. Do not describe free numbers as unlimited production telephony.
This template does not provision anything:
{
"provider": "vapi",
"numberDesiredAreaCode": "<confirmed-three-digit-area-code>",
"assistantId": "<verified-assistant-id>",
"name": "Main Support Line"
}Read Provider API Procedures for Vapi-hosted, Twilio, Vonage, Telnyx, BYO carrier, and routing examples. Read Phone Number API Examples when the user requests TypeScript, Python, or cURL implementation code. Keep placeholders out of live requests.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.