CtrlK
BlogDocsLog inGet started
Tessl Logo

hackernews-frontpage

Scrape the Hacker News front page (titles, points, comment counts).

59

Quality

68%

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 ./browser-skills/hackernews-frontpage/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

78%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 exceptionally concise and well-structured for a small single-purpose skill, with a clear sequence and an implicit test-based feedback loop; its main weakness is that the scraping/parsing mechanics are described rather than shown as executable code.

Suggestions

Add a short, concrete code snippet showing the selector-based parsing (e.g., the tr.athing extraction into the Story record) so the actionability of the scraping step matches the run command.

Make the validation/feedback loop explicit in the workflow (e.g., 'If parsing returns 0 stories, the HN HTML layout likely changed; regenerate the fixture and update selectors') rather than relegating it to the rationale section.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: a short usage block, a four-step 'How it works' list, and a brief rationale with no padding or explanation of basic concepts, matching anchor 5 ('lean and efficient; every token earns its place'). Not 4 because there is no over-explanation to trim.

5 / 5

Actionability

It gives an executable invocation ('$B skill run hackernews-frontpage') and a concrete sample JSON output, but the core scraping logic is described abstractly ('Reads the page HTML', 'Parses each story row') with no executable code for the actual parsing, matching anchor 3 ('some concrete guidance but incomplete'). Not 4 because there is no copy-paste parsing code; not 2 because the run command and output schema are concrete.

3 / 5

Workflow Clarity

The 'How it works' list is a clear four-step sequence (navigate, read HTML, parse rows, emit JSON), and the fixture/test feedback loop ('the test fails against the captured fixture before users notice') acts as an implicit validation checkpoint, matching anchor 4 ('clear sequence with most checkpoints present; minor validation gaps'). Not 5 because validation is described as an external test rather than an explicit in-workflow validate->fix->retry step; not 3 because the sequence is clear and a feedback mechanism is present.

4 / 5

Progressive Disclosure

This is a simple skill under 50 lines with no bundle files (references/scripts/assets all absent) and well-organized sections (Usage, How it works, Why), so per the simple-skill scoring note it qualifies for anchor 5; the content is appropriately self-contained with no nested or buried references. Not 4 because there are no organization gaps given the size.

5 / 5

Total

17

/

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 is concise and third-person with a clear niche and concrete output fields, but it omits an explicit 'Use when...' trigger clause and lacks natural synonyms (e.g., 'HN', 'top stories'), which cap completeness and trigger-term quality at 3.

Suggestions

Add an explicit 'Use when...' clause naming natural trigger phrases such as 'Use when the user asks for the HN or Hacker News front page, top stories, or front-page story metadata.'

Include common synonyms users say ('HN', 'top stories', 'front page') to raise trigger-term coverage beyond the single 'Hacker News front page' phrase.

Optionally mention the JSON output format in the description so the 'what' is fully concrete and distinctiveness is unambiguous.

DimensionReasoningScore

Specificity

The description names the domain (HN front page) and three concrete outputs ('titles, points, comment counts'), which matches anchor 4's 'several specific actions; minor gaps'; it is not 5 because it lists output fields rather than a comprehensive set of distinct actions, and not 3 because it specifies more than 1-2 concrete capabilities.

4 / 5

Completeness

It clearly answers 'what' (scrape front page, return titles/points/comment counts) but provides no 'Use when...' / 'when should Claude use it' clause, which per the guidelines caps completeness at 3. Not 4 because 'when' is entirely missing rather than merely weak; not 2 because the 'what' is clear rather than vague.

3 / 5

Trigger Term Quality

'Hacker News front page' and the parenthetical fields are relevant, but it lacks the natural synonyms/variations a user would actually say ('HN top stories', 'scrape HN'); this sits at anchor 3 (some relevant keywords, missing common variations). Not 4 because no file extensions or synonyms appear; not 2 because it is more specific than 'Works with files'.

3 / 5

Distinctiveness Conflict Risk

'Scrape the Hacker News front page' is a clear niche unlikely to conflict with other skills, matching anchor 4 ('mostly distinct; minor overlap risk'); not 5 because the trigger phrasing is not as comprehensively explicit as the anchor 5 example, and not 3 because it is far more specific than generic 'works with document files'.

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

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
garrytan/gstack
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.