CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cheddar

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

Quality

67%

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

Quality

Content

68%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 body is a well-structured, largely executable guide to driving Cheddar through the Membrane CLI, with authentic feedback loops in the connection polling workflow. Its main weaknesses are the missing validation/confirmation guidance for destructive actions (delete customer, cancel subscription), a broken "Step 2" cross-reference, and the absence of a worked end-to-end example with real parameter values.

Suggestions

Add validation guidance for destructive actions: before running delete-customer or cancel-subscription, confirm the target with the user (e.g. fetch via get-customer and show it), and verify the output field of the response afterward.

Fix the cross-reference "If the returned connection has state READY, skip to **Step 2**" — the sections are unnumbered and numbering starts at "1b"; either number the full sequence (1a/1b, 2, 3) or replace "Step 2" with the section name.

Include one worked end-to-end example with real values, e.g. membrane action run get-customers --connectionId=... --input '{"planCode": "..."}' --json, and specify what value --tenant expects in the login command.

DimensionReasoningScore

Conciseness

The body is mostly lean executable commands with tight explanations (install, auth, connection, proxy flags). Minor trimmable padding remains: the filler line "Use action names and parameters as needed.", the intro paragraph about Cheddar's user base, and slightly padded Best practices bullets. Matches anchor 4 ("Efficient; minor instances of over-explanation that could be trimmed"), not 5 because those unnecessary lines exist.

4 / 5

Actionability

Concrete, copy-paste-ready commands throughout ("npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://getcheddar.com/\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json") plus a 13-row action catalog and a proxy flags table. Not 5: the parameter example is generic placeholder JSON with no worked end-to-end example using real values, and "membrane login --tenant --clientName=<agentType>" leaves the --tenant value unspecified.

4 / 5

Workflow Clarity

A real sequence exists (install → login → connect → poll → search → run) and connection-state polling with CLIENT_ACTION_REQUIRED handling is a genuine feedback loop, but "skip to **Step 2**" references a step that is never labeled (numbering jumps to "1b"), and the destructive/batch cap applies: the action catalog includes Delete Customer, Cancel Subscription, and Get Customers with no validation or confirmation guidance, capping this dimension at 3.

3 / 5

Progressive Disclosure

A single well-sectioned file with clear headers and logical flow, no nested references and no orphaned paths (no bundle files exist). It exceeds 50 lines and the 13-row action catalog plus proxy flag table are borderline candidates for a separate reference file, which keeps it at anchor 4 ("Good structure; most content is appropriately placed") rather than 5.

4 / 5

Total

15

/

20

Passed

Description

52%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 correctly includes an explicit "Use when" trigger anchored to the distinct app name Cheddar, which keeps conflict risk low. However, the capability statement is generic buzzword-level ("Manage data, records, and automate workflows") with no concrete actions and no natural synonyms (invoicing, billing, subscriptions), leaving both specificity and trigger coverage weak.

Suggestions

Replace "Manage data, records, and automate workflows" with the concrete capabilities, e.g. "Create and update customers, manage subscriptions and pricing plans, add charges, and query transactions in Cheddar."

Expand the trigger clause with natural synonyms: "Use when the user mentions Cheddar, invoicing, billing, customer subscriptions, or pricing plans in Cheddar."

State what Cheddar is (accounting/invoicing/billing software) so the trigger terms are meaningful to a user who says "invoice" or "billing" without naming the app.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain (Cheddar) but the actions are pure generics at the same altitude as "Processes data" — no concrete capability (invoicing, customers, subscriptions, charges) is stated. Anchor 2 ("Names the domain but actions are minimal or generic") is the closest match; it is not 3 because no concrete action is listed.

2 / 5

Completeness

A "Use when..." clause is explicitly present, but the "what" ("Manage data, records, and automate workflows") is buzzword-vague and the "when" ("interact with Cheddar data") is circular. It falls between anchor 3 and 4 and is not noticeably above that midpoint, since anchor 4 presumes a reasonably solid "what" alongside the explicit "when".

3 / 5

Trigger Term Quality

The only natural trigger term is the app name in "interact with Cheddar data"; the phrases users would actually say (invoices, billing, customers, subscriptions, accounting) are all missing. Matches anchor 3 ("Some relevant keywords but missing common variations or synonyms"), not 4 because keyword coverage beyond the proper noun is absent.

3 / 5

Distinctiveness Conflict Risk

The trigger clause requires the named application ("Use when the user wants to interact with Cheddar data"), giving the skill a clear niche with minimal risk of firing for an unrelated skill. Matches anchor 5 ("Clear niche with distinct triggers; minimal conflict risk").

5 / 5

Total

13

/

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