CtrlK
BlogDocsLog inGet started
Tessl Logo

product-hunt

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

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/product-hunt/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 CLI integration guide with concrete commands and explicit connection-state feedback loops. Its main weakness is conciseness: it opens with an unnecessary explanation of what Product Hunt is and includes minor fluff that Claude does not need.

Suggestions

Remove the opening paragraph explaining what Product Hunt is ("Product Hunt is a website where users discover and share new products...") — Claude already knows this.

Delete low-value filler such as "so you can focus on the integration logic rather than auth plumbing" to tighten token efficiency.

Trim the redundant "Product Hunt Overview" nested singular/plural list, which adds no actionable information beyond the action-search guidance.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete commands, but includes unnecessary explanation Claude already knows, e.g. "Product Hunt is a website where users discover and share new products. It's primarily used by tech enthusiasts, entrepreneurs, and early adopters..." and the fluff "so you can focus on the integration logic rather than auth plumbing." It is not a 4 because the what-is-Product-Hunt paragraph is clear over-explanation, and not a 2 because the bulk is lean executable guidance rather than heavily padded.

3 / 5

Actionability

Provides copy-paste-ready commands covering the common cases — install (npm install -g @membranehq/cli@latest), login, connection ensure, action list/run with --input JSON, and request proxying with a flag table. It is not a 4 because the examples comprehensively cover install through execution with concrete flags and JSON output, matching the fully-executable anchor.

5 / 5

Workflow Clarity

There is a clear sequence (install → authenticate → ensure connection → wait for ready → search actions → run/proxy) with feedback loops ("poll again", "Keep polling until state is no longer BUILDING") and explicit state handling (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR). It is not a 5 because the "Step 2" referenced in the text is not visibly labeled as a step, creating a minor sequencing gap; not a 3 because validation checkpoints and error-recovery loops are present.

4 / 5

Progressive Disclosure

No bundle files exist, and the single SKILL.md is organized into well-labeled sections (Overview, Working with Product Hunt, Install, Authentication, Connecting, Searching, Popular actions, Proxy, Best practices) with no nested references. It is not a 5 because the skill exceeds 50 lines and the "Product Hunt Overview" nested list (Posts/Post, Comments/Comment) is low-value padding that could be trimmed; not a 3 because structure is clear and content is appropriately placed.

4 / 5

Total

16

/

20

Passed

Description

57%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 identifies the Product Hunt domain and includes an explicit "Use when" trigger, but relies on generic verbs ("manage data, records, automate workflows") rather than concrete Product-Hunt-specific capabilities. It is adequate but reads like a templated integration skill.

Suggestions

Replace generic actions with concrete Product Hunt capabilities, e.g. "Browse posts, read comments, list makers, and search topics on Product Hunt."

Expand the trigger clause with natural user phrasings, e.g. "Use when the user wants to find Product Hunt posts, read comments, or explore topics/makers."

Add the file extension or API reference (e.g. "producthunt.com", "Product Hunt API") to strengthen trigger term coverage and distinctiveness.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the Product Hunt domain but the actions are generic and not Product-Hunt-specific (no mention of posts, comments, topics, or makers), matching the anchor where the domain is named but actions are minimal/generic. It is not a 3 because no concrete PH-specific action is enumerated, and not a 1 because the domain is explicitly identified.

2 / 5

Completeness

It states a "what" ("Manage data, records, and automate workflows") and an explicit "when" ("Use when the user wants to interact with Product Hunt data"), fitting the anchor for both present with the "when" being somewhat generic. It is not a 5 because neither the what nor the when uses concrete trigger phrases, and not a 3 because the "Use when" clause is explicit so it is not capped at 3.

4 / 5

Trigger Term Quality

"Product Hunt" and "Product Hunt data" are relevant natural keywords, but common user phrasings and synonyms (e.g. "posts", "comments", "ProductHunt") are missing, fitting the anchor for some relevant keywords without common variations. It is not a 4 because coverage lacks the natural terms users would actually say, and not a 2 because the core term is the natural one rather than only technical jargon.

3 / 5

Distinctiveness Conflict Risk

"Product Hunt integration... interact with Product Hunt data" targets a distinct named service with low conflict risk, matching the anchor for mostly distinct with minor overlap risk. It is not a 5 because the templated "interact with X data" phrasing could be shared across similar integration skills, and not a 3 because the named app makes it clearly more specific than broad-overlap examples.

4 / 5

Total

13

/

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.