CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

aircall

Aircall integration. Manage Calls, Users, PhoneNumbers. Use when the user wants to interact with Aircall data.

Quality

70%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/aircall/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 delivers genuinely executable Membrane CLI guidance with a clear install-auth-discover-run flow and a well-documented connection state machine. Its main weaknesses are token waste (a 20-row 'No description' table, filler lines, and a Best practices section that repeats earlier content), a dangling 'Step 2' cross-reference, and the absence of any validation checkpoint after running actions.

Suggestions

Cut the Popular actions table down to the actions that matter or give each row a real description — 20 rows of 'No description' spend ~20 lines of context on almost no information.

Fix the dangling 'skip to **Step 2**' references by actually numbering the workflow steps (e.g. '### Step 1: Connect', '### Step 2: Search for actions') so the sequence is unambiguous.

Delete filler lines ('Use action names and parameters as needed.') and merge the Best practices bullets that repeat the Authentication and Searching sections; add a short note on validating the 'output' field and handling errors after 'membrane action run'.

DimensionReasoningScore

Conciseness

The body is mostly efficient commands and tables, but includes several padded or empty sections: 'Use action names and parameters as needed.' is pure filler, a 20-row Popular actions table where every Description cell reads 'No description' carries near-zero information, the Aircall background paragraph explains what the product is, and the Best practices section repeats auth and discovery guidance already given. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' (3) rather than 4, where only minor trimming would be needed.

3 / 5

Actionability

Concrete, executable commands appear throughout: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://aircall.io/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input ... --json', plus a flags table for proxy requests. Minor gaps keep it below 5: '<actionId>' and '--clientName=<agentType>' placeholders are not resolved with a concrete example, and how to extract the action id from list output is only implied.

4 / 5

Workflow Clarity

A sequence exists (install → login → connection ensure → poll state → search actions → run action) with an explicit state machine for READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR. But the text says 'skip to **Step 2**' while no section labeled Step 2 exists in the document (a dangling cross-reference), and there is no checkpoint validating action run output (e.g. checking the 'output' field or handling errors after running an action). This matches 'sequence present but checkpoints missing or implicit' (3) rather than 4's 'most checkpoints present'.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), and the ~160-line single-file body is organized into clearly headed sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) with a brief overview up top. Bulk reference material (the 20-row actions table and proxy flag documentation) is inlined where a reference file could carry it, but at this size the placement is mostly appropriate — matching 'good structure; most content is appropriately placed; minor organization gaps' (4).

4 / 5

Total

14

/

20

Passed

Description

66%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 functional and distinct — it names the app, three resource types, and includes an explicit 'Use when' clause. Its weaknesses are a generic 'Manage' verb instead of concrete actions, and a trigger clause ('interact with Aircall data') that reuses the product name rather than listing natural phrases users would say.

Suggestions

Replace the generic verb 'Manage' with concrete actions, e.g. 'List, create, update, and delete Calls, Users, Contacts, Phone Numbers, Teams, and Tags in Aircall'.

Make the 'when' clause more specific with concrete trigger phrases, e.g. 'Use when the user mentions Aircall, calls, phone numbers, contacts, or wants to look up call logs or users'.

Include the other supported entities (Contacts, Teams, Tags) as trigger keywords so searches for those terms surface this skill.

DimensionReasoningScore

Specificity

The description names the domain ('Aircall integration') and enumerates three entity types ('Manage Calls, Users, PhoneNumbers'), but 'Manage' is a generic verb and no concrete actions (list, create, update, delete) are listed. It sits between the 'minimal or generic actions' anchor (2) and the 'several specific actions' anchor (4), matching 'names domain and some concrete objects but not comprehensive' (3).

3 / 5

Completeness

Both parts are explicitly present: 'what' ('Aircall integration. Manage Calls, Users, PhoneNumbers.') and 'when' ('Use when the user wants to interact with Aircall data.'). The 'when' clause is explicit but generic and circular — no concrete trigger phrases like 'when the user mentions calls or phone numbers' — matching 'has both what and when; when could be more explicit or specific' (4).

4 / 5

Trigger Term Quality

Relevant keywords are present ('Aircall', 'Calls', 'Users', 'PhoneNumbers', 'interact with Aircall data') but common variations and synonyms the skill actually covers are missing — 'contacts', 'teams', 'tags', 'call center', 'phone system'. This matches 'some relevant keywords but missing common variations or synonyms' (3); it is not anchor 4 because coverage of natural terms is incomplete, and not anchor 2 because several genuinely natural terms are present.

3 / 5

Distinctiveness Conflict Risk

'Aircall' is a specifically named product with distinct triggers (calls, phone numbers, Aircall data), giving a clear niche with minimal conflict risk against other skills. Not 4: the named-app trigger is unambiguous enough that overlap risk is essentially nil.

5 / 5

Total

15

/

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

membranedev/application-skills

Path

skills/aircall/SKILL.md

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.