CtrlK
BlogDocsLog inGet started
Tessl Logo

send-sms-textbelt

Send SMS text messages to phone numbers. Use when the user asks to send a text, send an SMS, text someone, message a phone number, or send a notification via text message.

67

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill is compact, well-sectioned, and mostly concrete, with a sensible workflow that includes a delivery-status checkpoint. Its main defect is that the primary send command is malformed JSON/shell and cannot be executed as written, and constraint details are repeated across three sections.

Suggestions

Fix the Step 2 curl command so the JSON payload is correctly quoted and includes all fields, e.g. -d '{"api":"textbelt","path":"/text","params":{"phone":"<phone_number>","message":"<message_text>"}}' (matching the API's actual payload shape).

State the constraints (800-char limit, no URLs, E.164 for international numbers) once and reference them elsewhere, removing the triple repetition across Step 1, Constraints, and Error Handling.

Add a feedback loop for delivery status: what to do when status returns FAILED (e.g., report the error to the user, check credits/phone format) or remains SENDING.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence (no concept explanations), but the 800-character and no-URLs limits are repeated across Step 1, Constraints, and Error Handling, and the orphaned sentence "Send SMS messages via the Textbelt API on Orthogonal." sits awkwardly after Setup. Not a 3 because the padding is limited to duplicated constraints rather than unnecessary explanation; not a 5 because the repetition and stray line could be trimmed.

4 / 5

Actionability

The core send command is malformed: `-d '{"api":"textbelt","path":"/text"}'` closes the JSON before the payload fields, leaving `"phone": ...` lines outside the quoted argument and terminating in a stray `}'`, so it is not executable as written. The setup, status-check, response-field, and error sections are concrete, but the broken primary command is a significant gap beyond the "minor gaps" of a 4.

3 / 5

Workflow Clarity

The gather-info → send → confirm-delivery sequence is clearly ordered, and Step 3 (checking `textId` status) is an explicit validation checkpoint. Not a 5 because there is no feedback loop telling Claude what to do when status is FAILED or persists as SENDING; not a 3 because the sequence and its checkpoint are explicit rather than implicit.

4 / 5

Progressive Disclosure

This is a compact single-file skill with no bundle files, where all content (setup, endpoints, response fields, constraints, errors) belongs inline and is organized into clear sections. Minor organization gaps — the misplaced Textbelt intro line and the redundant Constraints section — keep it below a 5.

4 / 5

Total

15

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete single-action capability statement paired with an explicit, naturally-phrased "Use when" trigger clause covering the common user phrasings. It is concise and distinctive with minimal conflict risk.

DimensionReasoningScore

Specificity

"Send SMS text messages to phone numbers" names one fully concrete action that completely covers this single-purpose skill, sitting between the 1-2-actions anchor (3) and the several-actions anchor (4); it is not vague, but only a single action is stated. Not a 3 because the stated action covers the skill's entire scope; not a 5 because only one action is listed with no elaboration.

4 / 5

Completeness

Explicitly answers "what" ("Send SMS text messages to phone numbers") and "when" ("Use when the user asks to send a text, send an SMS...") with concrete trigger phrases, matching the top anchor. A 4 would require the when-clause to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

The clause "send a text, send an SMS, text someone, message a phone number, or send a notification via text message" covers the natural synonyms a user would actually say (text, SMS, texting someone, texting a number). Not a 4 because no common natural phrasing for this domain is missing.

5 / 5

Distinctiveness Conflict Risk

SMS/text-message sending is a clear niche with distinct triggers ("send an SMS", "text someone") that would not plausibly fire a document, email, or code skill. Minor adjacency to generic notification skills exists, but the triggers are phone/SMS-specific, so conflict risk is minimal.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.