CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ahrefs

Ahrefs integration. Manage Projects. Use when the user wants to interact with Ahrefs data.

Quality

69%

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

Quality

Content

63%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 solid, actionable integration guide: real commands, clear connection lifecycle with state-based checkpoints, and a proxy escape hatch. Its main weaknesses are a padded report catalog that belongs in a reference file, dangling 'Step 2' references with no matching headings, and the absence of a single worked end-to-end example.

Suggestions

Move the Ahrefs Overview report catalog (and optionally the popular-actions table) into a references/ file, keeping a short capability summary in SKILL.md with a clearly signaled link

Fix the dangling navigation: 'skip to **Step 2**' is referenced twice but no Step 2 heading exists, and '1b. Wait for the connection' implies a '1a' that is never labeled — number the workflow steps consistently

Add one worked end-to-end example, e.g. `membrane action run get-domain-rating --connectionId=... --input '{"target": "example.com"}' --json`, and clarify how the action table's keys map to <actionId>

Trim concept-explaining filler such as the opening paragraph on what Ahrefs is and the repeated 'Overview — provides a general overview' entries

DimensionReasoningScore

Conciseness

The command documentation is tight, but there is unnecessary explanation: the intro ("Ahrefs is a popular SEO tool suite used by marketers and SEO professionals...") and near-tautological catalog entries like "**Overview** — Provides a general overview of a website's SEO performance" repeated across three explorers. Mostly efficient but could be tightened, matching anchor 3 rather than 4 due to the volume of low-value report-catalog lines.

3 / 5

Actionability

Concrete executable commands throughout — `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://ahrefs.com" --json`, `membrane action run <actionId> --input '{"key": "value"}'` — plus a proxy flag table. Mostly executable with minor gaps: no worked end-to-end example (e.g. running get-domain-rating against a real target) and the mapping from the action table's keys to <actionId> is implicit, so it does not reach anchor 5.

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll state → search actions → run → proxy fallback) is clear, with explicit state checkpoints (READY, BUILDING, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR) and polling guidance for error recovery. Not 5: "skip to **Step 2**" is referenced twice but no Step 2 heading exists and "1b" implies an unlabeled "1a", leaving minor incoherence in the sequence.

4 / 5

Progressive Disclosure

A single-file skill with no bundle files; sections are well organized, but the ~35-line Ahrefs report catalog and the popular-actions table are reference-like content inlined in SKILL.md that would sit better in a separate file — matching anchor 3 (structure present, content that should be separate is inline). Not 2 because the body is navigable and well-sectioned; not 4 because at ~180 lines the report catalog and action reference clearly belong in a dedicated reference file.

3 / 5

Total

14

/

20

Passed

Description

61%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 correctly anchors on a distinctive brand name and includes an explicit 'Use when' clause, but it severely undersells the skill's actual capabilities. The what-side is a single narrow action ("Manage Projects") plus a generic "interact with Ahrefs data", omitting the backlink, keyword, and site-analysis work the body actually supports.

Suggestions

List the core capabilities concretely in the description, e.g. 'Analyze backlinks, referring domains, organic keywords, domain ratings, and competitor content gaps via the Ahrefs API'

Add natural trigger terms users would say, such as 'SEO', 'backlinks', 'keyword research', 'domain rating (DR)', or 'competitor analysis', not just the brand name 'Ahrefs'

Replace or expand 'Manage Projects' — it names one narrow Ahrefs feature while omitting the Site Explorer / Keywords Explorer / metrics functionality the skill actually provides

DimensionReasoningScore

Specificity

"Manage Projects" is the only concrete action and "interact with Ahrefs data" is generic; the description names the Ahrefs domain but leaves its actual capabilities (backlink analysis, keyword research, site metrics) unstated, matching the anchor 'Names the domain but actions are minimal or generic'. It falls short of 3 because there is not a clear 1-2 concrete-action list of what the skill does.

2 / 5

Completeness

Both components are explicitly present: what ("Ahrefs integration. Manage Projects.") and when ("Use when the user wants to interact with Ahrefs data"). Matches anchor 4 (both present, 'when' could be more specific) — not 3 because the 'when' is an explicit 'Use when...' clause rather than weakly implied, and not 5 because the 'what' lacks concrete capability statements and the trigger is generic.

4 / 5

Trigger Term Quality

"Ahrefs" and "Ahrefs data" are keywords users would naturally say, but common natural terms like "SEO", "backlinks", "keywords", "domain rating", or "competitor analysis" are missing — some relevant keywords but missing common variations and synonyms.

3 / 5

Distinctiveness Conflict Risk

"Ahrefs" is a distinct named brand with a clear niche; the description is unlikely to trigger for the wrong skill, matching anchor 5 (clear niche with distinct triggers, minimal conflict risk).

5 / 5

Total

14

/

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