CtrlK
BlogDocsLog inGet started
Tessl Logo

cuttly

Cutt.ly integration. Manage Links. Use when the user wants to interact with Cutt.ly data.

60

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/cuttly/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 highly actionable, well-sequenced guide to driving Cutt.ly through the Membrane CLI, with real commands and a solid connection-state feedback loop; its main weaknesses are minor padding and the absence of validation guidance around destructive actions.

Suggestions

Trim the definitional opener and the near-empty '## Cutt.ly Overview' list, and remove the placeholder 'Use action names and parameters as needed.' to tighten token use.

Add a brief validation/confirmation checkpoint before destructive actions, e.g. 'Before running delete-short-link or edit-short-link, confirm the target link key with the user and verify the connection state is READY.'

Fold the proxy flag table and Popular actions into a short '## Reference' section or note so the core connect-and-run workflow reads as the primary path.

DimensionReasoningScore

Conciseness

Quotes lean, executable blocks like `npm install -g @membranehq/cli@latest` and `membrane connection ensure "https://cutt.ly/" --json`; it is mostly efficient but pads with a definitional opener ('Cutt.ly is a URL shortener service...'), a near-empty '## Cutt.ly Overview' list, and the placeholder line 'Use action names and parameters as needed.'

4 / 5

Actionability

Quotes copy-paste-ready commands across the whole flow — `membrane login`, `membrane connection ensure`, `membrane action list --intent`, `membrane action run <actionId> --input '{...}'`, and `membrane request CONNECTION_ID /path` with a full flag table — covering the common cases concretely.

5 / 5

Workflow Clarity

Quotes a clear install→authenticate→connect→poll-until-ready→search→run sequence with explicit state checkpoints ('READY', 'CLIENT_ACTION_REQUIRED', 'CONFIGURATION_ERROR') and a re-poll feedback loop after the user acts; it falls short of 5 because destructive actions like 'delete-short-link' appear without a pre-run validation/confirm step.

4 / 5

Progressive Disclosure

Quotes well-delimited sections ('## Working with Cutt.ly', '### Connecting to Cutt.ly', '## Popular actions', '### Proxy requests') with no nested external references and no bundle files present; structure is good but the sparse Overview block and inline flag/action tables could be tidied, keeping it just below a 5.

4 / 5

Total

17

/

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 pairs a 'what' with a 'Use when' trigger and names a specific service, keeping conflict risk low, but its action vocabulary is thin and the trigger terms miss the natural phrasing a user would actually say.

Suggestions

Replace the generic 'Manage Links' with concrete actions, e.g. 'Shorten URLs, edit and delete short links, view click analytics, and configure mobile redirects via Cutt.ly.'

Expand the 'Use when' clause with natural trigger phrases users say: 'Use when the user wants to shorten a URL, create or edit Cutt.ly short links, or check link click statistics.'

Add common synonyms/extensions such as 'short link', 'URL shortener', and 'Cutt.ly' so the trigger surfaces for varied phrasings.

DimensionReasoningScore

Specificity

Quotes 'Cutt.ly integration. Manage Links.' — it names the domain but offers only one generic action ('Manage Links'), comparable to 'Processes PDF files' rather than enumerating concrete capabilities like shorten/edit/delete.

2 / 5

Completeness

Quotes 'Cutt.ly integration. Manage Links.' (what) and 'Use when the user wants to interact with Cutt.ly data' (when) — both are present, but the 'when' is generic rather than tied to concrete triggers, matching the anchor where 'when' could be more explicit.

4 / 5

Trigger Term Quality

Quotes 'Use when the user wants to interact with Cutt.ly data' and 'Manage Links' — it has the brand keyword and 'Links' but omits the natural phrases users actually say ('shorten a URL', 'URL shortener', 'short link'), so synonyms/variations are missing.

3 / 5

Distinctiveness Conflict Risk

Quotes 'Cutt.ly integration' — naming a specific third-party service gives it a clear niche with low conflict risk, though the bare 'Manage Links' phrasing leaves minor overlap with generic link-management skills.

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.