CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

chatwoot

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

Quality

70%

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/chatwoot/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, command-driven guide with strong actionability and a real validation checkpoint in the connection-state polling flow. Its main weaknesses are modest padding (platform explainer, bare entity list, duplicated discovery command), broken step numbering with dangling 'Step 2' references, and the absence of a concrete worked example showing a real Chatwoot action end to end.

Suggestions

Delete the opening 'Chatwoot is an open-source customer engagement platform' paragraph and the entity-name list (or compress it into one line); Claude either knows Chatwoot or doesn't need the enumeration.

Fix the broken flow numbering: replace the dangling 'skip to Step 2' references and the lone '#### 1b' heading with a consistent, labeled step sequence (e.g. Step 1: connect, Step 2: discover actions, Step 3: run).

Add one worked example with real values — e.g. discovering and running a Chatwoot action to list or create a contact with its --input JSON and expected output field — so the action flow is demonstrated, not just parameterized.

DimensionReasoningScore

Conciseness

The body is mostly lean commands and flags, but includes unnecessary material Claude already knows or can't act on: the opening platform explainer ('Chatwoot is an open-source customer engagement platform...'), a bare entity list with no accompanying guidance, and the discovery command duplicated in both 'Searching for actions' and 'Popular actions'. This fits anchor 3 ('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 all guidance is concrete and copy-paste ready — install, login, connection ensure/get with polling flags, action list/run with --input JSON examples, and a proxy command with a full flag table — matching anchor 4 ('mostly executable guidance with minor gaps'). It falls short of anchor 5 because every example uses generic placeholders (CONNECTION_ID, QUERY, <actionId>) with no worked example of a real Chatwoot action and its input/output, and the dangling 'Step 2' references leave one instruction unresolvable.

4 / 5

Workflow Clarity

The sequence — install CLI, authenticate, ensure connection, poll state, discover actions, run, proxy fallback — is clear and includes a genuine validation checkpoint: the connection state branching (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR) with re-polling after user action. Minor gaps keep it at anchor 4 rather than 5: the numbered flow is broken ('#### 1b' with no 1a or Step 2, two 'skip to Step 2' references to a nonexistent section) and there is no error-recovery guidance for failed action runs.

4 / 5

Progressive Disclosure

This is a single-file skill (~145 lines) with no bundle directories, and the body is organized into clear, well-ordered sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) with nothing buried — matching anchor 4 ('good structure; most content is appropriately placed; minor organization gaps'). It does not reach 5 because the proxy flag table, the clientAction state-machine detail, and the agent-types note are inline reference material that could be split into a one-level-deep references file to keep SKILL.md a leaner overview.

4 / 5

Total

15

/

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 correctly includes an explicit 'Use when...' clause and anchors on a distinctive platform name, giving it low conflict risk. However, the capability statement is generic ('Manage data, records, and automate workflows') and the trigger coverage is essentially just the brand name, with no natural synonyms a user might say.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete Chatwoot capabilities, e.g. 'Manage conversations, contacts, inboxes, agents, and reports; send messages and run workflows across Chatwoot data'.

Expand the trigger clause with natural user phrasings: 'Use when the user mentions Chatwoot, customer support conversations, live chat, help desk tickets, or managing Chatwoot contacts/agents/inboxes'.

Avoid the circular phrasing 'interact with Chatwoot data' in the when-clause; name the actual objects and tasks instead.

DimensionReasoningScore

Specificity

The description names the domain ('Chatwoot integration') but the actions — 'Manage data, records, and automate workflows' — are generic and could apply to almost any data tool; no concrete Chatwoot capabilities (conversations, contacts, inboxes, messages) are listed. It matches anchor 2 ('Names the domain but actions are minimal or generic') rather than 3 because there is no concrete Chatwoot-specific action at all.

2 / 5

Completeness

It has both a 'what' ('Chatwoot integration. Manage data, records, and automate workflows') and an explicit 'when' ('Use when the user wants to interact with Chatwoot data'), so it clears the cap for having a 'Use when...' clause. It falls short of anchor 5 because the 'what' is vague and the 'when' is circular ('interact with Chatwoot data') rather than offering concrete trigger phrases.

4 / 5

Trigger Term Quality

'Chatwoot' is the one natural keyword a user would say, and 'data'/'records' add weak relevance, but common natural phrases users would actually use — 'customer support', 'live chat', 'help desk', 'conversations', 'contacts' — are missing. This fits anchor 3 ('some relevant keywords but missing common variations or synonyms'), not 2, because the Chatwoot name itself is a strong specific trigger term rather than pure jargon.

3 / 5

Distinctiveness Conflict Risk

'Chatwoot' is a distinct named platform, so the trigger is clearly distinguishable from other skills and unlikely to fire for the wrong one — matching anchor 5 ('clear niche with distinct triggers; minimal conflict risk'). The generic 'manage data, records' language slightly dilutes this but does not create realistic overlap with another skill's 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/chatwoot/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.