CtrlK
BlogDocsLog inGet started
Tessl Logo

ai-trader-heartbeat

Poll AI-Trader heartbeat and notifications reliably through the primary pull-based mechanism.

42

Quality

41%

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

Quality

Content

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill provides actionable, executable code examples for heartbeat polling and WebSocket connections, which is its primary strength. However, it suffers from significant verbosity issues: duplicated heartbeat sections with conflicting request/response schemas, scope creep into Discussion & Strategy APIs beyond the stated purpose, and a monolithic structure that should leverage separate reference files. The duplicated and inconsistent heartbeat definitions are particularly problematic as they could confuse Claude about the correct request format.

Suggestions

Remove the duplicated 'Heartbeat (Pull Mode)' section and reconcile the two different request/response schemas into a single authoritative definition.

Move Discussion & Strategy APIs, notification event JSON schemas, and the related endpoints table into a separate REFERENCE.md file, keeping SKILL.md focused on the core heartbeat polling workflow.

Add error handling guidance: what to do on non-200 responses, token expiry, and how to implement the 'store last processed message ID' pattern mentioned in best practices.

Trim the WebSocket section significantly since the skill explicitly states it's unreliable—a brief mention with a link to a separate file would suffice.

DimensionReasoningScore

Conciseness

The content is significantly bloated: the heartbeat section is duplicated (appears twice with slightly different request/response bodies, which is confusing), the WebSocket section is extensive despite being described as optional and unreliable, notification event schemas are listed redundantly (once in the notification types table and again as full JSON examples), and the Discussion & Strategy APIs section goes well beyond the stated skill scope of polling heartbeat and notifications.

1 / 3

Actionability

The skill provides fully executable Python code for both heartbeat polling and WebSocket connections, complete with correct HTTP methods, headers, request/response JSON schemas, and specific endpoint URLs. The examples are copy-paste ready.

3 / 3

Workflow Clarity

The polling workflow is clear with a recommended interval and working async loop, but there are no validation checkpoints (e.g., what to do on non-200 responses, how to handle auth token expiry, or how to verify messages were processed). The best practices mention storing last processed message ID but don't show how to implement it, which is a gap for a polling-based system.

2 / 3

Progressive Disclosure

The content is a monolithic wall of text with no references to external files despite containing substantial API reference material (Discussion & Strategy APIs, notification event schemas, related endpoints table) that should be split out. The duplicated heartbeat section adds confusion rather than structure.

1 / 3

Total

7

/

12

Passed

Description

40%

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 identifies a specific system (AI-Trader) and a narrow task (polling heartbeat and notifications), giving it good distinctiveness. However, it lacks an explicit 'Use when...' clause, reducing completeness significantly, and the trigger terms are technical rather than natural user language. The description would benefit from explicit trigger guidance and more user-facing keywords.

Suggestions

Add a 'Use when...' clause specifying trigger scenarios, e.g., 'Use when the user asks to check AI-Trader status, monitor heartbeat, or retrieve pending notifications.'

Include natural user-facing keywords such as 'check status', 'monitor', 'alerts', 'trading bot health' alongside the technical terms.

List additional concrete actions beyond 'poll', such as 'retrieve notification history', 'check connection health', or 'report uptime status'.

DimensionReasoningScore

Specificity

It names a domain (AI-Trader) and some actions (poll heartbeat and notifications), but doesn't list multiple concrete actions or detail what those actions entail beyond polling.

2 / 3

Completeness

It describes what (poll heartbeat and notifications) but has no explicit 'Use when...' clause or equivalent trigger guidance, and the 'when' is entirely missing. Per rubric guidelines, a missing 'Use when' clause caps completeness at 2, and since the 'when' is not even implied clearly, this scores a 1.

1 / 3

Trigger Term Quality

Includes some relevant terms like 'AI-Trader', 'heartbeat', 'notifications', and 'pull-based', but these are fairly technical and may not match natural user language. Missing common variations a user might say (e.g., 'check status', 'monitor', 'alerts').

2 / 3

Distinctiveness Conflict Risk

The description is quite specific to 'AI-Trader heartbeat and notifications' with a 'pull-based mechanism', making it a clear niche that is unlikely to conflict with other skills.

3 / 3

Total

8

/

12

Passed

Validation

100%

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

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
HKUDS/AI-Trader
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.