CtrlK
BlogDocsLog inGet started
Tessl Logo

fundamental-filter

Fundamental factor screening — filter stocks by PE/PB/ROE, financial statement fields, and other metrics for value or growth selection. Supports A-shares (via tushare extra_fields or fundamental_fields) and HK/US stocks (via yfinance Ticker info).

64

Quality

80%

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

Quality

Content

82%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 strong, highly actionable reference skill: executable examples for every supported market, explicit parameter defaults, and unusually thorough PIT/NaN/unit pitfalls. Minor gains available from trimming the duplicated Purpose/market-summary material and adding a light validation step for screening results.

DimensionReasoningScore

Conciseness

Efficient overall: no explanations of concepts Claude already knows, and dense tables/code carry the payload. Not 5: the Purpose section restates the frontmatter description and the Market Support table partially duplicates the per-market usage sections.

4 / 5

Actionability

Fully executable, copy-paste-ready: complete config.json blocks for both tushare modes, runnable Python for US/HK screening with missing-data handling, a parameter table with defaults, and a field-prefix mapping table. Common cases for each market are covered.

5 / 5

Workflow Clarity

Signal logic is explicitly sequenced ("PE < pe_max AND PE > 0 ... All conditions met → long (1)"), missing-data skipping is in the code, and Common Pitfalls covers failure modes (NaN, PIT visibility, unit mismatch). Not 5: there is no explicit validation checkpoint on screening results (e.g., sanity-checking pass rates), though the operation is non-destructive so the validation cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the ~170-line body is well-sectioned and self-contained with no nested references. Not 5: the skill exceeds the trivial-size threshold and some content (full yfinance field list, per-market pitfalls) could be split into a reference file; not 3: structure and placement are good with nothing buried.

4 / 5

Total

17

/

20

Passed

Description

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

A specific, well-scoped description with strong trigger terms and minimal conflict risk, but it omits any "Use when..." guidance, capping its completeness. Adding an explicit trigger clause (e.g., "Use when building value/growth stock screens or filtering universes by fundamentals for backtests") would lift it to top tier.

Suggestions

Add an explicit trigger clause, e.g. "Use when screening stocks by fundamentals, building value or growth universes, or filtering a stock list by PE/PB/ROE before backtesting."

Include common user synonyms such as "valuation", "stock screener", or "financial metrics" to broaden natural trigger coverage.

State the output explicitly (a filtered stock list / long-flat signal) so the "what" is complete without relying on the body.

DimensionReasoningScore

Specificity

Names concrete actions — "filter stocks by PE/PB/ROE, financial statement fields", "value or growth selection" — and specifies per-market data sources (tushare extra_fields/fundamental_fields, yfinance Ticker info). Not 5: "and other metrics" hedges coverage and the output of the skill (a screen/signal) is left implicit.

4 / 5

Completeness

The "what" is clear (fundamental filtering for value/growth selection across markets), but there is no "Use when..." trigger clause and the "when" is only weakly implied at best. Per the judging guideline, a missing 'Use when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keywords: "fundamental factor screening", "PE/PB/ROE", "value or growth selection", "A-shares", "HK/US stocks". Not 5: misses common synonyms users would say such as "valuation", "stock screener", "financial metrics", or "backtest".

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: named metrics (PE/PB/ROE), named data sources (tushare, yfinance Ticker info), and named markets (A-shares, HK/US) make confusion with generic screening or technical-signal skills unlikely. Not 4: the trigger terms are specific enough that overlap risk is minimal.

5 / 5

Total

16

/

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.