CtrlK
BlogDocsLog inGet started
Tessl Logo

etf-analysis

ETF分析:产品筛选、费率对比、跟踪误差、流动性评估、策略应用与中国市场ETF量化配置框架。

54

Quality

68%

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

Quality

Content

57%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 dense, well-organized reference rich in China-market specifics and mostly executable code, but it is a monolithic wall of reference material with no progressive disclosure into separate files, no validation checkpoints in its workflows, and noticeable padding from redundant concept explanations and docstrings.

Suggestions

Split the monolithic SKILL.md into an overview plus one-level-deep reference files (e.g. references/products.md for the product/index catalogs, references/data-api.md for the tushare code, references/strategies.md for sections 4 and 6), keeping SKILL.md a lean map with pointers.

Add validation checkpoints to the analysis workflows — e.g. verify data alignment/completeness before computing tracking error, sanity-check premium_pct against IOPV freshness for QDII ETFs, and confirm scale data exists before ranking ETFs.

Trim content Claude already knows: replace the tracking-error/IR/volatility-decay derivations and verbose per-function docstrings with brief formulas and one-line usage comments, keeping only the China-specific thresholds and codes.

DimensionReasoningScore

Conciseness

China-specific data (fund codes like 510300, fee tables, QDII premium thresholds, tax rules) earns its place, but the ~870-line body re-explains concepts Claude already knows (tracking error mechanics, core-satellite strategy, volatility decay derivation) and pads nearly every code block with multi-line docstrings. Mostly efficient with some unnecessary explanation, fitting anchor 3.

3 / 5

Actionability

Most code is executable and complete (get_etf_list, calc_tracking_error, monitor_qdii_premium with real tushare API calls), but several snippets are fragments assuming undefined context (effective_spread/impact_cost lines, the z-score pair-trading block, the comment-only fee_drag_analysis example). Anchor 4 fits better than 5 due to these gaps.

4 / 5

Workflow Clarity

A clear selection sequence exists ("Step 1: 规模筛选 → ... Step 5: 基金公司") plus scenario templates in section 8, but there are no validation checkpoints anywhere — no data-quality checks before computing tracking error, no sanity checks on results. Sequence present, checkpoints missing, matching anchor 3.

3 / 5

Progressive Disclosure

Sections are well-organized with clear numbered headers, but this is a monolithic ~870-line SKILL.md with product-catalog tables, a factor table, and a full Tushare API reference inlined — content that clearly belongs in separate reference files. No bundle files exist at all, so everything is inline; anchor 3 fits (structure present, content that should be separate is inline).

3 / 5

Total

13

/

20

Passed

Description

66%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 communicates what the skill does with domain-specific, natural keywords, but entirely omits any trigger guidance for when to use it. Adding an explicit 'Use when...' clause and a few more synonym triggers would lift it substantially.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user mentions ETF selection, fund fees (费率), tracking error (跟踪误差), premium/discount (折溢价), QDII ETFs, or building ETF-based portfolios in the Chinese market."

Convert the noun-phrase list into concrete verb-led actions (e.g. "筛选同类ETF、计算跟踪误差与折溢价率、构建并回测ETF组合") and drop the abstract "量化配置框架" tail.

Add common synonym trigger terms users actually say: "场内基金", "联接基金", "指数基金", "QDII", "折溢价".

DimensionReasoningScore

Specificity

Lists several concrete action areas ("产品筛选、费率对比、跟踪误差、流动性评估、策略应用") beyond just naming the domain, though they are noun phrases rather than verb-led actions and "量化配置框架" is abstract. Fits anchor 4 (several specific actions, minor gaps) rather than 5 (not comprehensive or verb-phrased) or 3 (well beyond 1-2 actions).

4 / 5

Completeness

The "what" is clear (screening, fee comparison, tracking error, liquidity, strategy application), but there is no "Use when..." clause or equivalent trigger guidance anywhere in the description. Per the rubric guideline, a missing 'when' caps completeness at 3.

3 / 5

Trigger Term Quality

Contains natural domain terms users would say ("ETF", "费率", "跟踪误差", "流动性", "中国市场", "量化配置") that map well to real queries. Missing common synonyms and variations such as "折溢价", "QDII", "场内基金", "联接基金", so it fits anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

Scoped to China-market ETF analysis with specific vocabulary (跟踪误差, 中国市场ETF), making it clearly distinguishable from generic document or code skills. Minor overlap risk remains with broader quant/asset-allocation skills, fitting anchor 4 rather than 5.

4 / 5

Total

15

/

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 (871 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
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.