CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

api-to-every-ecommerce-cart-and-marketplace

API to every Ecommerce Cart and Marketplace integration. Manage data, records, and automate workflows. Use when the user wants to interact with API to every Ecommerce Cart and Marketplace data.

Quality

69%

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/api-to-every-ecommerce-cart-and-marketplace/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 solid, command-driven guide: install, authenticate, connect, poll for readiness, discover actions, run them, and fall back to the proxy, each with executable commands and good state-based checkpoints. Its main weaknesses are incoherent step references ('Step 2', '1b' with no numbered steps), inconsistent CLI invocation styles, and a few padded or duplicated sections.

Suggestions

Fix the dangling step references: 'skip to Step 2' and the '1b' heading point to step labels that don't exist — either number the workflow steps explicitly (1. Install, 2. Authenticate, 3. Connect...) or drop the numbering.

Pick one CLI invocation ('membrane' vs 'npx @membranehq/cli@latest') and use it consistently throughout.

Remove the empty '## Popular actions' heading (its body duplicates the search command from 'Searching for actions') and tighten the intro paragraph and agent-types aside; add one worked example with a real action id and intent query.

DimensionReasoningScore

Conciseness

Mostly efficient — commands and the proxy flag table are tight — but several parts are trimmable: the intro paragraph explaining what the app is for, the '## Popular actions' heading whose body just repeats the `action list` command already shown in 'Searching for actions', and the informal aside on agent types ('Those will be used to adjust tooling to be used best with your harness'). Falls between anchor 3 ('some unnecessary explanation or could be tightened') and anchor 4 ('minor instances of over-explanation').

3.5 / 5

Actionability

Nearly every step has a copy-paste command ('npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://ecartapi.com/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input \'{"key": "value"}\' --json') plus a flag table for proxy requests, matching 'Mostly executable guidance; concrete code or commands with minor gaps'. Not 5 because there is no worked example with a real action id or intent query, so the placeholders CONNECTION_ID and QUERY are never exercised end-to-end.

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll state → search actions → run → proxy fallback) is present with state-based checkpoints ('READY', 'CLIENT_ACTION_REQUIRED', 'CONFIGURATION_ERROR or SETUP_FAILED — check the error field', 'Keep polling until state is no longer BUILDING'). But the doc references 'skip to Step 2' and a '#### 1b' heading while no section is ever labeled Step 1, 2, or 1a — the step numbering is incoherent — and it switches between 'membrane' and 'npx @membranehq/cli@latest' invocations without reconciliation. Falls between anchors 3 and 4.

3.5 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/ directories), so all content is inline in a ~140-line body organized under clear headings (Install, Authentication, Connecting, Searching for actions, Running actions, Proxy requests, Best practices) with an external link to official docs — matching 'Good structure; most content is appropriately placed; minor organization gaps'. Not 5 because the empty '## Popular actions' section that nests '### Running actions' is an organization gap, and the connection-state handling detail is borderline content that could live in a reference file.

4 / 5

Total

15

/

20

Passed

Description

57%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 names its domain and includes an explicit 'Use when' clause, but the capability statement is generic boilerplate that could describe any integration tool. It will trigger correctly only when the user names the exact product, missing natural phrasings like managing orders or product listings across e-commerce platforms.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete actions, e.g. 'List and update orders, products, customers, and carts across e-commerce platforms and marketplaces'.

Expand the 'Use when' clause with natural trigger phrases users would actually say: 'Use when the user mentions e-commerce platforms, shopping carts, marketplaces, or wants to manage orders, products, or customer data.'

Mention the concrete entities from the body (Cart, Product, Order, Customer) in the description so searches for those terms match.

DimensionReasoningScore

Specificity

Names the domain ('API to every Ecommerce Cart and Marketplace integration') but the actions are pure boilerplate — 'Manage data, records, and automate workflows' — with no concrete verbs such as list orders, sync products, or fetch customers. This matches the anchor 'Names the domain but actions are minimal or generic'; not 3 because no concrete actions are actually listed.

2 / 5

Completeness

Both parts are explicit: the what ('integration... Manage data, records, and automate workflows') and the when ('Use when the user wants to interact with API to every Ecommerce Cart and Marketplace data'). The 'when' is tautological — it restates the skill name rather than giving concrete trigger phrases — matching 'Has both what and when; when could be more explicit or specific'. Not 3 because the 'Use when' clause is explicit rather than weakly implied; not 5 because neither part names concrete trigger phrases.

4 / 5

Trigger Term Quality

'Ecommerce', 'Cart', and 'Marketplace' are relevant natural keywords, but the common variations users would actually say — orders, products, customers, listings, or platform names like Shopify/Amazon/eBay — are absent, matching 'Some relevant keywords but missing common variations or synonyms'. Not 4 because keyword coverage stops at restating the domain name.

3 / 5

Distinctiveness Conflict Risk

The named niche makes wrong-skill triggering unlikely — 'Use when the user wants to interact with API to every Ecommerce Cart and Marketplace data' scopes it tightly to that API. Not 5 because the generic 'Manage data, records, and automate workflows' phrasing is shared boilerplate that overlaps with sibling Membrane connector skills for other apps, relying solely on the product name for distinction.

4 / 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/api-to-every-ecommerce-cart-and-marketplace/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.