CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

go-rod-master

Comprehensive guide for browser automation and web scraping with go-rod (Chrome DevTools Protocol) including stealth anti-bot-detection patterns.

Quality

66%

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/go-rod-master/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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, code-dense reference for go-rod: highly actionable examples covering the real feature set, plus honest limitations and pitfalls. Its weaknesses are structural — duplicated wait/stealth sections inflating token cost, no sequenced workflow with validation checkpoints, inlined content that should live in reference files, and example files referenced but absent from the bundle.

Suggestions

Collapse the duplicated auto-wait/WaitRequestIdle examples into a single 'Waiting Strategies' section and fold 'Verifying Stealth' into the stealth usage section to cut ~60 lines of repeated content.

Add a short ordered 'Typical scraping workflow' (connect → defer close → stealth.MustPage → Timeout chain → extract → verify with MustScreenshot/bot test page) so the reference has an explicit sequence with checkpoints.

Move the bulk API tables already in references/api-reference.md out of the body (keep 3–4 key examples inline), and either ship the four promised examples/*.go files in the bundle or remove the Examples section listing them.

DimensionReasoningScore

Conciseness

The body is mostly efficient, library-specific knowledge (Must vs Error patterns, chained timeouts, stealth internals) that Claude genuinely needs, but there is noticeable duplication and padding: the MustWaitRequestIdle/auto-wait examples appear nearly verbatim in both 'Core Concepts → Auto-Wait' and 'Implementation Guidelines → 5. Waiting Strategies', the 'Verifying Stealth' section repeats the stealth.MustPage usage block, and the MustElement('#dynamic-content') example is redundant with the selector section. This fits the 'mostly efficient but includes some unnecessary explanation or could be tightened' anchor rather than level 4's 'minor instances'.

3 / 5

Actionability

Nearly every section gives concrete, executable Go code with install commands (`go get github.com/go-rod/rod@latest`), import blocks, and realistic method chains — copy-paste ready for the common cases. Minor gaps keep it below 5: some snippets use `utils`, `gson`, and `proto` without imports, and the referenced `examples/*.go` files are not in the bundle.

4 / 5

Workflow Clarity

The document is organized as a topical reference, not a sequenced workflow: there is no ordered path for a typical scrape task (launch → stealth page → wait → extract → close), and the numbered 'Implementation Guidelines' 1–12 are independent topics rather than steps. One genuine checkpoint exists (verifying stealth against bot.sannysoft.com) and Common Pitfalls provides error-recovery guidance, but validation is otherwise implicit — matching 'steps listed but validation gaps; checkpoints missing or implicit' rather than level 4's 'clear sequence with most checkpoints'.

3 / 5

Progressive Disclosure

There is one real, clearly signaled, one-level-deep bundle file (references/api-reference.md, listed under Documentation References and verified to exist), but the ~540-line body inlines substantial reference-style content (12 implementation sections, hijack API, launcher flags) that belongs in separate files, and it points to an `examples/` directory with four .go files that do not exist in the bundle. This matches 'some structure; content that should be separate is inline' with the added defect of dangling references, so it cannot score 4.

3 / 5

Total

13

/

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 is specific to the go-rod niche and largely avoids fluff, but it reads as a capability statement rather than a trigger-oriented description: it lacks any 'Use when' guidance and omits natural phrases like 'headless browser' and 'Go'. Adding an explicit use-when clause with concrete actions would lift both completeness and specificity.

Suggestions

Append a 'Use when' clause, e.g. 'Use when the user wants to scrape or automate websites in Go with a headless browser, bypass bot detection (Cloudflare), or work with the Chrome DevTools Protocol.'

Replace the padded lead 'Comprehensive guide for' with concrete actions: extracting text/content from dynamic pages, clicking and filling forms, intercepting network requests, and running concurrent page pools.

Include natural synonyms users would say — 'headless browser', 'headless Chrome/Chromium', 'Go'/'golang' — so the skill triggers reliably over competing browser-automation skills.

DimensionReasoningScore

Specificity

The description names the domain and capabilities — "browser automation and web scraping with go-rod (Chrome DevTools Protocol) including stealth anti-bot-detection patterns" — but these are areas rather than concrete actions (no verbs like extract text, click, screenshot, intercept requests). It matches 'names domain and capabilities but not comprehensive concrete actions' better than the level-4 anchor, which expects several specific listed actions; the padded word "Comprehensive" also signals over-claim rather than added specificity.

3 / 5

Completeness

The 'what' is clear (a guide for browser automation/web scraping with go-rod plus stealth patterns), but there is no 'Use when...' clause or equivalent explicit trigger guidance; triggers are only weakly implied by keywords. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural terms: "browser automation", "web scraping", "stealth", "anti-bot-detection", plus the library name go-rod and "Chrome DevTools Protocol". A few common user phrases are missing — "headless browser", "headless Chrome", "Chromium", and explicit mention of the Go language — keeping it below the comprehensive level-5 anchor.

4 / 5

Distinctiveness Conflict Risk

Naming go-rod and CDP gives it a clear niche with minimal conflict risk against generic document/data skills. Minor overlap remains with other browser-automation skills (Playwright/Selenium/Puppeteer skills) since the description does not restrict itself to Go beyond the embedded library name.

4 / 5

Total

14

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (546 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/go-rod-master/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.