CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

appointo

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

Quality

65%

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/appointo/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 is a solid, command-driven guide to the Membrane CLI workflow with genuine error-recovery checkpoints around connection state. Its weaknesses are filler content, a duplicated and empty "Popular actions" section, broken internal step numbering ("skip to Step 2" with no Step 2), and the absence of any concrete Appointo action example.

Suggestions

Fix the dangling workflow numbering: either number the steps explicitly (1. Connect, 2. Search actions, 3. Run actions) so "skip to Step 2" resolves, or remove the reference and the orphaned "1b" header.

Make "Popular actions" list actual Appointo actions with example commands (e.g., listing appointments, creating a booking) instead of repeating the action-search command already shown in "Searching for actions".

Trim filler: delete "Use action names and parameters as needed.", and either give the entity overview bullets a purpose (mapping entities to actions/parameters) or cut them.

DimensionReasoningScore

Conciseness

The bulk is tight, executable command blocks, but there are several distinct spots that need tightening: the filler line "Use action names and parameters as needed.", a bare entity bullet tree (Appointment/Customer/Service/Staff/Location) with no accompanying guidance, a vague "Agent Types ... etc." line, and a "Popular actions" section that merely repeats the action-search command already documented above. This matches "Mostly efficient but includes some unnecessary explanation or could be tightened" rather than the minor-trimming of a 4.

3 / 5

Actionability

Nearly every section gives copy-paste-ready commands: npm install, membrane login (including the headless complete-code flow), connection ensure with --wait polling, action list/run with a JSON --input example, and a proxy request with a full flags table. It is not a 5 because no worked example of an actual Appointo action (e.g., listing or creating an appointment) is shown — the "Popular actions" section lists none — and placeholders like CONNECTION_ID are never resolved end-to-end.

4 / 5

Workflow Clarity

The connection lifecycle is clearly sequenced with real validation checkpoints: poll with --wait until state changes, branch on READY / CLIENT_ACTION_REQUIRED (with typed clientAction handling and re-poll after the user authenticates) / CONFIGURATION_ERROR. It is not a 5 because "skip to Step 2" references a step that is never labeled anywhere (the sections are unnumbered except for a dangling "1b"), leaving the overall sequence implicitly rather than explicitly ordered.

4 / 5

Progressive Disclosure

This is a single-file skill (no references/, scripts/, or assets/ exist) with clearly headed sections and a well-signaled external pointer to the official docs. Structure is good and most content is appropriately inline for a CLI-driven skill, matching "Good structure; most content is appropriately placed; minor organization gaps" — the gaps being the dangling step numbering, the empty "Popular actions" section, and detail like the clientAction state spec and proxy flag table that could live in reference files if the skill grows.

4 / 5

Total

15

/

20

Passed

Description

48%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 the target app and includes a well-formed "Use when" trigger, but the capability statement is generic filler with no Appointo-specific actions and no natural trigger vocabulary (appointments, bookings, scheduling). It would fire correctly only when the user literally says "Appointo".

Suggestions

Replace "Manage data, records, and automate workflows" with concrete capabilities, e.g., "Create, list, and update appointments, bookings, customers, services, and staff in Appointo".

Add natural trigger terms users actually say — appointments, bookings, scheduling, classes, events — to the "Use when" clause, e.g., "Use when the user mentions Appointo or asks about appointments, bookings, or scheduling data".

Make the when-clause non-circular: "interact with Appointo data" restates the integration instead of describing the situations that call for the skill.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain ("Appointo integration") but the actions are generic padding, matching the anchor "Names the domain but actions are minimal or generic". It is not a 3 because no concrete capability (e.g., appointments, bookings, customers, services) is ever stated.

2 / 5

Completeness

An explicit "Use when..." clause exists, but the "what" ("Manage data, records, and automate workflows") is generic rather than clear, and the "when" is circular ("interact with Appointo data" restates the integration). It sits between the anchor-3 example (clear what, weak when) and anchor 4 (both present), pulled down by the vague what.

3 / 5

Trigger Term Quality

The only meaningful keyword is the app name "Appointo" (plus generic "data", "records"), so it parallels "Works with PDF files" — relevant keyword present but missing common variations and synonyms like appointments, bookings, scheduling, classes, or events. Not a 4 because no natural user phrase beyond the product name appears.

3 / 5

Distinctiveness Conflict Risk

"Appointo integration" identifies a specific app, giving a clear niche with minor overlap risk, matching "Mostly distinct; minor overlap risk". Not a 5 because the generic tail ("Manage data, records, and automate workflows") is boilerplate that would fit any Membrane app-integration skill, so it is not fully distinguishable from sibling integration skills.

4 / 5

Total

12

/

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