CtrlK
BlogDocsLog inGet started
Tessl Logo

asset-allocation

Asset allocation theory and optimizer usage — MPT / Black-Litterman / risk budgeting / all-weather strategy, including guides for 5 optimizers and rebalancing rules.

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/asset-allocation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 well-organized, highly actionable reference: every optimizer has a ready-to-use config block, parameter defaults, tuning guidance, and a decision tree for selection. Its weaknesses are the inlined textbook theory and correlation-matrix example that inflate the token budget without adding system-specific knowledge, and the absence of an explicit end-to-end workflow with validation checkpoints on the generated configuration.

Suggestions

Move the textbook theory sections (MPT/BL formulas, all-weather environment table, risk-budgeting math) into a one-level-deep reference file (e.g. references/theory.md) and keep only a one-line orientation plus links in SKILL.md — this trims conciseness padding and improves progressive disclosure at once.

Trim or relocate the illustrative China correlation matrix to a reference file, keeping only the 'Key patterns' bullets that drive optimizer choice.

Add a short end-to-end workflow with a validation checkpoint, e.g. '1. Pick optimizer via the decision tree 2. Write config.json 3. Verify weights sum to <= 1.0 and count >= 3 instruments before finalizing' — this adds the missing validation step to workflow clarity.

DimensionReasoningScore

Conciseness

The system-specific material (optimizer configs, parameter defaults, tuning guidance, output format) is dense and earns its tokens, but roughly a quarter of the body restates textbook concepts Claude already knows — the MPT definition ('maximize expected return for a given level of risk'), the Black-Litterman posterior formula, risk-contribution math, and the all-weather environment table. Mostly efficient with a noticeable slab of known-material explanation, fitting anchor 3 better than 2 (the padding is tabular and compact, not padded prose) and clearly below 4.

3 / 5

Actionability

Copy-paste-ready `config.json` blocks for all five optimizers, per-parameter tables with defaults and concrete tuning thresholds ('<30 easily overfits', γ tuning per data frequency), a fully worked output-format template with example numbers, and an executable-shaped rebalancing snippet. The primary deliverable (optimizer configuration) is covered by specific, complete examples for every common case. The Python fragment referencing `signal_engine.py` is illustrative rather than standalone, but the actionable core — the config — is complete.

5 / 5

Workflow Clarity

The optimizer-selection decision tree provides a clear, branching selection sequence and the Output Format section defines the exact deliverable, with the Notes section flagging failure modes (overfitting, lookback bounds, leverage constraint). Not 5 because there is no explicit end-to-end workflow (gather data → select → configure → validate) and no validation checkpoint on the produced configuration — the weights-sum-≤-1 check appears only as a cautionary note; not 3 because sequencing and checkpoints are substantially present rather than implicit.

4 / 5

Progressive Disclosure

The body is well-sectioned with clear headers, but it is a single ~310-line file with no bundle files at all: ~90 lines of portfolio theory (MPT/BL derivations, all-weather environments) and a full correlation-matrix example are inlined material that would sit better in one-level-deep reference files. This matches anchor 3 — structure present, but content that should be separate is inline — better than 4, since no reference split exists for content this long.

3 / 5

Total

15

/

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 is specific and information-dense, naming the theory frameworks, the five optimizers, and rebalancing coverage, which makes it highly distinguishable within its domain. Its main weakness is the complete absence of a 'when to use' trigger clause, which caps completeness and weakens trigger-term utility. It is also a noun-phrase inventory rather than third-person action statements, costing it some specificity.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks about asset allocation, portfolio construction, or choosing/tuning an optimizer in config.json' — this directly lifts completeness from 3.

Rewrite the topic list as third-person actions ('Configures the 5 built-in optimizers via optimizer and optimizer_params, sets rebalancing rules') to convert noun phrases into concrete capabilities.

Include natural synonyms users would say — 'portfolio optimization', 'risk parity', 'rebalancing rules' — to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Lists several specific capabilities — 'MPT / Black-Litterman / risk budgeting / all-weather strategy', 'guides for 5 optimizers and rebalancing rules' — with only minor coverage gaps. It falls short of 5 because the capabilities are stated as topic noun-phrases rather than concrete actions ('Configure...', 'Generate...'), and slightly above 3 because it enumerates six distinct, specific items rather than 1-2 generic ones.

4 / 5

Completeness

The 'what' is clear (allocation theory frameworks, guides for 5 optimizers, rebalancing rules), but there is no 'Use when...' clause or any equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is a solid 3 rather than lower because the 'what' is specific and multi-part.

3 / 5

Trigger Term Quality

Good coverage of natural domain terms users would say: 'asset allocation', 'Black-Litterman', 'risk budgeting', 'all-weather', 'rebalancing', 'optimizer'. Not 5 because common user phrasings like 'portfolio optimization', 'portfolio construction', or 'risk parity' are missing; not 3 because the terms present are natural user vocabulary, not just internal jargon.

4 / 5

Distinctiveness Conflict Risk

A clear quant-finance niche (MPT/BL/risk budgeting/all-weather, optimizer configuration) that is mostly distinct from sibling skills, with only minor overlap risk against a generic backtesting or portfolio-management skill. Not 5 because terms like 'optimizer usage' and 'rebalancing' could plausibly collide with adjacent skills in a trading system.

4 / 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.