CtrlK
BlogDocsLog inGet started
Tessl Logo

userlist

Userlist integration. Manage data, records, and automate workflows. Use when the user wants to interact with Userlist 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/userlist/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 content delivers executable Membrane CLI commands and a largely clear connection workflow with state-based checkpoints, but it carries some redundant or explanatory padding and references a 'Step 2' that has no corresponding section. Trimming the filler and aligning the step labels would sharpen it.

Suggestions

Remove the marketing-style intro paragraph and the filler line 'Use action names and parameters as needed.', and delete or merge the 'Popular actions' section that duplicates the 'Searching for actions' command.

Add an explicit 'Step 2' header (or renumber consistently) so the 'skip to Step 2' references resolve to a real section.

Move the proxy flags table and the clientAction state-handling detail into a separate reference file to keep the overview lean.

DimensionReasoningScore

Conciseness

The body is mostly efficient with concrete commands, but it includes some unnecessary padding: the opening paragraph explaining what Userlist is, the filler line 'Use action names and parameters as needed.', and a 'Popular actions' section that repeats the action-list command already shown under 'Searching for actions'.

3 / 5

Actionability

Concrete, executable `membrane` commands are provided throughout (login, connection ensure, action list/run, request proxy) with a clear flags table, but several examples rely on placeholders like `<actionId>`, `<id>`, and CONNECTION_ID that the reader must substitute.

4 / 5

Workflow Clarity

There is a clear sequence (install → authenticate → connect → poll for ready → search → run) with explicit state-based checkpoints and a poll-again feedback loop for CLIENT_ACTION_REQUIRED, though 'Step 2' is referenced without a matching header, leaving a minor sequencing gap.

4 / 5

Progressive Disclosure

The body is organized into well-labeled sections (Overview, Working with Userlist, Authentication, Connecting, Searching, Running actions, Proxy, Best practices) with no bundle files to reference; the structure is good but the proxy flags table and state-handling detail could arguably live in a separate reference.

4 / 5

Total

15

/

20

Passed

Description

66%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 covers both what and when and is product-distinctive, but its action verbs are generic and its trigger keywords lack the natural variations a user would actually utter. Tightening the action list and broadening trigger phrasing would lift the weaker dimensions.

Suggestions

Replace generic verbs ('Manage data, records') with concrete Userlist operations such as 'send broadcasts', 'manage segments', 'track user events', or 'trigger automations'.

Expand the 'Use when...' clause with natural trigger phrases users would say, e.g. 'send a Userlist broadcast', 'segment users', or 'trigger an automation'.

DimensionReasoningScore

Specificity

Names the domain ('Userlist integration') and a couple of actions ('Manage data, records, and automate workflows'), but the actions are generic ('manage data, records') rather than concrete Userlist-specific operations, so coverage is not comprehensive.

3 / 5

Completeness

Both 'what' (Userlist integration; manage data, records, automate workflows) and 'when' ('Use when the user wants to interact with Userlist data') are present, though the 'when' clause is somewhat generic and could be more explicit about specific Userlist use cases.

4 / 5

Trigger Term Quality

The trigger phrase 'Use when the user wants to interact with Userlist data' surfaces the product name, but keyword coverage is limited to 'Userlist' and 'Userlist data' with no synonyms or natural variations a user might actually say.

3 / 5

Distinctiveness Conflict Risk

Tying the skill to a named product ('Userlist integration', 'interact with Userlist data') gives it a clear niche with minimal risk of triggering for the wrong skill.

5 / 5

Total

15

/

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.