CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

73%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/chat-widget/SKILL.md

The canonical home for this skill is chat-widget in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

52%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 highly actionable and well-sequenced for building a support chat system, with concrete schemas, endpoints, and working code for multiple frameworks. Its main weaknesses are its monolithic size (~890 lines with no reference files) and significant redundancy across the five framework sections and general technology surveys, which inflate token cost without adding proportional value.

Suggestions

Split the Framework-Specific Guidance into one reference file per framework (e.g. references/rails.md, references/react.md, references/laravel.md) and keep only a short index table in SKILL.md, so the core guide is one level deep and load-on-demand.

Trim or remove the general surveys (Database Recommendations, Email Processing Recommendations, Real-Time Technology Options) — Claude already knows these trade-offs; keep only the skill-specific decisions like the 5-minute delayed-email pattern and the unread-tracking schema.

Convert the core guide's pseudocode for the critical paths (serialize_message, mark_read, admin dashboard wiring) into executable code, or explicitly state why pseudocode is used, and add a short feedback loop (what to check and fix when a testing-checklist item fails).

DimensionReasoningScore

Conciseness

The ~890-line body inlines complete implementations for five frameworks (Rails, React, Next.js, Laravel, Vue) — including near-duplicate React and Vue WebSocket hooks — plus generic database/email-service/real-time-technology surveys that restate things Claude already knows (e.g. Pusher vs Ably comparisons, "MySQL: use utf8mb4 for emoji"). This is noticeably verbose with several sections that could be cut or delegated.

2 / 5

Actionability

The body provides concrete table schemas with indexes, exact API routes, full Rails models/migrations/channels, a copy-paste-ready React widget, a Vue composable, and a Next.js route — mostly executable guidance. It stays at 4 rather than 5 because the core 7-step guide is pseudocode (serialize_message, mark_read controller, and the admin dashboard frontend are only sketched) without an explicit justification for the abstraction.

4 / 5

Workflow Clarity

The implementation is clearly sequenced (models → endpoints → channels → widget → dashboard → email → types), with a 12-item testing checklist and a Common Pitfalls section acting as checkpoints. It does not reach 5 because there are no explicit feedback loops (e.g. how to verify the WebSocket flow end-to-end or what to do when a checklist item fails) beyond listing what to test.

4 / 5

Progressive Disclosure

There are no reference files at all — everything, including ~400 lines of framework-specific code and database/email/technology-option surveys that clearly belong in separate per-framework reference files, is inlined in a single SKILL.md. Section headers within the file are decent, but the content is not split across files and there is no navigation to one-level-deep references.

2 / 5

Total

12

/

20

Passed

Description

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

A strong description that clearly states what is built and when to use it, with natural trigger terms. Its main weakness is the slightly generic "real-time messaging" trigger, which risks overlap with general user-to-user messaging requests, and it could add a few more natural synonyms (e.g. chat widget, chat box).

DimensionReasoningScore

Specificity

The description names several concrete deliverables — "Build a real-time support chat system with a floating widget for users and an admin dashboard for support staff" — which is specific about what gets built. It falls short of 5 because the actions are really one build action with component detail, not a comprehensive list of multiple distinct capabilities.

4 / 5

Completeness

It explicitly answers both parts: the 'what' ("Build a real-time support chat system with a floating widget for users and an admin dashboard") and the 'when' with concrete trigger phrases ("live chat, customer support chat, real-time messaging, or in-app support"). This matches the anchor-5 example structure closely.

5 / 5

Trigger Term Quality

"Use when the user wants live chat, customer support chat, real-time messaging, or in-app support" covers natural phrases users would actually say. A few natural variants are missing (e.g. "chat widget", "support messaging"), and the set is not comprehensive with synonyms the way a 5 anchor requires.

4 / 5

Distinctiveness Conflict Risk

"Support chat system" / "customer support chat" define a fairly clear niche with minimal conflict. The broad "real-time messaging" trigger could also fire for a user-to-user messaging feature request, which is a closely related but different skill, so it does not fully reach the minimal-conflict bar of 5.

4 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 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

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/chat-widget/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.