CtrlK
BlogDocsLog inGet started
Tessl Logo

data-routing

Data source selection decision tree. Load this skill BEFORE any backtest or data-fetching task to choose the best available data source.

60

Quality

75%

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 ./a_全网优秀资源/10_大模型/07_skill包/vibe_trading_skills/data-routing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

A lean, highly actionable routing skill: every section carries non-obvious operational knowledge (source priorities, token requirements, symbol formats, fallback behavior) with no padding. It correctly delegates API detail to per-source skills, and only minor tightening and a couple of edge-case gaps keep it from top marks.

Suggestions

Merge or trim the "Fallback Chain (Runner Layer)" section, which re-explains the automatic fallback already stated in the Backtest Scenario, and drop the filler line "This is transparent to the user — they just see results".

Add a two-line example config.json snippet showing `source: "auto"` in context, and a concrete fallback instruction for when every source in a market fails.

DimensionReasoningScore

Conciseness

The body is lean and factual — tables of auth tokens, network requirements, and symbol formats that Claude cannot infer, with no padding or concept explanations. Not 5 because the "Fallback Chain (Runner Layer)" trace partially duplicates the Backtest Scenario's "falls back to alternative sources" statement, and "This is transparent to the user — they just see results" is filler.

4 / 5

Actionability

Guidance is directly executable: exact per-market priority chains, the TUSHARE_TOKEN environment variable check, `load_skill("akshare")`, `source: "auto"`, and copy-paste-ready symbol examples. Not 5 due to minor gaps — no example config.json snippet and no concrete command to test network availability for the free sources.

4 / 5

Workflow Clarity

Both scenarios are clearly sequenced (identify market → pick source by priority → load the source skill) with explicit checkpoints (availability checks, connection-timeout fallback). Not 5 because there is no guidance for the case where all sources fail, and the network availability check is stated but not concretely testable.

4 / 5

Progressive Disclosure

The ~64-line body is well organized under clear headers and correctly delegates all API detail to per-source skills via the Skill column and `load_skill(...)`, rather than inlining it — textbook one-level-deep reference behavior with no bundle files needed.

5 / 5

Total

17

/

20

Passed

Description

62%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 and explicitly states both what the skill does and when to load it, with a genuinely distinct niche (data source routing). It is held back by thin capability specificity and limited trigger vocabulary for a domain where users would naturally mention many specific data needs.

Suggestions

Add one or two concrete capabilities or scope markers to the "what" clause, e.g., "Selects among tushare, akshare, yfinance, okx, and ccxt by market and availability" instead of the abstract "decision tree" phrase.

Expand trigger vocabulary with natural user phrasings such as "market data", "price data", "stock/crypto/forex data", or "fetching historical data for a backtest".

Mirror the body's coverage (markets: A-shares, US, HK, crypto, futures, macro, forex) so the description signals scope without loading the full skill.

DimensionReasoningScore

Specificity

"Data source selection decision tree" and "choose the best available data source" name the domain plus one concrete action, but the description does not list several specific actions (no markets, sources, or fallback behaviors). It is above anchor 2 because a concrete action is stated, but below anchor 4 because coverage is not comprehensive.

3 / 5

Completeness

Both parts are present: the "what" ("Data source selection decision tree... choose the best available data source") and an explicit "when" ("Load this skill BEFORE any backtest or data-fetching task"). Not 5 because the "what" is terse ("decision tree" does not say what sources are chosen among) and the trigger phrasing could include concrete variations.

4 / 5

Trigger Term Quality

"backtest" and "data-fetching task" are natural user terms, but common variations are missing (e.g., "market data", "price data", "stock data", "crypto data", or any source names). Coverage is relevant but incomplete, matching anchor 3 rather than anchor 4's good coverage.

3 / 5

Distinctiveness Conflict Risk

A routing/selection meta-skill occupies a distinct niche, and triggers like "data source selection" are distinctive. Not 5 because "backtest" could naturally also trigger a backtest-execution skill, creating minor overlap risk with closely related skills.

4 / 5

Total

14

/

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
charliedream1/ai_quant_trade
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.