CtrlK
BlogDocsLog inGet started
Tessl Logo

talkjs

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

55

Quality

62%

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/talkjs/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 delivers highly actionable CLI commands with a clear connection-state workflow and feedback loop. Its main weaknesses are an unnecessary introductory concept paragraph and a few inconsistent heading/step references.

Suggestions

Cut or condense the opening 'TalkJS is a customer messaging platform...' paragraph; assume Claude knows what TalkJS is.

Anchor the referenced 'Step 2' (e.g. add a '## Step 2: Run actions' heading) and fix the inconsistent '#### 1b' numbering under 'Connecting to TalkJS'.

Consider moving the proxy flag table and connection-state decision tree into a reference file so SKILL.md stays a lean overview.

DimensionReasoningScore

Conciseness

The opening paragraph explains what TalkJS is ('a customer messaging platform that allows businesses to integrate chat functionality...') which Claude largely knows, and several rationale sentences ('so you can focus on the integration logic', 'This will burn less tokens') could be trimmed; this fits 'Mostly efficient but includes some unnecessary explanation' rather than 4.

3 / 5

Actionability

Concrete copy-paste commands appear throughout ('npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://talkjs.com/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --json') plus a proxy flag table, matching 'Mostly executable guidance; concrete code or commands with minor gaps'; not 5 because no fully concrete end-to-end example with a real actionId is shown.

4 / 5

Workflow Clarity

There is a clear install -> login -> connect -> poll -> state-branch -> run sequence with a feedback loop (re-poll after CLIENT_ACTION_REQUIRED), matching 'Clear sequence with most checkpoints present; minor validation gaps'; not 5 because the referenced 'Step 2' has no anchored section and heading numbering ('#### 1b') is inconsistent.

4 / 5

Progressive Disclosure

Content is a single self-contained file with well-organized section headers and no nested references, matching 'Good structure; most content is appropriately placed; minor organization gaps'; not 5 because the skill exceeds 50 lines so the simple-skill 5-exception does not apply and the proxy/state-machine detail could plausibly 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 a specific platform and includes an explicit 'Use when' trigger, but its capability language is generic ('manage data, records, automate workflows') rather than concrete. It is solid but would benefit from listing specific TalkJS actions and richer trigger synonyms.

Suggestions

Replace generic verbs with concrete TalkJS actions, e.g. 'Send and receive chat messages, manage conversations, users, and roles.'

Add natural trigger synonyms users actually say, e.g. 'Use when the user wants to work with TalkJS chat, conversations, messaging, or users.'

Tie the 'when' clause to TalkJS-specific entities (conversations, messages, roles) to sharpen distinctiveness.

DimensionReasoningScore

Specificity

The phrase 'Manage data, records, and automate workflows' names the TalkJS domain but the actions are generic rather than concrete (no equivalents to 'extract text', 'fill forms'); this matches 'Names the domain but actions are minimal or generic' rather than score 3 which requires concrete actions.

2 / 5

Completeness

Both 'what' ('Manage data, records, and automate workflows') and an explicit 'when' ('Use when the user wants to interact with TalkJS data') are present; the 'when' is somewhat generic, matching 'Has both what and when; when could be more explicit or specific' rather than 5 which requires concrete trigger phrases.

4 / 5

Trigger Term Quality

'TalkJS' and 'interact with TalkJS data' surface the core term, but synonyms users might say (chat, messaging, conversations) are absent, fitting 'Some relevant keywords but missing common variations or synonyms'; not 4 because coverage is narrow.

3 / 5

Distinctiveness Conflict Risk

Naming TalkJS specifically gives a clear niche with minimal conflict risk, but the generic 'manage data, records, automate workflows' phrasing creates minor overlap with other data-management skills, fitting 'Mostly distinct; minor overlap risk' rather than 5.

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.

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