CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bloomreach

BloomReach integration. Manage data, records, and automate workflows. Use when the user wants to interact with BloomReach 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/bloomreach/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 body is a solid, executable guide to driving BloomReach through the Membrane CLI, with concrete commands, a real polling/feedback loop for connection states, and good section organization. Its main weaknesses are redundancy (the duplicated action-list section and the non-instructive overview tree), a 'Popular actions' section that names no actions, and dangling 'Step 2' references that break the workflow numbering. No destructive or batch operations are involved, so no workflow-clarity cap applies.

Suggestions

Fix the dangling references: either define 'Step 2' (e.g., a numbered '2. Discover and run actions' section) or remove the 'skip to Step 2' phrasing and renumber '1b' accordingly.

Delete the 'Popular actions' section or populate it with the actual high-value BloomReach actions (e.g., list products, update content documents) instead of repeating the discovery command.

Trim the nested 'BloomReach Overview' tree — either annotate each node with a one-line purpose or move it to a reference file — and drop the duplicated Membrane-benefit prose from 'Best practices'.

DimensionReasoningScore

Conciseness

Mostly command-driven and efficient, but it includes unnecessary material: the 'Popular actions' section re-states the action-list command already given in 'Searching for actions', the bare nested 'BloomReach Overview' tree (Account/Catalog/Product...) instructs nothing, and Membrane's benefits are explained more than once. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than 4, where over-explanation would be only minor.

3 / 5

Actionability

Nearly everything is copy-paste ready: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://bloomreach.com" --json', 'membrane action run <actionId> --input {...}', plus a concrete proxy flag table. Minor gaps keep it from 5: the 'Popular actions' heading promises named actions but only repeats the discovery command, and CLI invocation is inconsistent ('membrane' vs 'npx @membranehq/cli@latest').

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll for readiness → search actions → run → proxy fallback) is clear and includes a genuine feedback loop: poll during BUILDING, handle CLIENT_ACTION_REQUIRED including its clientAction fields, and re-poll after the user acts. Not 5 because the body says 'skip to **Step 2**' but no Step 2 exists, and section numbering is '1b' with no 1a or 2, leaving the sequence anchors broken.

4 / 5

Progressive Disclosure

There are no bundle files, and the body is well-sectioned with clear headers and no nested references (only an external docs URL). Material such as the proxy flag table and the connection-state handling could plausibly live in a separate reference file for a skill of this length (~145 lines), which is a minor organization gap matching anchor 4 rather than the fully appropriate split of anchor 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 has a clear, explicit trigger tied to a distinctive product name, but the capability statement is generic — 'manage data, records, and automate workflows' could describe almost any integration skill. Concrete BloomReach capabilities (catalogs, products, content documents, promotions, orders) are absent. Distinctiveness is strong only because of the product name itself.

Suggestions

Replace the generic 'Manage data, records, and automate workflows' with concrete BloomReach capabilities, e.g., 'Manage products, catalogs, content documents, promotions, and orders in BloomReach'.

Add task-level trigger terms users would naturally say, such as e-commerce catalog management, content management, or SEO/merchandising, alongside the product name.

State which BloomReach products are covered (Content, Commerce, Engagement) to sharpen the when-clause and reduce intra-product ambiguity.

DimensionReasoningScore

Specificity

Phrases like 'Manage data, records, and automate workflows' name the BloomReach domain but the actions themselves are generic with no concrete capabilities (e.g., products, catalogs, content documents, promotions), matching the anchor 'names the domain but actions are minimal or generic'. It does not reach 3 because no specific concrete action is ever listed.

2 / 5

Completeness

The when-clause is explicit ('Use when the user wants to interact with BloomReach data'), but the what ('BloomReach integration. Manage data, records, and automate workflows') is vague — comparable to 'Processes data'. It sits between anchor 3 (weak what) and anchor 4 (both present, when could be more specific): the explicit when pulls it up, but the generic what keeps it at the midpoint rather than noticeably above.

3 / 5

Trigger Term Quality

'BloomReach' is the natural term a user would say and appears in the trigger clause, but coverage stops there — no task-level synonyms or variations (content management, SEO, e-commerce, catalog, marketing) are present, matching 'some relevant keywords but missing common variations or synonyms'. Not 2 because the product name is a strong, precise natural trigger rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

The trigger is tied entirely to the distinct product name 'BloomReach', creating a clear niche with minimal risk of firing for unrelated skills. It clearly matches the anchor 'clear niche with distinct triggers; minimal conflict risk' rather than 4, which requires acknowledged minor overlap with closely related skills.

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