CtrlK
BlogDocsLog inGet started
Tessl Logo

graphhopper

GraphHopper integration. Manage Maps. Use when the user wants to interact with GraphHopper data.

55

Quality

62%

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/graphhopper/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 content is a well-structured, actionable CLI integration guide with a clear connection state machine and feedback loop. Its main weaknesses are an unnecessary introductory concept paragraph that hurts conciseness and slightly thin error-recovery detail in the workflow.

Suggestions

Remove or trim the opening paragraph explaining what GraphHopper is; Claude already knows this and the official-docs link suffices.

Add one fully worked example of `membrane action run` with a real action key and input JSON plus its expected output, to close the actionability gap.

Expand the CONFIGURATION_ERROR / SETUP_FAILED branch with concrete recovery steps instead of only 'Check the error field for details'.

DimensionReasoningScore

Conciseness

The body is mostly efficient command references, but the opening paragraph ('GraphHopper is an open-source route planning engine. Developers use it to calculate routes...') explains a concept Claude already knows, which is unnecessary padding.

3 / 5

Actionability

Concrete, copy-paste-ready CLI commands are provided throughout (install, login, connection ensure/get, action list/run, request) plus an actions table with real keys; the minor gap is the absence of a fully worked action run with real input values and sample output.

4 / 5

Workflow Clarity

The connection workflow is a clearly sequenced state machine (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR) with a re-poll feedback loop, but error-recovery guidance ('Check the error field for details') is thin, a minor validation gap.

4 / 5

Progressive Disclosure

No bundle files exist and the body references none; the single file is well-organized into clear sections (Overview, Auth, Connecting, Actions, Proxy, Best practices) making navigation easy, though some inlined reference material (the actions table, the state machine) could live in separate files.

4 / 5

Total

15

/

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 is concise and includes an explicit 'Use when' trigger tied to a named product, giving it solid completeness and distinctiveness. It is weakest on specificity and trigger-term coverage, listing only the minimal 'Manage Maps' action and omitting natural terms like routing or geocoding.

Suggestions

Replace the generic 'Manage Maps' with concrete capabilities, e.g. 'Calculate routes, geocode addresses, compute isochrones, and match GPS traces.'

Expand the trigger clause to include natural synonyms users say: 'Use when the user wants routing, directions, geocoding, isochrones, or map matching with GraphHopper.'

Mention transportation modes or file extensions/keywords (routes, .gpx) to improve trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain ('GraphHopper integration') but the only action stated is the minimal/generic 'Manage Maps', which does not enumerate the concrete capabilities (routing, geocoding, isochrones) covered in the body.

2 / 5

Completeness

Both a 'what' ('GraphHopper integration. Manage Maps.') and an explicit 'when' ('Use when the user wants to interact with GraphHopper data.') are present; the 'when' is explicit but the 'what' is thin, keeping it below a 5.

4 / 5

Trigger Term Quality

'GraphHopper' and 'Maps' are relevant natural keywords a user would say, but common variations and synonyms users actually use (routing, directions, geocoding, isochrones) are missing.

3 / 5

Distinctiveness Conflict Risk

Naming the specific product 'GraphHopper' gives it a clear niche with low conflict risk, but the generic 'interact with GraphHopper data' phrasing leaves minor overlap risk with adjacent geo/mapping skills.

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.