CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

benchmark-email

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

Quality

65%

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/benchmark-email/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 strong, executable runbook for the Membrane CLI integration: real commands, a state-machine-driven connection workflow with a polling feedback loop, and a useful action catalog. Its main flaws are cosmetic-but-real — vague filler lines, dangling "Step 2" references, a truncated table cell — plus a generic parameter example and no error-handling guidance for action runs.

Suggestions

Remove the contentless filler ("Use action names and parameters as needed") and trim the marketing-style intro paragraph about who uses Benchmark Email.

Fix the dangling references: "skip to **Step 2**" points to a step that is never labeled — either number the sections (Step 1: connect, Step 2: search/run actions) or rewrite as direct section links.

Replace the generic "--input '{\"key\": \"value\"}'" example with a realistic end-to-end run (e.g., membrane action run add-contact-to-list ... --input '{\"email\": \"...\"}'), and add brief guidance on interpreting and reacting to errors in the action-run response.

DimensionReasoningScore

Conciseness

The body is command-dense and mostly efficient, but includes unnecessary material: the marketing-style intro ("It's used by marketers and small business owners to manage email lists..."), the contentless filler "Use action names and parameters as needed", and a truncated table cell ("...profile updates, cle..."). This matches "Mostly efficient but includes some unnecessary explanation or could be tightened"; it is not a 2 because there is no multi-paragraph padding of concepts Claude already knows.

3 / 5

Actionability

Concrete, copy-paste-ready commands cover the full lifecycle — install, login (including headless completion), connection ensure/poll, action list/run, and proxy requests with a flags table — plus a catalog of specific action keys. Minor gap keeps it below 5: the parameter example is generic ("--input '{\"key\"}: \"value\"}'") rather than a realistic end-to-end run (e.g., add-contact-to-list with an actual payload).

4 / 5

Workflow Clarity

The sequence install → login → connection ensure → poll state → run actions → proxy fallback is clear, and connection setup has a genuine feedback loop (poll BUILDING, handle clientAction with type/description/uiUrl/agentInstructions, re-poll until READY, with error states documented). Minor gaps: "skip to **Step 2**" appears twice but no step is ever labeled "Step 2" (only an unnumbered "1b" heading exists), and there is no guidance on handling or retrying failed action runs.

4 / 5

Progressive Disclosure

The single-file body (~150 lines) is well-organized with clear section headers, appropriately placed tables (popular actions, proxy flags), and executable code blocks, with no nested or buried references. It is not a 5 because the dangling "Step 2" references and the vague unlabeled overview tree leave minor navigation gaps, and a couple of sections (the proxy flag reference, the action catalog) could plausibly live in reference files.

4 / 5

Total

15

/

20

Passed

Description

48%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 follows the right structural pattern (domain + actions + "Use when...") but fills it with vague, template-like content. The product name provides distinctiveness, yet no concrete capabilities or natural trigger phrases beyond the app name are given.

Suggestions

Replace "Manage data, records, and automate workflows" with concrete capabilities drawn from the skill's own action catalog, e.g. "Create and send email campaigns, manage contact lists and contacts, and retrieve campaign reports (opens, clicks, bounces, unsubscribes)."

Expand the "Use when" clause with natural trigger phrases users would actually say, e.g. "Use when the user mentions Benchmark Email, email marketing campaigns, newsletters, or managing contact/subscriber lists."

Avoid circular trigger wording ("interact with Benchmark Email data") that restates the domain without adding new trigger terms.

DimensionReasoningScore

Specificity

The description names the domain ("Benchmark Email integration") but its actions — "Manage data, records, and automate workflows" — are minimal and generic, matching the anchor "Names the domain but actions are minimal or generic". It is not a 3 because no concrete capability (e.g., create campaigns, add contacts, view reports) is stated.

2 / 5

Completeness

Both a "what" ("Manage data, records, and automate workflows") and an explicit "Use when..." clause are present, but the "what" is generic to the point of being contentless and the "when" is circular ("Use when the user wants to interact with Benchmark Email data" merely restates the domain). It falls between anchor 3 (a weak answer to what/when) and anchor 4 (both present but "when" could be more specific), landing below the midpoint because neither half is concrete.

3 / 5

Trigger Term Quality

"Benchmark Email" is a relevant, specific keyword, but the description misses the natural phrases users would say — "email campaign", "newsletter", "contact list", "email marketing" — matching "Some relevant keywords but missing common variations or synonyms". Not a 4 because keyword coverage is essentially one term plus the vague word "data".

3 / 5

Distinctiveness Conflict Risk

"Benchmark Email" is a specific product name, giving a clear niche with minimal conflict risk when the user mentions the product. Not a 5 because the only distinguishing trigger is the product name itself — the generic "Manage data, records, and automate workflows" phrasing overlaps with virtually any app-integration skill.

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.

Validation — 15 / 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

Path

skills/benchmark-email/SKILL.md

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.