Aircall integration. Manage Calls, Users, PhoneNumbers. Use when the user wants to interact with Aircall data.
64
76%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/aircall/SKILL.mdQuality
Discovery
75%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 establishes a clear niche around Aircall integration and includes an explicit 'Use when' clause, which is good. However, it lacks specificity in the actions it can perform (only says 'Manage') and could benefit from more natural trigger terms that users might use when needing telephony/call management features.
Suggestions
Replace the vague 'Manage' with specific concrete actions like 'list call logs, create users, assign phone numbers, transfer calls, retrieve call recordings'.
Add more natural trigger terms users might say, such as 'phone system', 'call logs', 'VoIP', 'telephony', or 'call center'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Aircall) and some high-level entities (Calls, Users, PhoneNumbers), but doesn't list specific concrete actions beyond the vague 'Manage'. What does 'manage' mean—create, list, transfer, delete? | 2 / 3 |
Completeness | It answers both 'what' (manage Calls, Users, PhoneNumbers via Aircall integration) and 'when' (Use when the user wants to interact with Aircall data), with an explicit 'Use when...' clause. | 3 / 3 |
Trigger Term Quality | Includes 'Aircall' as a strong trigger term and mentions 'Calls, Users, PhoneNumbers', which are somewhat natural. However, it misses common variations like 'phone system', 'call logs', 'contacts', 'VoIP', or 'telephony' that users might naturally say. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Aircall' as a specific product/integration makes this clearly distinguishable from other skills. It's unlikely to conflict with other skills unless there are multiple Aircall-related skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides strong actionable guidance with clear CLI commands and a well-structured connection workflow with state-based branching. Its main weaknesses are moderate verbosity (explaining what Aircall is, what Membrane does conceptually) and a bulky popular actions table where every entry lacks a description, adding tokens without value. The content could benefit from trimming unnecessary explanations and either populating or removing the description-less action table.
Suggestions
Remove or drastically shorten the introductory paragraph about what Aircall is — Claude already knows this, and the skill description covers it.
Either add meaningful descriptions to the popular actions table entries or remove the 'Description' column entirely, since 'No description' repeated 20 times wastes tokens.
Remove the vague 'Aircall Overview' section (Call/Agent/User/Phone Number bullet list) — it provides no actionable information and the popular actions table already covers available entities.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary explanation (e.g., 'Aircall is a cloud-based call center and phone system' and explaining what Membrane does conceptually). The popular actions table has 'No description' for every entry, adding bulk without value. The overview section listing Call/Agent/User/Phone Number is vague and adds little. However, the CLI commands and workflow steps are reasonably efficient. | 2 / 3 |
Actionability | The skill provides concrete, copy-paste-ready CLI commands for every step: installation, authentication, connection setup, action discovery, action execution, and proxy requests. Flag tables and JSON parameter examples are specific and executable. | 3 / 3 |
Workflow Clarity | The connection workflow is clearly sequenced with explicit state checks (READY, BUILDING, CLIENT_ACTION_REQUIRED, errors), polling instructions with --wait flag, and conditional branching based on state. The authentication flow handles both interactive and headless environments with clear steps. | 3 / 3 |
Progressive Disclosure | The content is a single monolithic file with no references to supporting documents. The popular actions table (20 rows, all without descriptions) and the proxy request details could be split into separate reference files. However, for a skill of this size (~150 lines of substantive content), the inline approach is borderline acceptable. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
f484c82
Table of Contents
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.