CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

balena

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

Quality

61%

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/balena/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 provides genuinely executable CLI guidance with concrete commands and a thoughtful connection-state handling loop, which is its main strength. However, the workflow is undermined by broken step cross-references (dangling "Step 2" and an orphan "1b" section), an empty "Popular actions" section, and scattered padding that dilutes the token budget. It is a usable but unpolished integration guide that needs structural cleanup rather than new content.

Suggestions

Fix the workflow numbering: define Step 1 / Step 2 explicitly (or drop the numbered scheme) so "skip to **Step 2**" and the orphaned "1b. Wait for the connection" section resolve to real destinations.

Either populate the "Popular actions" section with a few named Balena actions (e.g. list devices, deploy a release, set an environment variable) or remove the heading and let "Searching for actions" / "Running actions" stand as top-level sections.

Trim the padded passages — the two-sentence Balena intro, the filler Overview line "Use action names and parameters as needed.", and verbose best-practice sentences — and explain the bare --tenant flag in the login command.

DimensionReasoningScore

Conciseness

The body is mostly efficient and command-driven, but contains several padded passages: the "Balena is a platform for deploying and managing fleets..." intro, the near-empty Overview section ending in the filler line "Use action names and parameters as needed.", and best-practice prose like "This will burn less tokens and make communication more secure". Fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than 2, since concrete commands dominate.

3 / 5

Actionability

Nearly all guidance is executable with concrete example commands ("npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://www.balena.io/\" --json", a complete proxy flag table). Not 5: the "Popular actions" section promises actions but lists none, and "membrane login --tenant --clientName=<agentType>" leaves the bare --tenant flag unexplained, leaving minor gaps.

4 / 5

Workflow Clarity

The connect → poll → search → run sequence is present with real checkpoints (polling with --wait, the READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR state machine with recovery steps), but the step numbering is incoherent: "skip to **Step 2**" references a step that is never defined, and section "1b" has no corresponding step 1 or 1a. This fits 'steps listed but checkpoints missing or implicit' territory — more than the minor gaps of anchor 4 because the cross-references are broken.

3 / 5

Progressive Disclosure

This is a single-file skill with no bundle files (no references/, scripts/, or assets/), and it has clear ## sections. But organization is muddled: "Running actions" and "Proxy requests" are nested under an empty "Popular actions" heading that contains no actions, and ~155 lines of CLI detail all sit in one file that could be split. Fits 'some structure but could be better organized' rather than 4's 'minor organization gaps'.

3 / 5

Total

13

/

20

Passed

Description

48%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 names the target platform and includes an explicit 'Use when' clause, but both the 'what' and 'when' are generic. It reads as a template placeholder ("Manage data, records, and automate workflows" could describe almost any integration) rather than a description of Balena's actual domain: deploying and monitoring IoT device fleets.

Suggestions

Replace the generic capability list with Balena-specific actions, e.g. "Deploy releases to device fleets, manage devices and their environment variables, and monitor fleet status."

Expand the trigger clause with the natural terms users would say: "Use when the user mentions Balena, balenaCloud, IoT device fleets, device releases, or managing IoT devices."

Briefly state what Balena is for in the description (an IoT fleet deployment platform) so the skill is distinguishable from generic data-management or automation skills.

DimensionReasoningScore

Specificity

The description names the domain ("Balena integration") but every action is generic — "Manage data, records, and automate workflows" — with no concrete Balena-specific capabilities such as deploying releases, managing device fleets, or rebooting devices. It matches the anchor 'names the domain but actions are minimal or generic'.

2 / 5

Completeness

A 'when' clause exists ("Use when the user wants to interact with Balena data") but it is tautological — it restates the domain rather than giving concrete triggers — and the 'what' ("Manage data, records, and automate workflows") is too vague to count as a clear description of capabilities. It sits between anchor 3 and anchor 4: below 4 because the 'what' lacks concreteness, above 2 because an explicit 'when' clause is present.

3 / 5

Trigger Term Quality

"Balena" is the single most natural trigger term and is present, along with "data" and "records", but the description misses the common vocabulary users would actually say (IoT devices, fleets, releases, apps, balenaCloud). This fits 'some relevant keywords but missing common variations or synonyms' better than 4, where only a few natural terms would be missing.

3 / 5

Distinctiveness Conflict Risk

Balena is a specific niche platform, so the skill is mostly distinct from other skills, but the generic phrasing "Manage data, records, and automate workflows" could overlap with database or workflow-automation skills. Not 5 because the trigger "interact with Balena data" is not fully distinct from generic data-management requests.

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