CtrlK
BlogDocsLog inGet started
Tessl Logo

event-driven

Event-driven strategy based on sentiment-scored signals from news, announcements, and macro events. The LLM acts as the NLP engine, and event data follows a CSV schema.

55

Quality

63%

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 ./agent/src/skills/event-driven/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 content is highly actionable with complete, executable code and concrete schemas/templates, and is largely token-efficient; its main gaps are the absence of explicit validation checkpoints in the batch workflow and a monolithic structure with no external reference files despite the length.

DimensionReasoningScore

Conciseness

The body is code- and table-dense with little padding of concepts Claude already knows, but contains minor redundancy (the 'Signal Convention' section restates the combine_signals formula and the alpha default is stated in both the docstring and prose), keeping it just below the lean 5.

4 / 5

Actionability

It provides fully executable, copy-paste-ready code (compute_event_signal and combine_signals with imports), a concrete CSV schema with example rows, and a ready-to-use LLM scoring prompt template that cover the common cases, matching the 'fully executable; copy-paste ready' anchor.

5 / 5

Workflow Clarity

The 4-step workflow (read_url → LLM score → write event CSV → signal_engine aggregation) is clearly sequenced, but this is a batch backtest operation with no explicit validation/verification checkpoints in the steps themselves (look-ahead and range checks appear only in the pitfalls prose), so per the feedback-loop cap workflow_clarity cannot exceed 3.

3 / 5

Progressive Disclosure

The body is well-sectioned with clear headers, but at ~176 lines everything (full code implementations, the prompt template) is inlined with no external reference files, and the referenced signal_engine.py is not an actual bundle file, fitting 'some structure but content that should be separate is inline; references not clearly signaled'.

3 / 5

Total

15

/

20

Passed

Description

53%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 clearly conveys what the skill does and is reasonably distinct, but it lacks an explicit 'Use when...' trigger clause and leans on domain jargon rather than the natural phrases a user would say, capping completeness and trigger-term quality at 3.

Suggestions

Add an explicit 'Use when...' trigger clause (e.g., 'Use when building event-driven trading strategies that incorporate news sentiment, earnings, or macro announcements') to lift completeness above the 3 cap.

Include natural trigger synonyms users would actually say — 'earnings', 'headlines', 'market news', 'trade on news' — to broaden keyword coverage beyond domain jargon.

Reframe the description around the concrete actions Claude performs ('scores news sentiment, writes an event CSV, and aggregates event + technical signals') rather than describing the strategy's components.

DimensionReasoningScore

Specificity

The description names the domain ('event-driven strategy', 'sentiment-scored signals from news, announcements, and macro events') and a couple concrete elements ('LLM acts as the NLP engine', 'event data follows a CSV schema'), but it describes the strategy's components rather than listing multiple concrete actions Claude performs, so it does not reach the 'several specific actions' of a 4.

3 / 5

Completeness

It gives a clear 'what' (event-driven strategy via sentiment-scored signals with a CSV schema) but contains no 'Use when...' clause or equivalent explicit trigger guidance for when Claude should invoke it, so per the judging guidelines completeness is capped at 3.

3 / 5

Trigger Term Quality

It includes relevant keywords ('event-driven', 'news', 'announcements', 'macro events', 'sentiment') a finance user might say, but misses common variations and synonyms like 'earnings', 'headlines', 'market news', or 'trade on news', fitting the 'some relevant keywords but missing common variations' anchor.

3 / 5

Distinctiveness Conflict Risk

The 'event-driven strategy based on sentiment-scored signals' framing carves a fairly distinct niche with low conflict risk against other strategy types, with only minor overlap risk against a generic sentiment-analysis skill, matching the 'mostly distinct; minor overlap risk' anchor.

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
HKUDS/Vibe-Trading
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.