CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

chatbotkit

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

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

Quality

Content

57%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 solid, command-driven guide with concrete CLI examples covering connection setup, action discovery, execution, and a proxy fallback. Its main weaknesses are an incoherent step numbering scheme ('Step 2' is never defined, '1b' has no '1a'), an erroneous table row, and a monolithic single-file structure where the actions catalog belongs in a reference file.

Suggestions

Fix the workflow numbering: define an explicit 'Step 1'/'Step 2' sequence (or drop the numbered-step language) so 'skip to Step 2' and the '1b' subsection resolve to real headings.

Remove the erroneous 'Get Message | get-message | There is no get message action.' row and show at least one fully-resolved 'membrane action run' example using a real action key from the table.

Move the Popular actions catalog (and optionally the proxy flag table) into a references/ file (e.g. references/actions.md) and keep a short curated subset inline in SKILL.md.

DimensionReasoningScore

Conciseness

Most of the body is efficient, copy-paste commands, but it includes unnecessary explanation Claude does not need: 'ChatBotKit is a platform for building and deploying AI chatbots. It's used by businesses and developers…', the filler line 'Use action names and parameters as needed.', and a somewhat padded Best practices section. This matches anchor 3 ('mostly efficient but includes some unnecessary explanation') rather than 4, where only minor trimmable instances would remain.

3 / 5

Actionability

Concrete executable commands appear throughout — 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://chatbotkit.com/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input …' — plus a proxy flags table. It falls short of anchor 5 because the run examples use placeholders instead of real action keys from the table, and one table row is erroneous ('Get Message | get-message | There is no get message action.').

4 / 5

Workflow Clarity

The sequence (install → login → connection ensure → poll state → search actions → run → proxy) is present with explicit state checkpoints (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR) and a re-poll loop, but the numbering is incoherent — 'skip to Step 2' references a step that never exists and '1b' has no '1a' — and there is no verification guidance for executed actions, including create/delete operations. The destructive/batch validation cap of 3 applies, so it cannot score 4.

3 / 5

Progressive Disclosure

The single ~180-line file has clear section headers, but the 20-row Popular actions table and the proxy options table are reference material that belongs in a separate file, and nothing is offloaded (no references/ or assets/ exist). This matches anchor 3 ('some structure… content that should be separate is inline') rather than 2, since structure and navigation within the file are genuinely clear.

3 / 5

Total

13

/

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 correctly names the ChatBotKit niche and includes an explicit 'Use when' clause, giving it adequate completeness and distinctiveness. However, its capability list is generic ('manage data, records, automate workflows') with no concrete ChatBotKit actions, and trigger coverage lacks natural variations like bots, conversations, or datasets.

Suggestions

Replace the vague 'Manage data, records, and automate workflows' with concrete ChatBotKit capabilities, e.g. 'Create and manage bots, conversations, datasets, and dataset records'.

Expand the 'Use when' clause with concrete trigger variations users would naturally say, such as 'Use when the user mentions ChatBotKit, chatbots, bots, conversations, datasets, or skillsets'.

Mention the proxy capability for arbitrary ChatBotKit API calls so the scope of the skill is clear from the description alone.

DimensionReasoningScore

Specificity

The description names the domain ('ChatBotKit integration') but its actions are minimal and generic — 'Manage data, records, and automate workflows' uses vague verbs with no concrete ChatBotKit operations (bots, conversations, datasets, messages). It matches anchor 2 rather than 3 because no concrete platform-specific action is listed.

2 / 5

Completeness

Both 'what' ('Manage data, records, and automate workflows') and 'when' ('Use when the user wants to interact with ChatBotKit data') are present, satisfying anchor 4. It falls short of 5 because the 'what' is vague and the trigger phrase is not concrete or varied.

4 / 5

Trigger Term Quality

The key natural term 'ChatBotKit' appears ('Use when the user wants to interact with ChatBotKit data'), but common variations users would say — chatbot, bot, conversation, dataset, message — are missing and 'data'/'records' are generic. This mirrors anchor 3 ('Works with PDF files') rather than 4, which requires good keyword coverage.

3 / 5

Distinctiveness Conflict Risk

'ChatBotKit integration' pins a clear niche platform with minimal confusion risk, matching anchor 4. It is not 5 because the boilerplate 'Manage data, records, and automate workflows' phrasing overlaps with many generic SaaS-integration skills.

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