CtrlK
BlogDocsLog inGet started
Tessl Logo

holded

Holded integration. Manage Organizations. Use when the user wants to interact with Holded data.

57

Quality

66%

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/holded/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 highly actionable with copy-paste CLI commands and a well-sequenced connection workflow with state-based checkpoints. It could tighten its opening exposition and pull the entity overview into a reference, but it is a strong, executable skill document.

Suggestions

Trim the opening paragraph explaining what Holded is — Claude can infer this from the brand name; lead with the integration purpose instead.

Move the long Holded entity tree (Contact/Invoice/.../Delivery Note) into a reference file or condense it, since the action list is discoverable via `membrane action list`.

Add an explicit validation/feedback loop for create operations (e.g., re-fetch the created resource to confirm success) to lift workflow clarity.

DimensionReasoningScore

Conciseness

Mostly efficient with executable command blocks and a compact popular-actions table, but it pads with already-known context (e.g., 'Holded is an all-in-one business management software designed for SMEs...') and restates guidance; matches 'Mostly efficient but includes some unnecessary explanation or could be tightened', short of a 4.

3 / 5

Actionability

Every section is concrete and copy-paste ready — install (`npm install -g @membranehq/cli@latest`), auth (`membrane login ...`), connection (`membrane connection ensure ...`), action search/run with `--input` JSON, and proxy flags — fully executable commands covering the common cases.

5 / 5

Workflow Clarity

The connection flow is clearly sequenced with explicit state checks (`READY` → skip, `BUILDING` → poll with `--wait`, `CLIENT_ACTION_REQUIRED` → act then re-poll) and named next steps; it lacks a destructive/batch validation checkpoint but the operations are reads/creates with built-in error states, so this sits at 'Clear sequence with most checkpoints present' rather than a 3.

4 / 5

Progressive Disclosure

Well-organized with clear sections (Overview, Working with Holded, Popular actions, Proxy, Best practices) and the bulk action catalog is summarized in a table rather than inlined; there are no separate bundle files, and this is well under the simple-skill threshold so structure alone is sufficient, but a few inline lists (e.g., the entity tree) could move out, keeping it at 'Good structure; minor organization gaps'.

4 / 5

Total

16

/

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 names the Holded domain and an explicit 'Use when' trigger, but its capability list is thin ('Manage Organizations') and the trigger is generic. It is functional and on-brand, just not comprehensive or sharply distinctive.

Suggestions

List 2-3 concrete capabilities (e.g., manage contacts, invoices, projects, deals) so specificity reaches the comprehensive anchor.

Broaden the trigger with natural user phrases and synonyms, e.g., 'Use when the user wants to manage Holded contacts, invoices, deals, or projects.'

Avoid 'interact with Holded data' as the sole trigger — it is too generic to distinguish this skill from a raw API skill.

DimensionReasoningScore

Specificity

Quotes 'Holded integration' and 'Manage Organizations' name the domain and one concrete action ('Manage Organizations'), but actions are otherwise minimal/generic with no enumeration of what can actually be done — closest to 'Names the domain but actions are minimal or generic', not a 3 which needs 1-2 concrete actions.

2 / 5

Completeness

Has both a 'what' ('Holded integration. Manage Organizations.') and an explicit 'when' ('Use when the user wants to interact with Holded data'), matching 'Has both what and when; when could be more explicit or specific'; not a 5 because the trigger phrase is generic rather than concrete.

4 / 5

Trigger Term Quality

Includes 'Holded data', 'Organizations', and a 'Use when the user wants to interact with Holded data' clause, so there are some relevant natural keywords, but it lacks common synonyms or the broader set of natural terms users say (contacts, invoices, deals); sits at 'Some relevant keywords but missing common variations'.

3 / 5

Distinctiveness Conflict Risk

The 'Holded' brand name and 'Manage Organizations' give it a clear niche with only minor overlap risk against generic CRM/ERP skills; it does not reach a 5 because the trigger ('interact with Holded data') is broad rather than sharply scoped.

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.

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