CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

beebole

Beebole integration. Manage Users, Organizations, Filters. Use when the user wants to interact with Beebole data.

Quality

71%

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/beebole/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 delivers a largely executable, well-sectioned guide for connecting to Beebole and discovering/running actions, with efficient command-first writing. Its main weaknesses are a broken step-numbering scheme (references to a nonexistent "Step 2"), no worked example of running a real action with concrete input, and no verification guidance for destructive operations like delete-time-entry.

Suggestions

Fix the dangling workflow references: "skip to **Step 2**" and the "1b" subsection numbering point to steps that are never labeled — either number the workflow explicitly (1. Connect, 2. Discover actions, 3. Run) or drop the cross-references.

Add a worked example with a real action from the table, e.g. "membrane action run list-time-entries --connectionId=CONNECTION_ID --input '{\"from\": \"2026-01-01\", \"to\": \"2026-01-31\"}' --json".

Add verification guidance for write/delete operations — e.g. fetch the target with get-person/get-time-entry before deleting, and check the output field for errors after create/update.

DimensionReasoningScore

Conciseness

The body is command-dense and lean in most sections (Install, Authentication, Connecting, Proxy), with only minor trimmable content like the filler line "Use action names and parameters as needed." and the marketing-style intro "It's used by businesses of all sizes to monitor employee work hours...". This matches anchor 4 ("Efficient; minor instances of over-explanation that could be trimmed") rather than 3, since padding is sparse and the app context is arguably necessary for a niche SaaS.

4 / 5

Actionability

Nearly all guidance is copy-paste executable: "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://beebole.com/\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json", plus a concrete proxy flag table. It falls short of anchor 5 only because there is no worked example running a real action from the table (e.g. list-time-entries) with concrete input values — anchor 4 ("concrete code or commands with minor gaps").

4 / 5

Workflow Clarity

A rough sequence exists (Install → login → connection ensure → poll states → action list → action run) with connection-state checkpoints (re-poll after CLIENT_ACTION_REQUIRED), but the text says "skip to **Step 2**" and numbers a section "1b" while no Step 1/Step 2 labels exist anywhere — a dangling workflow reference. Additionally, the actions table includes destructive operations (delete-time-entry, update-person) with no validation/verification guidance, which caps workflow clarity at 3 per the destructive-operations rule. Not anchor 2, since a coherent sequence and some error-recovery checkpoints are present.

3 / 5

Progressive Disclosure

This is a single-file skill with no bundle directories, and the body is well-sectioned with clear headers (Install the CLI, Authentication, Connecting to Beebole, Searching for actions, Popular actions, Proxy requests, Best practices). It matches anchor 4 ("Good structure; most content is appropriately placed; references mostly clear; minor organization gaps") rather than 5 because the ~20-row actions table and full proxy flag reference are inlined in SKILL.md instead of being split into reference files, though they arguably mirror what "membrane action list" returns.

4 / 5

Total

15

/

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 names the target app, lists entity types, and includes an explicit 'Use when...' clause in proper third-person voice, but it leans on one generic verb ("Manage") and omits the time-tracking vocabulary that would let users trigger it naturally. It also references entities ("Organizations, Filters") that do not match the API entities documented in the body (People, Companies, Projects, Tasks).

Suggestions

Replace "Manage Users, Organizations, Filters" with concrete actions matching the actual API surface, e.g. "Create and update time entries, people, companies, projects, and tasks; run reports".

Add natural trigger vocabulary: "Use when the user mentions Beebole, time tracking, timesheets, or logging work hours".

Align the listed entity names with the documented API (People, Companies, Projects, Tasks, Time entries) instead of "Users, Organizations, Filters".

DimensionReasoningScore

Specificity

"Manage Users, Organizations, Filters" names the domain and concrete entity nouns, but the only action verb is the generic "Manage" — matching anchor 2 ("Names the domain but actions are minimal or generic", e.g. "Processes PDF files") rather than anchor 3's 1-2 concrete actions. It is not anchor 1 because specific entities (Users, Organizations, Filters) are explicitly named.

2 / 5

Completeness

Both parts are present: what ("Manage Users, Organizations, Filters") and an explicit when ("Use when the user wants to interact with Beebole data", in third person). It fits anchor 4 ("both 'what' and 'when'; 'when' could be more explicit or specific") rather than 5 because the 'when' is circular — it restates the app name instead of giving concrete trigger phrases — and the 'what' is generic. It is above anchor 3 because the 'when' clause is explicit, not merely implied.

4 / 5

Trigger Term Quality

Keywords like "Beebole", "Users", "Organizations", and "Filters" are present, but the natural phrases a user would say for this domain — "time tracking", "timesheet", "log hours" — are entirely absent (the body even identifies Beebole as time-tracking software). This matches anchor 3 ("Some relevant keywords but missing common variations or synonyms") and falls short of anchor 4 because the core domain vocabulary is missing wholesale.

3 / 5

Distinctiveness Conflict Risk

"Beebole integration" and "interact with Beebole data" anchor the description to a single niche SaaS app, so it would not trigger for unrelated skills — matching anchor 5 ("Clear niche with distinct triggers; minimal conflict risk"). It is not anchor 4 since the brand name fully disambiguates it from even closely related skills (e.g. other time-tracking integrations).

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