CtrlK
BlogDocsLog inGet started
Tessl Logo

mattermost

Mattermost integration. Manage Teams. Use when the user wants to interact with Mattermost data.

54

Quality

61%

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/mattermost/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 solid, command-rich guide to driving Mattermost via the Membrane CLI with a genuine connection-state feedback loop, but it pads in a concept-explaining intro, mixes invocation styles, and lacks validation guidance around destructive proxy/action calls. Structure is clean for a single-file skill.

Suggestions

Delete the 'Mattermost is an open-source, self-hosted team collaboration platform similar to Slack...' intro paragraph; Claude already knows what Mattermost is.

Add a verification/feedback step after destructive operations, e.g. after `membrane request ... -X DELETE` re-fetch the resource to confirm it is gone, to lift workflow clarity above the destructive-ops cap.

Resolve the dangling 'Step 2' reference by numbering the workflow explicitly (Step 1 install/auth, Step 2 connect, Step 3 discover/run) and standardize on either `membrane` or `npx @membranehq/cli` consistently.

DimensionReasoningScore

Conciseness

The body is mostly concrete CLI commands, but opens with an encyclopedia-style paragraph explaining what Mattermost is ('Mattermost is an open-source, self-hosted team collaboration platform similar to Slack...') that Claude already knows, plus minor marketing prose, fitting 'mostly efficient but includes some unnecessary explanation' rather than the lean anchor at 4.

3 / 5

Actionability

It provides many concrete, executable commands (install, login, connection ensure, action list/run, request) plus a proxy flag table, but mixes `membrane` and `npx @membranehq/cli` without explanation and gives no worked end-to-end Mattermost example, fitting 'mostly executable with minor gaps' over the fully-copy-paste anchor at 5.

4 / 5

Workflow Clarity

A real polling feedback loop exists for connection state (BUILDING/READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR), but the destructive proxy (DELETE/PUT) and action-run steps have no verification guidance, and a dangling 'Step 2' reference has no matching numbered step, so the destructive-operations-without-validation cap and sequence gaps hold this at 3 rather than 4.

3 / 5

Progressive Disclosure

The single-file content is well organized into clear sections (Overview, Authentication, Connecting, Searching, Running actions, Proxy, Best practices) with no nested references, and for a self-contained CLI integration this is appropriately placed; it stops short of 5 only because some reference-grade detail (e.g. the proxy flag table, connection-state catalog) is inlined rather than split out.

4 / 5

Total

14

/

20

Passed

Description

62%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, but it is thin on concrete capabilities and natural keyword variations. It is clearly tied to Mattermost but could be more specific about what users can actually do.

Suggestions

Replace the generic 'Manage Teams' with several concrete actions users perform (e.g. 'send messages, manage channels and teams, fetch posts and users') to lift specificity.

Add natural trigger synonyms users actually say, such as 'channels', 'posts', 'team chat', or 'Mattermost messages', to improve trigger-term coverage.

Tighten the 'when' clause to concrete triggers, e.g. 'Use when the user wants to send or read Mattermost messages, manage channels/teams, or query Mattermost data.'

DimensionReasoningScore

Specificity

Names the domain ('Mattermost integration') and one concrete action ('Manage Teams'), but offers no further concrete capabilities, matching the 'domain + 1-2 actions, not comprehensive' anchor rather than the several-actions anchor at 4.

3 / 5

Completeness

It states both what ('Mattermost integration. Manage Teams.') and when ('Use when the user wants to interact with Mattermost data.'), and the explicit 'Use when' clause avoids the cap at 3, but the 'when' is generic rather than tightly specified, fitting the 4 anchor over the concrete-trigger-phrases anchor at 5.

4 / 5

Trigger Term Quality

The natural keyword 'Mattermost' appears (and 'Mattermost data'), but common user variations like 'channels', 'posts', 'team chat', or 'messages' are absent, fitting 'some relevant keywords but missing common variations' rather than the good-coverage anchor at 4.

3 / 5

Distinctiveness Conflict Risk

Naming the specific app 'Mattermost' gives a clear niche with low conflict risk, but 'Manage Teams' carries minor overlap ambiguity (e.g. Microsoft Teams) and 'interact with Mattermost data' is somewhat broad, placing it at 'mostly distinct, minor overlap risk' rather than the minimal-conflict anchor at 5.

4 / 5

Total

14

/

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.