CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

aerisweather

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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/aerisweather/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 content delivers strong, executable CLI guidance with an unusually well-handled connection-state branching workflow. Weaknesses are the padded action table (all 'No description'), the missing worked example with real parameters, a dangling 'Step 2' reference, and no use of separate reference files for the action catalog and proxy options.

Suggestions

Label the post-connection sections with explicit step numbers (Step 2: Search for actions, Step 3: Run actions) so the 'skip to Step 2' instruction resolves to a real heading.

Move the 20-row action catalog and the proxy flag table into a references/ file (e.g. references/actions.md) and keep only a handful of representative actions inline; drop the all-'No description' column.

Add one end-to-end worked example with real values, e.g. membrane action run get-conditions --connectionId=... --input '{"place": "minneapolis,mn"}' --json, so the common case is copy-paste ready.

Cut the opening paragraph describing what AerisWeather is; Claude does not need the vendor background to use the CLI.

DimensionReasoningScore

Conciseness

The body is largely command- and table-driven, but includes unnecessary padding: an intro paragraph explaining what AerisWeather is ('provides weather data and APIs for developers and businesses...'), and a 20-row 'Popular actions' table whose Description column is entirely 'No description' — wasted tokens on every row. Anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') fits; not 4 because these are more than minor trimmable instances.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout — 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://www.aerisweather.com" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json' — plus a flag table for proxy requests. Not 5 because the common case (e.g. getting current conditions for a specific location) is never shown with real parameter values; all examples use unsubstituted placeholders.

4 / 5

Workflow Clarity

The install → login → connection ensure → poll → search actions → run → proxy fallback sequence is clear, with genuinely good checkpoints: the state branching on READY / CLIENT_ACTION_REQUIRED (including clientAction subtypes and re-polling) / CONFIGURATION_ERROR. Not 5 because 'If the returned connection has state: "READY", skip to Step 2' references a 'Step 2' that is never labeled anywhere in the document, leaving the numbering dangling.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and ~170 lines of content — including a 20-row action catalog and a full proxy flag reference — are inlined in SKILL.md where a references file would be appropriate. Structure via headers is decent, matching anchor 3 ('some structure but could be better organized; content that should be separate is inline') rather than 4, which expects 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 identifies the app clearly via its brand name and includes an explicit 'Use when' clause, satisfying basic structure. However, the capability statement is generic boilerplate ('Manage data, records, and automate workflows') and the trigger relies solely on the brand name rather than natural weather-related terms users would say.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete capabilities, e.g. 'Fetch weather observations, forecasts, air quality, severe weather alerts, and lightning/tropical cyclone data via the AerisWeather API.'

Add natural trigger terms to the 'Use when' clause: 'Use when the user asks about weather, forecasts, current conditions, air quality, or weather alerts, or mentions AerisWeather.'

Remove the vague 'records' terminology that does not correspond to any AerisWeather concept and only adds noise.

DimensionReasoningScore

Specificity

The description names the domain ('AerisWeather integration') but the actions are pure template filler — 'Manage data, records, and automate workflows' — with no concrete weather-specific actions like fetching forecasts, conditions, or alerts. It matches anchor 2 ('Names the domain but actions are minimal or generic') rather than 3, which requires 1-2 genuinely concrete actions.

2 / 5

Completeness

Both parts are present: a what ('Manage data, records, and automate workflows') and an explicit when ('Use when the user wants to interact with AerisWeather data'). Not 3 because the 'Use when...' clause is explicit rather than implied; not 5 because the when-clause is tautological (use it when the user wants to use it) and the what is boilerplate rather than concrete.

4 / 5

Trigger Term Quality

The only real keyword is the brand name 'AerisWeather'; the natural phrases users actually say — 'weather', 'forecast', 'current conditions', 'air quality', 'alerts' — never appear ('interact with AerisWeather data' is circular). This sits between anchors 2 and 3 but is noticeably below the midpoint since a user asking about weather would not naturally be matched by this text.

2 / 5

Distinctiveness Conflict Risk

The brand name 'AerisWeather' carves out a clear niche with minimal conflict risk against non-weather skills, though the generic 'Manage data, records, and automate workflows' tail could overlap with other app-integration skills. Anchor 4 ('Mostly distinct; minor overlap risk with closely related skills') is the best fit.

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