CtrlK
BlogDocsLog inGet started
Tessl Logo

dnsfilter

DNSFilter integration. Manage data, records, and automate workflows. Use when the user wants to interact with DNSFilter 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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/dnsfilter/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 to driving DNSFilter through the Membrane CLI, with a clear multi-step connection workflow and real validation checkpoints. Its main weaknesses are a padded marketing intro, a broken "Step 2" cross-reference, and a redundant Popular actions section.

Suggestions

Remove or trim the opening "DNSFilter is a cloud-based DNS security platform..." paragraph and the "auth plumbing" / "burn less tokens" asides so every token earns its place.

Fix the "skip to Step 2" reference by numbering the sections (Step 1: Connect, Step 2: Search & run actions) or rewording it to point to a real heading.

Merge the redundant "Popular actions" section into "Searching for actions" and show one complete end-to-end example (a real actionId run against a DNSFilter connection) to close the actionability gap.

DimensionReasoningScore

Conciseness

Most of the body is lean CLI commands, but it opens with a product-marketing paragraph ("DNSFilter is a cloud-based DNS security platform...") and includes filler like "so you can focus on the integration logic rather than auth plumbing" and "burn less tokens", putting it at the mostly-efficient-but-could-be-tightened anchor.

3 / 5

Actionability

It provides concrete, copy-paste-ready commands for the common cases (install, login, connection ensure, action list/run, request proxy) plus a flag table, but relies on placeholders (CONNECTION_ID, <actionId>, /path/to/endpoint) and never shows a real DNSFilter action executed end-to-end, leaving a minor gap below the fully-executable anchor.

4 / 5

Workflow Clarity

The install → authenticate → connect → poll-for-ready → handle client action → search → run flow is clearly sequenced with explicit validation checkpoints (state polling, READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR handling, re-poll after action), but the dangling "skip to Step 2" reference points to a label that does not exist and the "Popular actions" section restates the search command, so minor gaps keep it below level 5.

4 / 5

Progressive Disclosure

With no bundle files present, the single ~145-line file is organized into well-labeled sections (Overview, Working with DNSFilter, Authentication, Connecting, Searching, Running actions, Proxy, Best practices) and is appropriately self-contained at this size, with only minor redundancy ("Popular actions" vs "Searching for actions") keeping it from a clean 5.

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 cleanly states both what the skill does and when to use it, and the named product makes it highly distinct. Its weakness is generic action verbs and a thin set of natural trigger keywords beyond the product name itself.

Suggestions

Replace generic verbs with concrete DNSFilter actions, e.g. "Manage sites, policies, allow/block lists, and deployments; search and run DNSFilter actions."

Add natural trigger phrases users would say, such as "Use when the user wants to manage DNS filtering, block or allow domains, or configure DNSFilter policies."

Mention the key DNSFilter objects (sites, policies, allow/block lists, roaming clients) so the trigger surface matches what users actually ask for.

DimensionReasoningScore

Specificity

Names the domain (DNSFilter) and a couple of actions — "Manage data, records, and automate workflows" — but the verbs are generic ("manage", "automate") and the objects are abstract, so it stops at the 1-2 concrete-actions anchor rather than reaching the specific-actions level above.

3 / 5

Completeness

It explicitly answers both what ("Manage data, records, and automate workflows") and when ("Use when the user wants to interact with DNSFilter data"), but the what-side actions are generic, so it sits just below the level-5 anchor that requires concrete trigger phrases on both sides.

4 / 5

Trigger Term Quality

The description relies almost entirely on the product name "DNSFilter" (repeated as "DNSFilter data"), with no natural variations or synonyms a user might actually say (e.g. "DNS filtering", "block domains", "web filtering", "phishing"), matching the "some relevant keywords but missing common variations" anchor.

3 / 5

Distinctiveness Conflict Risk

"DNSFilter" is a uniquely named product, giving it a clear niche with a distinct trigger and minimal risk of firing for an unrelated 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.