CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

calendarhero

CalendarHero integration. Manage Persons, Meetings. Use when the user wants to interact with CalendarHero data.

Quality

69%

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/calendarhero/SKILL.md
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.

This is a solid, largely executable CLI-integration skill: concrete commands throughout, a well-explained connection lifecycle with polling and error recovery, and clean section structure in a single well-organized file. The main weaknesses are padded intro/filler text and small coherence gaps (dangling 'Step 2' reference, unspecified `--tenant` value) plus missing concrete request examples for the proxy path.

Suggestions

Cut the product-marketing paragraph, the empty Overview bullet list, and filler lines like 'Use action names and parameters as needed.' — Claude needs the CLI mechanics, not what CalendarHero's sales teams do.

Fix the navigation incoherences: rename sections as numbered Steps 1/2/3 (there is a '1b' with no '1a' and references to a 'Step 2' that has no heading), and show what value `--tenant` expects in the login command.

Add one concrete proxy example (e.g. fetching a meeting via a real CalendarHero endpoint) so the fallback path is as copy-paste ready as the action path.

DimensionReasoningScore

Conciseness

The body is mostly command-and-flag reference with little padding, but it includes unnecessary material: a marketing-style product paragraph ('AI-powered meeting scheduling platform... used by sales, marketing, and customer success teams'), an empty Overview bullet list with no content under each item, filler like 'Use action names and parameters as needed.', and a rambling 'Agent Types' line. This fits 'Mostly efficient but includes some unnecessary explanation or could be tightened'; it is not severely padded (score 1-2) nor lean throughout (score 4-5).

3 / 5

Actionability

Guidance is largely copy-paste executable: exact install and login commands, `membrane connection ensure`, action list/run with `--input` JSON examples, a popular-actions table with real keys, and a proxy flag table. Minor gaps keep it below 5: `membrane login --tenant --clientName=<agentType>` leaves `--tenant` without a value, and `membrane request CONNECTION_ID /path/to/endpoint` has no concrete example path for CalendarHero.

4 / 5

Workflow Clarity

The setup sequence (install → login → connection ensure → poll state → search actions → run) is clear, and the connection-state section is a genuine checkpoint with error recovery (poll until not BUILDING, handle CLIENT_ACTION_REQUIRED, re-poll after user action, check `error` on failure). It is not a 5 because there are minor incoherences: the text says 'skip to Step 2' but no Step 2 heading exists, and a '1b' section appears without a matching '1a'.

4 / 5

Progressive Disclosure

The single SKILL.md (~150 lines) is well organized into install, auth, connection, actions, and proxy sections with no nested or dangling references (no references/, scripts/, or assets/ exist, and no in-body file links). It is above anchor 3 because nothing is buried and structure is good, but below 5: the proxy flag table, clientAction state-machine detail, and popular-actions table are candidates for one-level-deep reference files that would keep the top-level overview leaner.

4 / 5

Total

15

/

20

Passed

Description

57%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 follows the correct third-person pattern and explicitly includes both a 'what' and a 'Use when...' clause, but its substance is thin: the only action verb is the generic 'Manage', and trigger vocabulary is limited to the brand name plus two entity nouns. Adding concrete verbs and natural synonyms (scheduling, calendar, contacts) would lift specificity, triggers, and distinctiveness together.

Suggestions

Replace the generic 'Manage Persons, Meetings' with concrete actions drawn from the skill's own action table, e.g. 'Create, search, and update contacts; list meetings and meeting types; retrieve user profile and directories.'

Expand the 'Use when' clause with natural trigger phrases users would actually say, e.g. 'Use when the user wants to schedule or look up meetings, manage CalendarHero contacts/people, or interact with CalendarHero data.'

Include synonyms such as 'calendar', 'scheduling', 'appointments', and 'contacts' so the skill triggers for users who describe the task without naming the product.

DimensionReasoningScore

Specificity

The description names the domain ('CalendarHero integration') and two object types ('Manage Persons, Meetings'), but 'Manage' is a single generic verb — no concrete actions like create, search, or schedule are stated. It matches the anchor 'Names the domain but actions are minimal or generic'; score 3 would require 1-2 genuinely concrete actions, which the text does not provide.

2 / 5

Completeness

Both parts are explicitly present: what ('CalendarHero integration. Manage Persons, Meetings.') and when ('Use when the user wants to interact with CalendarHero data.'). This mirrors the anchor-4 example ('Extract text from PDFs and fill forms. Use when working with PDF files.') where the 'when' clause exists but could be more specific; the 'when' here is somewhat circular (interact with CalendarHero ≈ CalendarHero integration), keeping it below 5.

4 / 5

Trigger Term Quality

Relevant keywords include 'CalendarHero', 'Meetings', and 'Persons', but common natural variations are missing — notably 'scheduling', 'calendar', 'appointments', 'booking', and 'contacts'. Users wanting meeting scheduling help would not naturally say most of the words present, fitting 'Some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

The trigger is effectively gated on the CalendarHero brand name, giving it a clear niche with minimal conflict risk. However, 'Manage Persons, Meetings' without brand context could overlap with generic contact- or meeting-management skills, matching 'Mostly distinct; minor overlap risk with closely related skills' rather than the fully distinct anchor-5 example with concrete action triggers.

4 / 5

Total

13

/

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