Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Portfolio Optimization Campaign — select balanced combinations from candidate sets optimizing value, diversity, risk, and robustness using Markowitz, Knapsack, Pareto, Real Options, MAP-Elites, and minimax regret methods.
.claude/skills/yogsoth-ai-convergence-portfolio-optimization/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 154% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 64% | 0% |
Select balanced combinations from candidate sets by optimizing across multiple objectives simultaneously. This campaign applies portfolio theory concepts — originally from finance but broadly applicable — to any selection problem where you must choose a subset from many candidates while balancing competing concerns.
| Signal | Strategy | |--------|----------| | maximize total value / ROI / impact within budget | value-maximization | | maximize coverage / diversity / avoid redundancy | diversity-maximization | | balance risk / hedge / diversify failure modes | risk-balancing | | sequence / phase / timeline / dependencies | temporal-sequencing | | robust under uncertainty / scenario-proof | robustness-under-uncertainty |
| Strategy | Description | |----------|-------------| | value-maximization | Maximize total value within constraints using Knapsack, LP, Cost-benefit, NPV ranking | | diversity-maximization | Maximize portfolio diversity using MAP-Elites, Niche coverage, Maximum dispersion | | risk-balancing | Balance risk-return using Markowitz mean-variance, CVaR, Risk parity, Kelly criterion | | temporal-sequencing | Optimal ordering using Real Options, Critical path, Dependency graph, Staged investment | | robustness-under-uncertainty | Perform well across futures using Minimax regret, Robust optimization, Scenario planning |
| Tactic | Description | |--------|-------------| | pareto-frontier-construction | Build and visualize the Pareto frontier, then select from non-dominated solutions | | niche-coverage-analysis | Map candidates to niches, score coverage, identify gaps | | scenario-stress-testing | Evaluate portfolio performance across multiple future scenarios |
| SOP | Description | |-----|-------------| | objective-definition | Define optimization objectives and constraints from context | | optimization-run | Execute multi-objective optimization to produce Pareto front | | pareto-visualization | Visualize trade-offs along the Pareto frontier | | selection-from-frontier | Select final portfolio from Pareto front given preferences | | niche-definition | Define niches within the solution space | | niche-mapping | Map candidates to defined niches | | coverage-scoring | Score coverage completeness and identify gaps | | scenario-construction | Construct distinct future scenarios from uncertainties | | portfolio-evaluation-per-scenario | Evaluate a portfolio under a specific scenario | | portfolio-synthesis | Synthesize evaluations into final robust portfolio recommendation |
| Dimension | M-tier Target | |-----------|---------------| | Candidates considered | 8-20 | | Objectives optimized | >=2 simultaneously | | Scenarios tested | >=3 distinct futures | | Pareto points generated | >=5 non-dominated solutions |
mcp__wiki-vault__vault_search — retrieve prior portfolio analyses and candidate datamcp__wiki-vault__vault_query_graph — traverse relationships between candidatesmcp__wiki-vault__vault_add_edge — record portfolio decisions and rationale<!-- BEGIN available-tables (generated) -->
Optional, no fixed order; the final leaf is always a sop.
| Strategy | When to use | | --- | --- | | diversity-maximization | Maximize portfolio diversity and coverage using MAP-Elites, Niche coverage, Maximum dispersion, and Anti-clustering methods. | | risk-balancing | Balance portfolio risk and return using Markowitz mean-variance, CVaR, Risk parity, and Kelly criterion methods. | | robustness-under-uncertainty | Select portfolios that perform well across multiple future scenarios using Minimax regret, Robust optimization, Scenario planning, and Info-gap methods. | | temporal-sequencing | Determine optimal ordering and phasing of portfolio investments using Real Options, Critical path, Dependency graph, and Staged investment methods. | | value-maximization | Maximize total portfolio value within constraints using Knapsack, Linear programming, Cost-benefit analysis, and NPV ranking methods. |
Optional, no fixed order; the final leaf is always a sop.
| SOP | When to use | | --- | --- | | context-checkpoint | Append research process and results to the current Phase's context file. Covers both process and results with genuine substance. Use this skill at plan-designated checkpoint points — typically after each strategy completes or at key decision nodes within a research Phase. | | context-init | Create a new context file for a research Phase. Called once at Phase start to initialize the file that subsequent context-checkpoint calls will append to. Use this skill whenever a new research Phase begins and a fresh context file is needed. | | convergence-saturation-detection | Determines when to stop iterating — coverage threshold met or marginal returns diminishing. Shared across all campaigns. | | convergence-sensitivity-analysis | Tests conclusion robustness by perturbing parameters and observing rank changes. Shared across scoring, portfolio, and steel-manning campaigns. |
<!-- END available-tables (generated) -->
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,324 | 6,218 | -68% | 1 | 1 | 0% | 3,525 | 1,529 | -57% | 0 | 0 | — |
case-02 | fail→fail | 23,275 | 6,094 | -74% | 1 | 1 | 0% | 4,241 | 1,523 | -64% | 0 | 0 | — |
case-03 | fail→pass | 13,715 | 4,547 | -67% | 1 | 1 | 0% | 2,257 | 1,928 | -15% | 0 | 0 | — |
case-04 | pass→pass | 13,142 | 8,309 | -37% | 1 | 1 | 0% | 2,091 | 2,523 | +21% | 0 | 0 | — |
case-05 | pass→pass | 12,259 | 7,030 | -43% | 1 | 1 | 0% | 1,850 | 2,272 | +23% | 0 | 0 | — |
case-06 | pass→pass | 18,087 | 4,380 | -76% | 1 | 1 | 0% | 2,788 | 1,806 | -35% | 0 | 0 | — |
case-07 | fail→pass | 5,727 | 7,780 | +36% | 1 | 1 | 0% | 940 | 2,388 | +154% | 0 | 0 | — |
case-08 | pass→pass | 9,590 | 2,090 | -78% | 1 | 1 | 0% | 1,468 | 1,443 | -2% | 0 | 0 | — |
case-09 | pass→pass | 7,357 | 4,552 | -38% | 1 | 1 | 0% | 1,106 | 1,781 | +61% | 0 | 0 | — |
case-10 | pass→fail | 14,245 | 13,898 | -2% | 1 | 1 | 0% | 2,078 | 3,424 | +65% | 0 | 0 | — |
case-11 | fail→pass | 18,274 | 7,182 | -61% | 1 | 1 | 0% | 2,885 | 2,324 | -19% | 0 | 0 | — |
case-12 | pass→pass | 20,652 | 5,552 | -73% | 1 | 1 | 0% | 3,070 | 2,100 | -32% | 0 | 0 | — |
case-13 | pass→pass | 10,515 | 5,142 | -51% | 1 | 1 | 0% | 1,647 | 2,013 | +22% | 0 | 0 | — |
case-14 | pass→pass | 11,459 | 6,752 | -41% | 1 | 1 | 0% | 1,644 | 2,197 | +34% | 0 | 0 | — |
case-15 | fail→pass | 6,785 | 1,931 | -72% | 1 | 1 | 0% | 1,066 | 1,462 | +37% | 0 | 0 | — |
case-16 | fail→pass | 5,481 | 1,641 | -70% | 1 | 1 | 0% | 844 | 1,381 | +64% | 0 | 0 | — |
case-17 | fail→pass | 27,250 | 2,271 | -92% | 1 | 1 | 0% | 2,132 | 1,496 | -30% | 0 | 0 | — |
case-18 | pass→pass | 17,202 | 5,175 | -70% | 1 | 1 | 0% | 2,796 | 1,976 | -29% | 0 | 0 | — |
case-19 | pass→pass | 11,570 | 9,792 | -15% | 1 | 1 | 0% | 1,794 | 2,639 | +47% | 0 | 0 | — |
case-20 | pass→pass | 12,674 | 7,431 | -41% | 1 | 1 | 0% | 2,034 | 2,261 | +11% | 0 | 0 | — |
case-21 | fail→fail | 13,857 | 6,056 | -56% | 1 | 1 | 0% | 2,361 | 1,485 | -37% | 0 | 0 | — |
case-22 | pass→fail | 10,469 | 7,275 | -31% | 1 | 1 | 0% | 1,703 | 2,240 | +32% | 0 | 0 | — |
case-23 | fail→pass | 11,874 | 5,399 | -55% | 1 | 1 | 0% | 1,913 | 2,013 | +5% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +22 percentage points is the difference between those two pass rates over the 20 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.