CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

better-stack

Better Stack integration. Manage Incidents, Users, Teams. Use when the user wants to interact with Better Stack data.

Quality

79%

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

Quality

Content

76%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.

A strongly actionable, well-structured single-file skill: exact CLI commands, a comprehensive action catalog, and a clear connection workflow with state-based checkpoints. The main gap is the absence of validation before destructive actions (delete-incident/heartbeat/monitor), which caps workflow clarity, plus minor padding in the overview and best-practices sections.

Suggestions

Add explicit validation before destructive actions, e.g. "Before running delete-incident, fetch it with get-incident and confirm the ID and title with the user; deletion is permanent."

Trim the opening paragraph about what Better Stack is and who uses it — Claude already knows this — and drop marketing framing like "so you can focus on the integration logic rather than auth plumbing".

Clarify the relationship between the action table's "Key" column and the <actionId> used in `membrane action run`, e.g. show one fully concrete example such as `membrane action run resolve-incident --connectionId=... --input '{"incidentId": "..."}'`.

DimensionReasoningScore

Conciseness

The body is largely command-focused with copy-paste CLI invocations, but has minor trimmable padding: the opening paragraph explaining what Better Stack is and who uses it ("It's used by DevOps engineers and SREs to monitor their applications"), and framing like "so you can focus on the integration logic rather than auth plumbing" and "This will burn less tokens". This matches 'efficient; minor instances of over-explanation that could be trimmed' rather than the fully lean anchor.

4 / 5

Actionability

Every section provides exact, copy-paste-ready commands with flags and JSON examples — "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://betterstack.com/\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json" — plus a 16-row action table with keys and a proxy options table, fully covering the common cases.

5 / 5

Workflow Clarity

The install → login → connection ensure → poll state → search → run sequence is well laid out with state-based checkpoints (READY / BUILDING / CLIENT_ACTION_REQUIRED with follow-up polling, and error handling for CONFIGURATION_ERROR / SETUP_FAILED). However, the skill drives destructive operations (delete-incident, delete-heartbeat, delete-monitor) with no validation or verification steps before executing them, and the rubric explicitly caps workflow clarity at 3 for destructive operations without validation.

3 / 5

Progressive Disclosure

As a single-file skill with no bundle files, the content is organized into well-labeled sections (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices) with no buried or nested references, and the action table is appropriately core inline content — matching 'good structure; most content is appropriately placed' with only minor gaps (e.g., the proxy flag table and best-practices sections could be tightened into fewer places).

4 / 5

Total

16

/

20

Passed

Description

73%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.

A solid description that clearly names the product, its main entities, and an explicit use-when clause with minimal conflict risk. Its main weaknesses are the generic verb "Manage" standing in for concrete actions and a when-clause that restates the product name instead of enumerating concrete triggers like incidents, uptime monitors, or on-call schedules.

Suggestions

Replace the generic "Manage Incidents, Users, Teams" with concrete actions the skill performs, e.g. "Create, resolve, and acknowledge incidents; manage uptime monitors, heartbeats, and on-call schedules."

Make the use-when clause concrete with trigger phrases users would actually say, e.g. "Use when the user mentions Better Stack, incidents, uptime monitors, heartbeats, or on-call schedules."

Include the monitoring capabilities (monitors, heartbeats, on-call schedules) that the skill body covers but the description omits, so keyword coverage matches actual functionality.

DimensionReasoningScore

Specificity

The description names the domain ("Better Stack integration") and lists three areas ("Manage Incidents, Users, Teams"), but "Manage" is a single generic verb rather than several concrete actions, and it omits the monitors/heartbeats/on-call capabilities the skill actually covers — matching 'names domain and 1-2 concrete actions, but not comprehensive' rather than the comprehensive anchor above.

3 / 5

Completeness

Both what ("Manage Incidents, Users, Teams") and when ("Use when the user wants to interact with Better Stack data") are explicitly present, but the when-clause is generic and circular (repeating the product name) rather than listing concrete trigger phrases, so it does not reach the 'clear and explicit ... with concrete trigger phrases' anchor.

4 / 5

Trigger Term Quality

"Better Stack", "Incidents", "Users", and "Teams" are terms users would naturally say, giving good keyword coverage, but common phrasings such as "uptime", "monitors", "heartbeats", "on-call", and "alerts" are missing — falling between the 'some relevant keywords' (3) and 'comprehensive' (5) anchors, noticeably above the midpoint.

4 / 5

Distinctiveness Conflict Risk

The description names a specific niche product ("Better Stack") twice with product-scoped triggers, giving it a clear niche with minimal risk of triggering for an unrelated skill.

5 / 5

Total

16

/

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/better-stack/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.