CtrlK
BlogDocsLog inGet started
Tessl Logo

mainstay

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

57

Quality

66%

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

Quality

Content

71%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 highly actionable with concrete code and commands and a clear read-only workflow, but it is padded with framework explanations Claude already knows and inlines a large API reference that belongs in a separate file. Trimming the concept explanations and externalizing the API table would lift both conciseness and progressive disclosure.

Suggestions

Remove explanations of concepts Claude already knows (gevent/greenlets, WSGI, what main.py is, how pagination works) and keep only Membrane-specific behavior.

Move the full API reference table into a references/ file (e.g. references/API.md) and link to it from SKILL.md, leaving only a few key examples inline.

Deduplicate the env/DB setup so the setup steps appear once rather than twice across the two Setup sections.

DimensionReasoningScore

Conciseness

The body is mostly actionable but includes padding Claude does not need ("gevent is a coroutine-based cooperative scheduler", restating what main.py is, re-explaining pagination) and duplicates the env/DB setup across the two Setup sections, fitting the "mostly efficient but includes some unnecessary explanation" anchor.

3 / 5

Actionability

It provides copy-paste-ready, fully executable guidance: a complete analyze_recipe.py example, concrete curl commands with real paths and placeholders, and exact CLI invocations covering the common cases, matching the top anchor.

5 / 5

Workflow Clarity

The Analyzing section lays out a clear numbered sequence (create file, save, run, inspect output) and the operations are read-only so no destructive-validation cap applies, but there are no explicit validation checkpoints (e.g. confirming a recipe_id exists before fetching), fitting the "clear sequence with most checkpoints present; minor gaps" anchor.

4 / 5

Progressive Disclosure

There is section structure, but the full ~60-line API reference table is inlined in SKILL.md with no separate reference files (no references/, scripts/, or assets/ exist), matching the anchor where content that should be in its own file is kept inline.

3 / 5

Total

15

/

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 functional and correctly pairs a what-statement with an explicit Use-when trigger, naming the target app for distinctiveness. Its weakness is generic verb choice and missing the concrete domain nouns (clients, projects, invoices) that would sharpen both specificity and trigger quality.

Suggestions

Replace generic verbs with concrete Mainstay actions, e.g. "Manage clients, projects, tasks, time entries, and invoices".

Expand the trigger to include natural domain phrases, e.g. "Use when the user wants to manage Mainstay clients, projects, invoices, or time entries."

Drop "automate workflows" unless a specific workflow capability is meant, since it is vague and not domain-distinct.

DimensionReasoningScore

Specificity

Names the domain ("Mainstay integration") and a couple of action areas ("Manage data, records, and automate workflows"), but the verbs ("manage", "automate") are generic rather than concrete, matching the anchor that lists 1-2 actions without comprehensive coverage.

3 / 5

Completeness

It answers both "what" ("Manage data, records, and automate workflows") and "when" ("Use when the user wants to interact with Mainstay data") with an explicit Use-when clause, so it is not capped at 3; the trigger phrase could be more specific, matching the anchor where both are present but "when" could be sharper.

4 / 5

Trigger Term Quality

It surfaces the app name "Mainstay" plus terms like "data" and "records," but misses the natural domain vocabulary users would actually say (clients, projects, invoices, tasks) that appears in the body, fitting the anchor with some relevant keywords but missing common variations.

3 / 5

Distinctiveness Conflict Risk

Naming a specific third-party app ("Mainstay integration") gives it a clear niche and a distinct trigger, with only minor overlap risk against other CRM/portal skills, matching the "mostly distinct" anchor rather than the fully-distinct anchor whose triggers are more concrete.

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.