CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

abuselpdb

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

Quality

60%

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

Quality

Content

61%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 delivers largely executable Membrane CLI guidance with a sensible setup-to-action flow and a real polling loop, undermined by a generic "what is AbuseIPDB" intro, an empty Overview stub, broken step references, and a Popular actions table with blank descriptions. It also offers destructive and batch actions without any validation or confirmation steps.

Suggestions

Delete the "what is AbuseIPDB" intro paragraph and the empty "AbuselPDB Overview" bullet stub, or fill the stub with the actual capability mapping.

Fix the broken "skip to **Step 2**" reference (add a real Step 2 heading and a Step 1a/1b pairing) and use the same command form ("membrane" vs "npx @membranehq/cli") consistently.

Add validation guidance for the destructive/batch actions — e.g. confirm with the user before running report-ip, clear-address, or bulk reports, and verify parameters against the action's inputSchema before executing.

Fill the empty Description column in the Popular actions table so action selection does not depend on the name alone.

DimensionReasoningScore

Conciseness

The opening paragraph explains what AbuseIPDB is ("a database of IP addresses that have been reported for malicious activity... used by system administrators, security researchers...") — a concept Claude already knows — and the "AbuselPDB Overview" section is a contentless stub of four empty bullets. The rest of the CLI guidance is reasonably tight, matching the anchor for mostly efficient with some unnecessary explanation.

3 / 5

Actionability

Concrete copy-paste commands appear throughout ("npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://www.abuseipdb.com/\" --json", "membrane action run <actionId> --input '{\"key\": \"value\"}' --json" plus a proxy flag table). Minor gaps keep it from fully executable coverage: the Popular actions table has an entirely empty Description column and no worked example runs a real action with actual input.

4 / 5

Workflow Clarity

The install → login → connection → search → run → proxy sequence exists with a polling feedback loop for connection states, but "skip to **Step 2**" references a heading that does not exist, section "1b" has no "1a", and the polling command inconsistently switches to "npx @membranehq/cli". More importantly, the skill exposes destructive and batch actions ("Report IP Address", "Clear Address Reports", "Bulk Report") with no validation or confirmation guidance, which caps this dimension at 3.

3 / 5

Progressive Disclosure

No bundle files exist, and the ~145-line single file is well-organized with clear section headers (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices). It is not a lean under-50-line skill, and the connection-state handling and proxy flag reference could arguably live in a separate reference file, matching the good-structure-with-minor-gaps anchor.

4 / 5

Total

14

/

20

Passed

Description

41%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 names the target product but describes it only in generic buzzwords, and its single keyword is a misspelling of "AbuseIPDB" that would fail to match the phrase users actually type. The when-clause exists but is circular ("interact with AbuselPDB data") and does not compensate for the missing capability list.

Suggestions

Replace "Manage data, records, and automate workflows" with the concrete capabilities: e.g. "Check IP addresses for abusive reports, report malicious IPs, fetch the abuse blacklist, and submit bulk reports."

Fix the misspelling "AbuselPDB" to "AbuseIPDB" and add natural trigger terms users would say, such as "IP reputation", "report an IP", "abuse blacklist", or "is this IP malicious".

Make the when-clause specific rather than circular, e.g. "Use when the user mentions AbuseIPDB, wants to check or report an IP address for abuse, or needs an IP blacklist."

DimensionReasoningScore

Specificity

"AbuselPDB integration" names the domain, but the only actions offered are "Manage data, records, and automate workflows" — generic phrasing with no concrete capability (no mention of checking IPs, reporting abuse, or blacklists). This matches the anchor for naming the domain with minimal or generic actions; it is not score 3 because no specific concrete action is listed.

2 / 5

Completeness

A "Use when the user wants to interact with AbuselPDB data" clause is explicitly present, so it is not capped for a missing trigger, but the "what" half is pure fluff — "Manage data, records, and automate workflows" conveys no actual capability. It sits between the vague-what (3) and both-present-but-weak (4) anchors, and the fluff-filled what pulls it to 3.

3 / 5

Trigger Term Quality

The sole keyword is "AbuselPDB" — a misspelling of the actual product "AbuseIPDB" — alongside generic terms like "data" and "records". All natural phrases a user would say ("AbuseIPDB", "IP reputation", "report this IP", "blacklist", "malicious IP") are missing, matching the anchor for one or two keywords while missing the natural phrases users say.

2 / 5

Distinctiveness Conflict Risk

The product name carves out a clear niche (IP abuse reporting) that few skills would overlap, though the generic "manage data, records, and automate workflows" phrasing creates minor overlap risk with data-management and workflow-automation skills, keeping it below the clear-niche-with-distinct-triggers anchor.

4 / 5

Total

11

/

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