CtrlK
BlogDocsLog inGet started
Tessl Logo

plain

Plain integration. Manage Persons, Organizations, Deals, Leads, Activities, Notes and more. Use when the user wants to interact with Plain data.

56

Quality

65%

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

Quality

Content

67%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 strong, executable Membrane-CLI integration guide with a clear, validated connection workflow and good single-file organization. Its main weakness is conciseness — several padded motivational sentences add tokens without adding guidance Claude doesn't already infer.

Suggestions

Trim motivational/padded sentences ('so you can focus on the integration logic rather than auth plumbing', 'This will burn less tokens and make communication more secure') to factual statements to lift conciseness toward 4–5.

Fix the 'Skip to Step 2' cross-references by labeling the target section 'Step 2' or rewording to 'skip to Running actions', since the current pointer resolves to nothing.

Add one worked example showing how to parse `action list` JSON output (e.g. extracting an `id` to feed into `action run`) to close the actionability gap from generic placeholders.

DimensionReasoningScore

Conciseness

The body is mostly efficient with executable commands, but includes padding Claude doesn't need ('Membrane handles authentication and credentials refresh automatically — so you can focus on the integration logic rather than auth plumbing', 'This will burn less tokens and make communication more secure') that could be tightened.

3 / 5

Actionability

It provides concrete, executable commands throughout (npm install, membrane login, connection ensure/get, action list/run, request) with real flag tables, so guidance is mostly copy-paste ready; minor gaps are generic placeholders like QUERY and CONNECTION_ID and no worked output-parsing example.

4 / 5

Workflow Clarity

The connection→ready→search→run flow is clearly sequenced with an explicit state machine (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR) and a poll-until-ready loop acting as validation checkpoints, though the 'Skip to Step 2' cross-reference points to an unlabeled target.

4 / 5

Progressive Disclosure

It is a single well-organized 153-line file with no nested references and no bundle files, so structure is good and navigation is easy; the proxy-flag reference table and popular-actions section could arguably live in separate files but are short enough to stay inline.

4 / 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 cleanly pairs a 'what' (managing named Plain entities) with a 'Use when' clause and is app-anchored, so it is distinct and complete. It is held back by a single generic 'Manage' verb and a thin, unspecific trigger phrase that lacks synonyms or concrete user phrasings.

Suggestions

Replace the single generic 'Manage' with concrete per-entity verbs (e.g. 'Create and update Persons, Organizations, Deals, Leads; log Activities and Notes') to lift specificity toward a 5.

Expand the trigger clause with natural phrasings users actually say, e.g. 'Use when the user wants to interact with Plain data — creating tickets, managing customers, or working with Plain Persons, Organizations, Deals, Leads, Activities, and Notes'.

Add a synonym or two (e.g. 'Plain tickets' / 'Plain customer support data') so the trigger fires on the terms users naturally use, not just the literal app name.

DimensionReasoningScore

Specificity

The description enumerates the Plain entities ('Manage Persons, Organizations, Deals, Leads, Activities, Notes and more') but the verbs are minimal — a single generic 'Manage' rather than concrete actions per entity, so it names the domain plus one action without comprehensive coverage.

3 / 5

Completeness

It states what the skill does ('Manage Persons, Organizations...') and when to use it ('Use when the user wants to interact with Plain data'), satisfying both halves though the 'when' clause is generic rather than listing concrete triggers.

4 / 5

Trigger Term Quality

'Use when the user wants to interact with Plain data' is a relevant trigger but offers no natural synonyms, common phrasings, or the 'and more' entities as triggers, so keyword coverage has gaps.

3 / 5

Distinctiveness Conflict Risk

Tying triggers to a named app ('Plain data') makes it mostly distinct from other skills, with only minor overlap risk against generic CRM-ish skills since the trigger phrasing is somewhat broad.

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.