CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

calendly

Calendly integration. Manage Users. Use when the user wants to interact with Calendly data.

Quality

73%

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/calendly/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 content is highly actionable: every workflow step has an exact, executable CLI command, connection states are handled with explicit polling and error branches, and best practices steer toward safe pre-built actions. The main cost is a small amount of padding — the what-is-Calendly intro paragraph and loose step numbering ('skip to Step 2' with no defined Step 2) — that could be trimmed or fixed without losing clarity.

Suggestions

Delete the introductory paragraph explaining what Calendly is and who uses it; Claude already knows this, so start directly at the overview of objects or the setup steps.

Fix the workflow numbering: define "Step 1/Step 2" headers (or drop the 'skip to **Step 2**' phrasing) so the connection-readiness branch has unambiguous targets.

DimensionReasoningScore

Conciseness

The body is mostly efficient (commands, tables, state handling), but the opening paragraph "Calendly is a scheduling automation tool that eliminates the back-and-forth of finding meeting times... Sales teams and customer success managers commonly use it" explains a concept Claude already knows, and filler like "Use action names and parameters as needed" pads the token budget. It fits 'Mostly efficient but includes some unnecessary explanation'; not 2 because padding is confined to a couple of spots rather than several sections.

3 / 5

Actionability

Every step is copy-paste ready: "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://calendly.com/\" --json", "membrane action list --connectionId=CONNECTION_ID --intent \"QUERY\" --limit 10 --json", "membrane action run <actionId> --input '{\"key\": \"value\"}' --json", plus a flag table for proxy requests and a 15-row action catalog. Commands cover the common cases completely, matching 'Fully executable; copy-paste ready code or commands'.

5 / 5

Workflow Clarity

A clear install → login → connect → search → run → proxy-fallback sequence exists with real feedback loops: poll with "--wait" while BUILDING, branch on READY / CLIENT_ACTION_REQUIRED (show clientAction.uiUrl, then re-poll) / CONFIGURATION_ERROR, and prefer pre-built actions before raw proxy calls. It falls short of 5 because "If the returned connection has state READY, skip to **Step 2**" references a step that is never labeled or defined, and later steps lack explicit numbering.

4 / 5

Progressive Disclosure

The skill has no bundle files and is a self-contained, well-sectioned overview (Install, Authentication, Connecting, Searching, Popular actions, Proxy, Best practices) with the 15-row action table and proxy flag table inline — appropriate for a CLI-driven skill of this size. It fits 'Good structure; most content is appropriately placed; minor organization gaps'; not 5 because the popular-actions table is reference-like material that would sit better in a separate file if a bundle existed.

4 / 5

Total

16

/

20

Passed

Description

61%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 distinct and has an explicit use-when clause, but it undersells the skill's actual capabilities: 'Manage Users' is the sole, generic action named and trigger coverage is limited to the app name. Adding concrete action examples (events, invitees, scheduling links, webhooks) and richer trigger phrases would raise specificity and trigger quality.

Suggestions

Replace "Manage Users" with concrete capabilities drawn from the skill body, e.g. 'List and cancel scheduled events, get available times, create single-use scheduling links, and manage webhook subscriptions'.

Broaden the trigger clause with natural variations: 'Use when the user mentions Calendly, scheduling links, booking meetings, invitees, event types, or checking availability'.

State what the skill operates on (users, events, invitees, scheduling links) so the 'what' is comprehensive rather than a single generic action.

DimensionReasoningScore

Specificity

"Calendly integration. Manage Users." names the domain but the only action, "Manage Users", is generic — it doesn't specify what managing users entails (list, get, busy times, etc.), matching the anchor 'Names the domain but actions are minimal or generic'. It is not a 3 because there aren't 1-2 concrete, distinct actions described; 'Manage Users' is as generic as 'Processes PDF files'.

2 / 5

Completeness

Both a 'what' ("Calendly integration. Manage Users.") and an explicit 'when' ("Use when the user wants to interact with Calendly data") are present, but the 'when' is broad and the 'what' is thin, fitting 'Has both what and when; when could be more explicit or specific'. It is not 5 because the trigger lacks concrete phrases like scheduling links, webhooks, or event types; not 3 because the 'Use when' clause is explicit, not merely implied.

4 / 5

Trigger Term Quality

"Calendly" is a natural keyword users would say, but the description misses common variations and synonyms like scheduling, meetings, events, invitees, event types, or availability, matching 'Some relevant keywords but missing common variations'. It is above 2 because the core natural term is present rather than only technical jargon, but below 4 because coverage is essentially just the app name repeated.

3 / 5

Distinctiveness Conflict Risk

"Calendly" is a clear niche with distinct triggers — a user mentioning Calendly would not plausibly intend another skill — matching 'Clear niche with distinct triggers; minimal conflict risk'. No neighboring anchor fits better since the description is anchored entirely to a specific named product.

5 / 5

Total

14

/

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/calendly/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.