CtrlK
BlogDocsLog inGet started
Tessl Logo

freshservice

Freshservice integration. Manage Tickets, Contacts, Companies, Products, Contracts, Vendors. Use when the user wants to interact with Freshservice data.

62

Quality

73%

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/freshservice/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 content is highly actionable with copy-paste-ready CLI commands and a well-structured connection workflow, but it pads the opening with a redundant Freshservice explainer and — critically — offers no validation checkpoint before destructive actions like delete-ticket, which caps workflow clarity. It is a single inline guide with no progressive disclosure to separate reference files.

Suggestions

Remove or condense the opening paragraph explaining what Freshservice is; Claude already knows this and it consumes context for no gain.

Add an explicit validation/verification checkpoint before destructive actions (e.g., confirm the ticket ID and re-fetch before running delete-ticket) to lift workflow clarity above the destructive-operation cap.

Move the 20-row Popular actions table and proxy flag reference into a one-level-deep reference file (e.g. actions.md) referenced from SKILL.md to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The opening paragraph ("Freshservice is a cloud-based customer support software that helps businesses manage and resolve customer issues... Think of it as a help desk and service management solution.") explains what Freshservice is — concept padding Claude already knows — and "Use action names and parameters as needed." is filler; the rest is mostly efficient commands and tables, so it sits at mostly-efficient with some unnecessary explanation rather than severely verbose.

3 / 5

Actionability

Provides copy-paste-ready, fully executable commands across the common cases (npm install, membrane login, connection ensure, action list/run with --input JSON, request proxy) plus concrete flag tables and a Popular actions table mapping names to keys, covering the typical workflow comprehensively.

5 / 5

Workflow Clarity

The connection setup is a clear sequence with validation checkpoints (poll --wait, state handling for READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR with a re-poll feedback loop) that would otherwise score 4-5, but the skill exposes destructive operations (e.g. "Delete Ticket", "Update Ticket") with no validation/verification step before running them, so the destructive-operation cap holds workflow clarity at 3.

3 / 5

Progressive Disclosure

The body is well-organized with clear section headers (Overview, Working with Freshservice, Install, Authentication, Connecting, Searching, Popular actions, Running actions, Proxy requests, Best practices) and is self-contained with no nested references; not 5 because it runs ~160 lines with a 20-row action table of reference-like material inlined in SKILL.md rather than split into a one-level-deep reference file.

4 / 5

Total

15

/

20

Passed

Description

78%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 is strong: it names a specific product, enumerates six concrete managed entities, and includes an explicit Use-when trigger in third-person voice. It stops short of top marks only because the action verb is generic ("Manage") and the trigger phrase is singular rather than varied.

DimensionReasoningScore

Specificity

Names the domain (Freshservice) and enumerates six concrete managed entity types ("Tickets, Contacts, Companies, Products, Contracts, Vendors"), which is comprehensive coverage of domain objects; falls short of 5 because the single generic verb "Manage" is used rather than several distinct concrete actions (list/create/update/delete).

4 / 5

Completeness

Explicitly answers both "what" ("Freshservice integration. Manage Tickets, Contacts, Companies, Products, Contracts, Vendors.") and "when" ("Use when the user wants to interact with Freshservice data."), satisfying the Use-when requirement so it is not capped at 3; not 5 because the "when" is a single generic trigger rather than multiple concrete trigger phrases.

4 / 5

Trigger Term Quality

Includes the distinctive product name "Freshservice" plus concrete entity keywords (Tickets, Contacts, Companies) and an explicit "Use when..." trigger, giving good natural keyword coverage; not 5 because common synonyms like "help desk", "support tickets", or "service desk" are missing and the trigger phrase "interact with Freshservice data" is somewhat generic.

4 / 5

Distinctiveness Conflict Risk

"Freshservice integration" targets a specific named SaaS product with distinctive entity triggers, giving a clear niche with minimal conflict risk against other skills.

5 / 5

Total

17

/

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.