CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bookingmood

Bookingmood integration. Manage data, records, and automate workflows. Use when the user wants to interact with Bookingmood 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/bookingmood/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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 strong, command-driven integration guide: install, auth, connection, action discovery, execution, and proxy fallback are all covered with executable commands and explicit connection-state checkpoints. The main defects are a broken 'Step 2' cross-reference, no validation guidance around destructive update/delete actions, and an unresolved <actionId> placeholder in the run command.

Suggestions

Fix the dangling 'skip to Step 2' reference by giving the sections explicit step labels (e.g. 'Step 1: Connect', 'Step 2: Search for actions', 'Step 3: Run actions') or removing the step numbering.

Add validation guidance for destructive operations — e.g. verify a booking's details with get-booking and confirm with the user before running delete-booking or update-booking.

Include one fully concrete run example that resolves the <actionId> placeholder, e.g. membrane action run list-bookings --connectionId=... --input '{"limit": 10}' --json, clarifying whether the id or the key from the actions table is used.

DimensionReasoningScore

Conciseness

The body is dominated by executable commands, flag tables, and a dense actions table, with only minor over-explanation that could be trimmed ('This is the fastest way to get a connection…', 'This will burn less tokens and make communication more secure'). This matches the 'Efficient; minor instances of over-explanation that could be trimmed' anchor — not 5 because several padded editorial sentences remain, and not 3 because the product intro and connection-state handling are non-obvious information Claude genuinely lacks.

4 / 5

Actionability

Commands are copy-paste ready ('npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://www.bookingmood.com" --json') with a full flag table for proxy requests, matching 'Mostly executable guidance; concrete code or commands with minor gaps'. It is not 5 because 'membrane action run <actionId>' is never concretized — the actions table exposes a 'Key' column but no example resolves whether the id or the key is passed, and no fully concrete run example exists; not 3 because nothing is pseudocode or abstract.

4 / 5

Workflow Clarity

The connection sequence has real checkpoints (poll with --wait, an explicit READY/BUILDING/CLIENT_ACTION_REQUIRED state matrix with re-poll instructions), but the flow is broken by a dangling 'skip to Step 2' reference for a step that is never labeled, and the skill exposes destructive operations (delete-booking, update-booking) with no validation or confirmation guidance. Per the rubric's cap — a skill whose workflows include destructive operations without validation cannot score above 3 — this is capped at 3. It is not 2 because the connect-run sequence is well-defined with explicit state handling.

3 / 5

Progressive Disclosure

A well-organized single-file structure with clear section headers (Install, Authentication, Connecting, Searching, Popular actions, Proxy, Best practices) and no nested references, matching 'Good structure; most content is appropriately placed; minor organization gaps'. It is not 5 because at roughly 160 lines with no bundle files, the popular-actions catalog or proxy flag reference could be split into one-level-deep reference files; not 3 because nothing is buried and section navigation is easy.

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 correctly includes an explicit 'Use when...' trigger and benefits from the distinctive Bookingmood product name, but its capability statement is generic filler. Replacing 'Manage data, records, and automate workflows' with the platform's actual capabilities (bookings, availability calendars, rental units, contacts) would raise both specificity and trigger quality.

Suggestions

Replace the generic phrase 'Manage data, records, and automate workflows' with concrete capabilities, e.g. 'Retrieve and update bookings, rental units, contacts, and availability calendar data'.

Add natural trigger terms and synonyms users would actually say, such as 'bookings', 'reservations', 'rental calendar', or 'vacation rental data', alongside the product name.

State what the skill concretely does operationally (e.g. 'runs Bookingmood actions via the Membrane CLI') so the 'what' is as explicit as the 'when'.

DimensionReasoningScore

Specificity

The description names the domain ('Bookingmood integration') but its actions are purely generic — 'Manage data, records, and automate workflows' could describe almost any integration, matching the 'Names the domain but actions are minimal or generic' anchor. It is not 3 because no concrete action (e.g., retrieving bookings or managing availability calendars) is explicitly stated.

2 / 5

Completeness

Both elements are present: a (vague) what ('Manage data, records, and automate workflows') and an explicit when ('Use when the user wants to interact with Bookingmood data'), matching the 'Has both what and when' anchor. It is not 5 because the what-side is too generic to supply concrete trigger phrases, and not 3 because the when is explicitly stated rather than merely implied.

4 / 5

Trigger Term Quality

'Bookingmood' is a genuine natural keyword repeated twice, but common user phrasings — bookings, reservations, availability calendars, vacation rentals — are entirely absent, matching 'Some relevant keywords but missing common variations or synonyms'. It is not 4 because keyword coverage rests solely on the product name with no natural synonyms or variations.

3 / 5

Distinctiveness Conflict Risk

The unique product name 'Bookingmood' creates a clear niche with minimal wrong-skill triggering, matching 'Mostly distinct; minor overlap risk'. It is not 5 because the generic 'Manage data, records, and automate workflows' phrasing overlaps with generic data-management and SaaS-integration skill descriptions.

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