CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

badger-maps

Badger Maps integration. Manage data, records, and automate workflows. Use when the user wants to interact with Badger Maps data.

Quality

64%

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/badger-maps/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, command-driven integration guide with an unusually well-specified connection state machine, but it is undermined by padding, a half-empty actions table, broken internal step references, and everything inlined in one file with no progressive disclosure. Fixing the overview filler and the cross-reference numbering would lift most dimensions.

Suggestions

Fix the workflow numbering: define the referenced 'Step 2' (e.g. '## Step 2: Search for actions') or rewrite the 'skip to Step 2' pointers, and renumber '1b' under an explicit 'Step 1'.

Fill or drop the empty Description column in the 'Popular actions' table, and collapse the redundant plural/singular overview bullets (Territories/Territory, Customers/Customer, ...) into a single meaningful list.

Add one worked example of running an action with a real key and input payload, e.g. membrane action run create-check-in --connectionId=... --input '{"accountId": "123"}' --json.

Move the proxy options table and full action catalog into a references/ file (e.g. ACTIONS.md) and link to it, keeping SKILL.md as a lean overview.

DimensionReasoningScore

Conciseness

The command examples are efficient and the auth-handling detail is genuinely non-obvious, but there is noticeable padding: the 'Badger Maps Overview' section lists plural/singular bullet pairs with no content plus the filler line 'Use action names and parameters as needed', and the 'Popular actions' table carries an entirely empty Description column. This matches anchor 3 (mostly efficient but includes some unnecessary explanation or could be tightened) more than anchor 4.

3 / 5

Actionability

Concrete, copy-paste-ready commands cover the full lifecycle: install, login (including the headless completion flow), connection ensure with --wait polling, action list/run, and the proxy request with a full options table. It falls short of anchor 5 only because 'membrane action run <actionId>' is never shown with a real action key and input from the table, leaving the most common operation without a worked example.

4 / 5

Workflow Clarity

The connection workflow has a clear sequence with explicit state-based checkpoints (READY / CLIENT_ACTION_REQUIRED with clientAction sub-fields / CONFIGURATION_ERROR) and a poll-again loop, matching anchor 4 (clear sequence, most checkpoints present). It is not anchor 5 because internal references are broken: the text says 'skip to **Step 2**' twice but no Step 2 heading exists, and a '#### 1b' appears under an unnumbered parent — and destructive actions (Delete Account) are listed with no verification guidance.

4 / 5

Progressive Disclosure

Sections are clearly headed and navigable (Install, Authentication, Connecting, Searching, Actions, Proxy, Best practices), but the ~160-line body is entirely inline with no reference files at all, and reference-shaped material (the action catalog table and the proxy options table) lives in SKILL.md. This fits anchor 3 (some structure, content that should be separate is inline) better than anchor 4, which expects most content appropriately split.

3 / 5

Total

14

/

20

Passed

Description

50%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 has a clear 'Use when' trigger and a distinct app-specific niche, but its capability statements are vague. It tells the model when to activate but not what Badger Maps actually enables (route planning, territories, check-ins, customer CRM), which weakens both specificity and trigger-term coverage.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete capabilities drawn from the app, e.g. 'Manage customers, territories, routes, check-ins, and leads. Plan and optimize field sales routes.'

Add natural trigger phrases users would actually say, such as 'route planning', 'field sales', 'customer visits', or 'check in at a customer', rather than only the generic 'interact with Badger Maps data'.

Keep the explicit 'Use when...' clause but widen it slightly, e.g. 'Use when the user mentions Badger Maps, wants to plan sales routes, or manage field-sales customer data.'

DimensionReasoningScore

Specificity

The description names the domain ('Badger Maps integration') but the actions are generic: 'Manage data, records, and automate workflows' could describe almost any integration, and none of the app's concrete capabilities (routes, territories, check-ins, customers, leads) are mentioned. It sits between anchor 2 (domain named, actions minimal/generic) and anchor 3, but since no action is specific to Badger Maps, anchor 2 is the closer fit.

2 / 5

Completeness

Both parts are explicitly present: what ('Badger Maps integration. Manage data, records, and automate workflows') and when ('Use when the user wants to interact with Badger Maps data'). This matches anchor 4 (both present, could be more specific) — the 'when' clause is explicit but narrow, and the 'what' leans on generic verbs rather than concrete capabilities, keeping it below anchor 5.

4 / 5

Trigger Term Quality

The only real keyword is 'Badger Maps' itself; the remaining terms ('data', 'records', 'workflows') are generic and match anchor 2 ('one or two generic keywords; missing the natural phrases users say'). Natural phrases a user would actually say — 'plan a sales route', 'check in', 'field sales', 'customer data', 'territory' — are absent.

2 / 5

Distinctiveness Conflict Risk

'Badger Maps integration' and 'interact with Badger Maps data' establish a clear niche with minimal conflict risk, approaching anchor 5. However, the middle sentence 'Manage data, records, and automate workflows' is generic enough to overlap with other data-management or workflow-automation skills, matching anchor 4 (mostly distinct, minor overlap risk).

4 / 5

Total

12

/

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/badger-maps/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.