CtrlK
BlogDocsLog inGet started
Tessl Logo

uberduck

Uberduck integration. Manage data, records, and automate workflows. Use when the user wants to interact with Uberduck data.

52

Quality

58%

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

Quality

Content

67%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 well-structured, actionable guide with concrete CLI commands and a genuine connection-state feedback loop, held back by some introductory padding and a couple of inconsistent step references.

Suggestions

Trim the introductory paragraph about what Uberduck is and lines like 'so you can focus on the integration logic rather than auth plumbing' to assume Claude's competence.

Fix the dangling step references: label the post-connection section 'Step 2' (or reword 'skip to Step 2') so the 1b / Step 2 navigation is coherent.

Standardize invocation (use either `membrane` or `npx @membranehq/cli@latest` consistently) and note that CONNECTION_ID, <actionId>, and <agentType> are placeholders the model must substitute.

DimensionReasoningScore

Conciseness

The body is mostly efficient commands and tables, but the intro ('Uberduck is a text-to-speech platform...') and chatty lines like 'so you can focus on the integration logic rather than auth plumbing' add explanation that could be trimmed, fitting 'Mostly efficient but includes some unnecessary explanation.'

3 / 5

Actionability

It provides concrete, copy-paste commands (install, login, connection ensure, action list/run, request) plus a thorough proxy flag table, but placeholders like CONNECTION_ID and <actionId> plus an npx-vs-membrane inconsistency leave minor gaps, fitting 'Mostly executable guidance; concrete code or commands with minor gaps.'

4 / 5

Workflow Clarity

The connect→poll→handle-state flow has a real feedback loop (CLIENT_ACTION_REQUIRED → user acts → re-poll) and explicit state checks, but the dangling 'skip to Step 2' / '1b' references with no labeled Step 2 are a minor clarity gap, fitting 'Clear sequence with most checkpoints present; minor validation gaps.'

4 / 5

Progressive Disclosure

With no bundle files, the single SKILL.md is organized into clear sections (Overview, Authentication, Connecting, Searching, Actions, Proxy, Best practices); the detailed clientAction schema and proxy flag table could arguably live in separate references, fitting 'Good structure; most content appropriately placed; minor organization gaps.'

4 / 5

Total

15

/

20

Passed

Description

50%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-statement with an explicit 'Use when' trigger and is distinct thanks to the Uberduck brand, but its actions and trigger terms are generic rather than reflecting Uberduck's actual TTS/voice capabilities.

Suggestions

Replace generic actions with concrete Uberduck capabilities, e.g. 'Generate text-to-speech audio, list and use AI voices, and run voice-cloning or async inference jobs.'

Add natural trigger terms users would actually say, such as 'text-to-speech', 'TTS', 'voice', 'voiceover', or 'generate audio', alongside 'Uberduck'.

Tighten the 'when' clause to mention the specific surface, e.g. 'Use when the user wants to generate speech, voiceovers, or cloned voices with Uberduck.'

DimensionReasoningScore

Specificity

It names the domain ('Uberduck integration') but the actions — 'Manage data, records, and automate workflows' — are generic and not concrete to Uberduck's TTS/voice capabilities, matching 'Names the domain but actions are minimal or generic.'

2 / 5

Completeness

Both a 'what' ('Manage data, records, and automate workflows') and an explicit 'when' ('Use when the user wants to interact with Uberduck data') are present, but neither is very specific, matching 'Has both what and when; when could be more explicit.'

4 / 5

Trigger Term Quality

Only 'interact with Uberduck data' is offered; it lacks natural phrases a user would say (e.g. text-to-speech, voice, TTS, generate audio) and has no synonyms or extensions, fitting 'one or two generic keywords; missing the natural phrases.'

2 / 5

Distinctiveness Conflict Risk

The branded 'Uberduck' trigger carves a clear niche with minimal conflict risk, though the generic 'data' wording leaves minor overlap with other data-handling skills, fitting 'Mostly distinct; minor overlap risk.'

4 / 5

Total

12

/

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.