CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

hail-hq/hail

Use Hail when an assistant or app needs phone numbers in 120+ countries, an email inbox, or inbound and outbound calls, SMS/text messages, and email. Provision numbers, submit carrier registrations, build and route Hail agents, and read conversations and delivery events through MCP or the API.

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

Quality

Content

85%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 body is an unusually disciplined operational guide: executable commands with idempotency guards, exact MCP tool and parameter names, sequenced workflows with explicit approval and outcome-verification checkpoints, and per-error-code recovery steps instead of generic advice. Its main structural weakness is that everything is packed into a single long SKILL.md with no bundle files, where the registration, webhook, and channel-send details would benefit from being split into one-level-deep reference files.

Suggestions

Split the US A2P 10DLC registration workflow and the webhook implementation details (signature verification, delivery deduplication) into references/ files, keeping SKILL.md as a task-indexed overview with short inline examples — this would also reduce context cost for tasks that only need one workflow.

Trim narrative sentences around code examples (e.g. the appointment-assistant aside and repeated registration caveats) so each section states only the constraint, the command, and the verification step.

Move the per-channel send setup checklist into the section where each channel's prerequisites are established, or into a short reference, to cut repetition between 'Set up' and 'Send' sections.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious operational constraints (idempotency-key replay rules, 409/422/429 recovery steps, 'by_request=true' quotes, confirm_total_cents approval) and wastes no tokens explaining concepts Claude already knows. A few passages could still be trimmed — e.g. 'This example describes an assistant that takes appointment requests; connect your booking system...' and some repetition of registration caveats across sections — keeping it below the lean-everywhere anchor 5.

4 / 5

Actionability

Guidance is fully executable: copy-paste curl commands with a required curl version, mandatory idempotency-key guards ('${EMAIL_REQUEST_ID:?Set and save a unique ID for this send}'), a task-to-MCP-tool mapping table, exact parameter names (purpose="sms", country_code="US", number_type="local", email_agent_scope="members"), and the CLI equivalent ('hail email domain route <domain-id> --agent <agent-id>'). Common cases across all channels are covered with real payloads.

5 / 5

Workflow Clarity

The body is organized as a sequenced task path (connect → set up number/inbox → send → read → handle errors) with explicit validation checkpoints: 'Inspect each response before continuing', 'an accepted request does not prove delivery', numbered email-routing steps ending in 'Check the reply outcome', and a per-status error section (401/402/403/409/422/429/5xx) that constitutes genuine feedback loops including replaying the identical request with the saved idempotency key. Risky paid operations (carrier registration, acquire_number) carry explicit user-approval checkpoints.

5 / 5

Progressive Disclosure

There are no bundle files at all, so all ~340 lines of material — including the detailed US A2P 10DLC registration flow, webhook signature verification guidance, and per-endpoint send/read recipes — live inline in SKILL.md. Section headers and the anchor-link task index at the top give good navigation, but content that would fit naturally in reference files (registration.md, webhooks.md) is inlined, matching the 'content that should be separate is inline' anchor rather than the 'bulk in separate file' anchor 4.

3 / 5

Total

17

/

20

Passed

Description

100%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.

The description is an exemplary 'what + when' statement: it leads with an explicit Use-when trigger clause covering all natural phrasings (phone numbers, calls, SMS/text, email inbox), then enumerates concrete capabilities (provision, register, route agents, read conversations/delivery events) and the access paths (MCP or API). It is concise, third-person, and free of fluff or over-claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Provision numbers, submit carrier registrations, build and route Hail agents, and read conversations and delivery events through MCP or the API' — giving comprehensive coverage of the skill's capabilities with no vague filler. Not a 4: the action list spans the domain (provisioning, registration, routing, reading) with essentially no coverage gaps.

5 / 5

Completeness

It opens with an explicit trigger clause — 'Use Hail when an assistant or app needs phone numbers... an email inbox, or inbound and outbound calls, SMS/text messages, and email' — and follows with a clear statement of what the skill does ('Provision numbers, submit carrier registrations, build and route Hail agents, and read conversations and delivery events'). Both 'what' and 'when' are answered explicitly with concrete trigger phrases, matching the top anchor exactly.

5 / 5

Trigger Term Quality

Natural user phrasing is comprehensively covered with explicit synonyms: 'phone numbers in 120+ countries', 'email inbox', 'inbound and outbound calls', 'SMS/text messages', and 'email'. A user needing any of these capabilities would naturally say one of these terms; not a 4 because both 'SMS' and 'text messages' variants and both 'calls' and 'phone numbers' are present.

5 / 5

Distinctiveness Conflict Risk

The description names the specific product (Hail) and a clear niche — communication infrastructure (numbers, SMS, calls, email) for AI assistants via 'MCP or the API' — which no generic skill would claim. Trigger terms are domain-specific enough that conflict risk with other skills is minimal.

5 / 5

Total

20

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Reviewed

On this page