CtrlK
BlogDocsLog inGet started
Tessl Logo

chat-widget

Build a real-time support chat system with a floating widget for users and an admin dashboard for support staff. Use when the user wants live chat, customer support chat, real-time messaging, or in-app support.

58

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/chat-widget/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%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 skill covers a complex, multi-component system comprehensively with real executable code across multiple frameworks, which demonstrates strong domain knowledge. However, it severely violates progressive disclosure by inlining everything into one massive file (~600+ lines), includes significant padding with general knowledge Claude already possesses (database engine comparisons, email service recommendations), and lacks validation checkpoints between its implementation steps.

Suggestions

Extract framework-specific implementations (Rails, React, Next.js, Laravel, Vue.js) into separate bundle files like RAILS.md, REACT.md, etc., and reference them from the main skill with clear signposting.

Remove the Database Recommendations, Email Processing Recommendations, and Real-Time Technology Options sections — these contain general knowledge Claude already has and add ~100 lines of padding.

Add explicit validation checkpoints between steps, e.g., 'Verify migration runs successfully and models can create/query records before proceeding to Step 2' and 'Test WebSocket connection in isolation before building the full widget.'

Trim the architecture overview pseudocode — the model methods and controller logic are repeated in the framework-specific sections, creating redundancy.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~600+ lines. It explains concepts Claude already knows (what PostgreSQL UUID types are, what MongoDB is, basic email service comparisons), includes framework-specific implementations for 5+ frameworks that should be in separate files, and has sections like 'Database Recommendations' and 'Email Processing Recommendations' that are largely general knowledge padding.

2 / 5

Actionability

The skill provides concrete, executable code for Rails, React, Next.js, Laravel, and Vue.js with real implementation patterns. However, much of the core architecture section uses pseudocode rather than executable code, and the guidance tries to cover so many frameworks that no single path is fully complete end-to-end.

4 / 5

Workflow Clarity

The 7-step sequence is logical and well-ordered, and the testing checklist at the end provides verification. However, there are no explicit validation checkpoints between steps (e.g., verify models work before building channels, verify WebSocket connection before building the full widget), and no error recovery guidance for when steps fail. The destructive/batch nature of database operations lacks validation steps.

3 / 5

Progressive Disclosure

This is a monolithic wall of content with no references to external files. The framework-specific implementations (Rails, React, Next.js, Laravel, Vue.js), database recommendations, email processing guidance, and real-time technology comparisons should all be in separate referenced files. Everything is inlined into a single massive document with no bundle files to support it.

1 / 5

Total

10

/

20

Passed

Description

95%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.

This is a strong skill description that clearly communicates both what the skill does and when to use it. It uses natural trigger terms that users would actually say, and the specific mention of architectural components (floating widget, admin dashboard) makes it highly distinctive. Minor improvement could come from listing a few more specific features to enhance specificity.

DimensionReasoningScore

Specificity

The description names the domain (support chat system) and lists several specific components: floating widget, admin dashboard, real-time messaging. It covers the key architectural pieces but could be more detailed about specific features like message history, typing indicators, or file attachments.

4 / 5

Completeness

Clearly answers both 'what' (build a real-time support chat system with a floating widget and admin dashboard) and 'when' (explicit 'Use when' clause with concrete trigger phrases like 'live chat', 'customer support chat', 'real-time messaging', 'in-app support').

5 / 5

Trigger Term Quality

Excellent coverage of natural trigger terms: 'live chat', 'customer support chat', 'real-time messaging', 'in-app support', 'floating widget', 'admin dashboard', 'support staff'. These are terms users would naturally use when requesting this kind of feature.

5 / 5

Distinctiveness Conflict Risk

Highly distinctive with a clear niche: real-time support chat with specific components (floating widget, admin dashboard). The combination of 'support chat', 'floating widget', and 'admin dashboard' creates a very specific scope that is unlikely to conflict with general messaging or UI skills.

5 / 5

Total

19

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (898 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-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.