CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

calendarific

Calendarific integration. Manage data, records, and automate workflows. Use when the user wants to interact with Calendarific data.

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/calendarific/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.

The body delivers a mostly executable, well-checkpointed workflow for connecting to Calendarific via the Membrane CLI, with genuinely good error-recovery guidance around connection states. Its weaknesses are redundancy (duplicated action-discovery instructions, filler lines, Membrane internals), dangling "Step 2" references with no matching heading, and the near-total absence of Calendarific-specific substance — no concrete holiday action is ever shown.

Suggestions

Remove the duplication between "Searching for actions" and "Popular actions" — either cut the section or make it list actual Calendarific actions (e.g., a holiday-search action with real input/output).

Fix the dangling "Step 2" references: no Step 2 heading exists, and "#### 1b" implies numbering used nowhere else — number the workflow steps explicitly.

Trim filler and Membrane internals ("Use action names and parameters as needed", the explanation of how connection URL normalization works) to tighten token usage.

DimensionReasoningScore

Conciseness

Commands dominate and are lean, but the action-discovery command is duplicated ("Searching for actions" vs "Popular actions"), filler like "Use action names and parameters as needed" appears, and Membrane internals ("This is the fastest way to get a connection. The URL is normalized to a domain...") are explained unnecessarily. Matches anchor 3 ("Mostly efficient but includes some unnecessary explanation or could be tightened"); not 4 because the duplication and padding exceed minor trims.

3 / 5

Actionability

Concrete, executable commands throughout: `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://calendarific.com/" --json`, `membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json`, plus a proxy flag table. Matches anchor 4 ("Mostly executable guidance; concrete code or commands with minor gaps"); not 5 because there is no worked example of an actual Calendarific action and "Popular actions" lists none.

4 / 5

Workflow Clarity

The sequence (install → login with headless fallback → connection ensure → `--wait` polling → explicit state dispatch for READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR → re-poll loop → action discovery → run → proxy fallback) has real feedback loops and checkpoints, matching anchor 4. Not 5 because "skip to Step 2" is referenced twice with no Step 2 heading in the document, and "#### 1b" implies step numbering used nowhere else.

4 / 5

Progressive Disclosure

No bundle files exist; this is a single-file skill with clear, one-level-deep section headers (overview, install, auth, connecting, searching, running, proxy, best practices) and easy navigation. Minor organization gaps — the duplicated "Popular actions" section and generic Membrane CLI boilerplate inlined — match anchor 4 ("Good structure; most content is appropriately placed; minor organization gaps").

4 / 5

Total

15

/

20

Passed

Description

41%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 names its niche (Calendarific) and includes an explicit "Use when" clause, but everything else is generic integration-skill boilerplate: no concrete capabilities and no natural trigger vocabulary like "holidays" or "public holidays", which are the terms users would actually say. It would likely fail to surface for ordinary holiday-related requests that never mention the brand name.

Suggestions

Replace the generic actions with Calendarific-specific capabilities, e.g., "Look up public holidays, observances, and bank holidays by country and year".

Add natural trigger terms users would actually say: "holidays", "public holidays", "holiday calendar", "check holiday dates", "is a date a holiday in <country>".

Make the "Use when" clause concrete to the holiday domain, e.g., "Use when the user asks about public holidays, holiday calendars, or observances for a country or region".

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" is generic template boilerplate — the domain (Calendarific) is named but no concrete action (e.g., holiday lookup by country/year) is stated, matching the anchor "Names the domain but actions are minimal or generic". Not 1 because the domain is named rather than pure abstraction; not 3 because no concrete capability is actually described.

2 / 5

Completeness

An explicit "Use when..." clause is present, but it is a generic template trigger, and the "what" ("Manage data, records, and automate workflows") is vague. This falls between anchor 3 (clear what, weak when) and anchor 4 (both present, when could be more specific), pulled down by the boilerplate "what" and the trigger-free "when".

3 / 5

Trigger Term Quality

The only keyword is the brand name "Calendarific"; the natural phrases users would say — "holidays", "public holidays", "holiday calendar", "observances" — are entirely absent from "Use when the user wants to interact with Calendarific data". Anchor 2 ("missing the natural phrases users say") fits; it is not 3 because even the artifact class (holidays) is never mentioned.

2 / 5

Distinctiveness Conflict Risk

Naming the specific app "Calendarific" carves a clear niche with low wrong-skill trigger risk, matching anchor 4 ("Mostly distinct; minor overlap risk with closely related skills"). Not 5 because the template actions ("Manage data, records, and automate workflows") are indistinguishable from sibling integration skills.

4 / 5

Total

11

/

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