CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

botpress

Botpress integration. Manage Bots. Use when the user wants to interact with Botpress data.

Quality

76%

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

Quality

Content

82%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 strong, execution-first reference: concrete CLI commands throughout, a complete connection lifecycle with state-based branching and polling loops, and a discoverable action catalog. The only notable issues are a dangling "Step 2" cross-reference and the absence of any caution around destructive delete actions.

DimensionReasoningScore

Conciseness

The body is dominated by executable commands, tables, and state-handling lists with little padding. Minor trims are possible (the "Botpress is an open-source conversational AI platform..." background sentence and editorial phrases like "This is the fastest way to get a connection" and "This will burn less tokens"), matching anchor 4's "efficient; minor instances of over-explanation".

4 / 5

Actionability

Every section gives copy-paste-ready commands with exact flags: install (`npm install -g @membranehq/cli@latest`), login including headless completion (`membrane login complete <code>`), connection ensure/wait, action search/run with a JSON `--input` example, and a proxy options table. The popular-actions table with keys covers the common cases, matching anchor 5.

5 / 5

Workflow Clarity

The connection workflow has a clear sequence with strong feedback loops: poll with `--wait`, branch on `READY`/`CLIENT_ACTION_REQUIRED` (with clientAction sub-fields explained) / `CONFIGURATION_ERROR`, and re-poll after the user acts. It stops short of 5 because "skip to Step 2" references a step that is never labeled (numbering jumps to "1b"), and destructive actions (delete-user, delete-conversation) appear in the table with no caution or verification guidance.

4 / 5

Progressive Disclosure

Single-file skill with no bundle directories; sections are well-organized and headers make navigation easy. The 20-row action table and connection-state reference material sit at the boundary of what could be moved to a reference file, keeping this at anchor 4 ("good structure; minor organization gaps") rather than 5.

4 / 5

Total

17

/

20

Passed

Description

61%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 distinctive and has an explicit "Use when" clause, but its capability statement is vague — "Manage Bots" tells Claude almost nothing about what can actually be done, and trigger coverage relies entirely on the product name. It reads closer to the rubric's weak examples than its strong ones on the specificity dimension.

Suggestions

Replace "Manage Bots" with concrete capabilities, e.g. "List and manage Botpress chat users, conversations, messages, events, and tables."

Expand the "Use when" clause with natural trigger scenarios, e.g. "Use when the user mentions Botpress, chatbots, bot users, or wants to retrieve or send chat messages."

Mention the read/write split explicitly (list/get/create/update/delete actions) so the description signals the full scope of operations.

DimensionReasoningScore

Specificity

"Manage Bots" and "interact with Botpress data" name the domain but the actions are minimal and generic — no concrete capabilities (listing users, conversations, messages, tables) are stated. It is above anchor 1 because the domain is named, but lacks the 1-2 concrete actions needed for a 3.

2 / 5

Completeness

Both parts are explicitly present: a "what" ("Botpress integration. Manage Bots.") and a "when" ("Use when the user wants to interact with Botpress data"). It does not reach 5 because the "when" is circular (restates the domain rather than giving concrete trigger phrases) and the "what" is thin, but anchor 3 does not fit since the "Use when" clause is explicit, not weakly implied.

4 / 5

Trigger Term Quality

"Botpress", "Bots", and "Botpress data" are natural terms a user would say, but coverage stops there — common variations like "chatbot", "conversations", "messages", or "knowledge base" are missing. Matches anchor 3 (some relevant keywords, missing synonyms) rather than 4's broader coverage.

3 / 5

Distinctiveness Conflict Risk

"Botpress" is a distinct named application, giving the description a clear niche with minimal overlap risk against other skills. No generic language that would cause false triggers.

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

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