CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bouncer

Bouncer integration. Manage Organizations, Leads, Projects, Pipelines, Users, Goals and more. Use when the user wants to interact with Bouncer data.

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/bouncer/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 body is highly actionable — every workflow step is backed by an executable Membrane CLI command and the state-handling for connections is genuinely thorough. Its weaknesses are an incoherent step-numbering scheme (an orphan "1b" and references to an unlabeled "Step 2"), missing validation before destructive batch operations, and a contradictory opening that describes Bouncer as an Android permissions app while the rest of the document (and the actions) treat it as an email-verification service.

Suggestions

Fix the step sequencing: label the connection-establishment step as "Step 1" (making the existing "1b" its subsection) and explicitly label "Searching for actions"/"Running actions" as Step 2 and Step 3 so the internal "skip to Step 2" references resolve.

Add validation guidance before destructive/batch actions, e.g. run bouncer.get-batch-status (or get-batch-results) and confirm with the user before bouncer.delete-batch, bouncer.delete-toxicity-job, or bouncer.finish-batch since finish/delete forfeit credits and results.

Remove the incorrect introductory paragraph ("Bouncer is a mobile app that gives users temporary permissions... used by Android users") and the template-leftover "Bouncer Overview" bullet list (User/Device/Session/Application/Event), replacing them with one accurate sentence about Bouncer being an email verification service.

DimensionReasoningScore

Conciseness

The command examples and tables are tight, but padding is present: the opening paragraph ("Bouncer is a mobile app that gives users temporary permissions to other apps... It's used by Android users") contradicts the rest of the document and is unnecessary, the "Bouncer Overview" bullet list (User/Device/Session/Application/Event) adds no actionable value, and phrases like "This will burn less tokens" could be trimmed.

3 / 5

Actionability

Every section gives copy-paste-ready executable commands (npm install, membrane login, connection ensure/get with --wait, action run with --input JSON, request with a full flag table), and the 13-row actions table lists concrete keys, so the common cases are fully covered.

5 / 5

Workflow Clarity

The connection state machine has explicit checkpoints (poll BUILDING, handle CLIENT_ACTION_REQUIRED via uiUrl/agentInstructions, check error on CONFIGURATION_ERROR), but step numbering is incoherent ("#### 1b." with no 1a, references to a "Step 2" that is never labeled) and destructive/batch operations (Delete Batch, Delete Toxicity Job, Finish Batch) have no validation steps before execution, capping this dimension at 3.

3 / 5

Progressive Disclosure

A single SKILL.md with no bundle files, organized into clear sections (Install, Authentication, Connecting, Searching, Actions, Running, Proxy, Best practices) where the inline quick-reference tables are appropriately placed; the only structural blemish is the stray, off-topic "Bouncer Overview" section.

4 / 5

Total

15

/

20

Passed

Description

58%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 structure — third-person what-statement plus an explicit "Use when" clause — but its content is mistargeted: it reads like a generic CRM integration template rather than Bouncer's actual domain of email verification, toxicity checking, and credit management. The circular trigger ("interact with Bouncer data") and the absence of any natural task terms like "verify emails" or "bounce" limit both trigger quality and distinctiveness.

Suggestions

Replace the generic entity list with Bouncer's actual capabilities, e.g. "Verify email addresses in real time or in bulk, check email toxicity, monitor batch verification jobs and credits. Use when the user wants to verify emails, validate an email list, check bounces or toxicity, or check Bouncer verification credits."

Add natural trigger phrases users would actually say — "verify email", "email validation", "bounce", "clean my email list", "toxicity check" — instead of the circular "interact with Bouncer data".

Remove the CRM-template vocabulary (Organizations, Leads, Projects, Pipelines, Goals) which misrepresents the app and creates conflict risk with CRM/sales skills.

DimensionReasoningScore

Specificity

The domain is named and many managed objects are enumerated ("Organizations, Leads, Projects, Pipelines, Users, Goals"), but the only action verb is the generic "Manage", which falls short of the score-4 anchor's "several specific actions" (like verify emails, check toxicity, get credits) while conveying more than the score-2 anchor's single generic verb.

3 / 5

Completeness

Both parts are explicitly present: the what ("Manage Organizations, Leads, Projects, Pipelines, Users, Goals") and an explicit when-clause ("Use when the user wants to interact with Bouncer data"), so the missing-when cap at 3 does not apply; however the trigger is circular ("interact with Bouncer data") rather than the concrete trigger phrases required for a 5.

4 / 5

Trigger Term Quality

"Bouncer" and "Bouncer data" are genuine keywords an existing Bouncer user would say, but the natural task phrases a user would actually utter — verify emails, email verification/validation, bounce checking, toxicity, deliverability — are all missing, matching the anchor for relevant keywords lacking common variations and synonyms.

3 / 5

Distinctiveness Conflict Risk

The product name "Bouncer" is a distinct niche identifier, but the accompanying entity list ("Leads", "Pipelines", "Goals", "Organizations", "Users") is generic CRM vocabulary that overlaps heavily with CRM/sales-tool skills and could trigger this skill for the wrong product; it sits at "somewhat specific but could still overlap" rather than "mostly distinct".

3 / 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.

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/bouncer/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.