CtrlK
BlogDocsLog inGet started
Tessl Logo

pair-trading

Pair trading strategy. Trades mean reversion using the spread/ratio Z-score of two correlated instruments. Requires at least two instruments.

59

Quality

74%

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 ./agent/src/skills/pair-trading/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 body is a tight, well-structured strategy spec: concrete formulas, a parameter table, two copy-paste config examples, and a pitfalls section that pre-empts real failure modes. The main weakness is the absence of validation checkpoints in the workflow — nothing verifies pair suitability (correlation, non-zero std) or date alignment before signals are generated.

Suggestions

Add an explicit validation step before signal generation, e.g. 'Before trading, verify: len(aligned_df) > lookback, std > 0 at every bar, and rolling correlation > threshold (e.g. 0.8); abort or skip signals otherwise.'

Turn the date-alignment pitfall into a concrete checkpoint with code, e.g. 'df = df1.join(df2, how="inner"); assert len(df) == len(df1) or warn about missing bars.'

Provide a small executable snippet for the signal-generation step so the whole pipeline is copy-paste runnable rather than formula fragments.

DimensionReasoningScore

Conciseness

The body is lean and operational (parameters table, config examples, pitfalls, signal conventions) with no padded conceptual filler; the only trimmable redundancy is the 'Purpose' paragraph, which restates the strategy already conveyed by the frontmatter description and Signal Logic.

4 / 5

Actionability

Concrete pandas-style formulas ('ratio = close_A / close_B', rolling mean/std, Z-score), explicit entry/exit thresholds, copy-paste-ready config.json examples for both stock and crypto cases, and an install command are all present; the only gap is that signal logic is given as formulas rather than a complete executable snippet.

4 / 5

Workflow Clarity

The 4-step signal sequence (ratio, rolling stats, Z-score, signals) is clear and pitfalls flag failure modes, but there are no explicit validation checkpoints (e.g., verify date alignment succeeded, confirm correlation/std > 0 before trading), and backtesting over a date range is a batch operation — capping workflow clarity at 3.

3 / 5

Progressive Disclosure

This is a single-purpose skill with no bundle files and no content that belongs in separate references; the body is well-organized into clearly labeled sections (Purpose, Signal Logic, Parameters, Example config, Pitfalls, Dependencies, Signal Convention) and is fully navigable as-is.

5 / 5

Total

16

/

20

Passed

Description

65%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 is concise, specific, and third-person with strong domain keywords, but it entirely lacks a 'when to use' trigger clause. It describes what the skill does well while giving no guidance on when it should be invoked.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user wants a market-neutral or statistical-arbitrage strategy, or mentions pair trading, spread trading, or mean reversion between two instruments.'

Include natural synonyms such as 'statistical arbitrage', 'stat arb', and 'market-neutral strategy' to improve trigger-term coverage.

State what the skill produces (e.g., entry/exit signals or a backtest configuration for a long-short pair) to broaden the description beyond the single 'trades mean reversion' action.

DimensionReasoningScore

Specificity

The description names the domain ('Pair trading strategy') and one concrete mechanism ('Trades mean reversion using the spread/ratio Z-score of two correlated instruments'), but stops at 1-2 actions rather than listing several specific capabilities.

3 / 5

Completeness

The 'what' is clearly stated (trades mean reversion via spread/ratio Z-score), but there is no 'Use when...' clause or any equivalent explicit trigger guidance, which caps completeness at 3.

3 / 5

Trigger Term Quality

Natural phrases users would say for this skill are present ('pair trading', 'mean reversion', 'spread', 'Z-score', 'correlated instruments'), but common synonyms such as 'statistical arbitrage', 'stat arb', or 'market-neutral' are missing.

4 / 5

Distinctiveness Conflict Risk

'Pair trading strategy' is a distinct niche with its own terminology (spread, Z-score, correlated instruments), making it clearly distinguishable from other skills with minimal conflict risk.

5 / 5

Total

15

/

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.

Validation — 15 / 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.