variance-strategy-selector
Given a current win probability and a downside asymmetry flag, recommends a variance-seeking, neutral, or variance-minimizing posture and emits a numeric multiplier (typically 0.8-1.3) for downstream consumers to apply to boom-bust scores, position sizes, or bet sizes. Favorites minimize variance; underdogs maximize it. Reusable across fantasy sports lineup construction, portfolio allocation, poker bankroll decisions, racing strategy, and any decision where the agent controls a variance knob. Use when user mentions variance strategy, underdog variance, variance seeking, variance minimizing, risk posture, boom bust, must-win variance, favorite strategy, or when a decision module needs a single scalar to bias toward or away from high-variance options.
What this skill does
# Variance Strategy Selector ## Table of Contents - [Example](#example) - [Workflow](#workflow) - [Common Patterns](#common-patterns) - [Guardrails](#guardrails) - [Quick Reference](#quick-reference) ## Example **Scenario**: A fantasy manager is 15% behind their opponent with 3 lineup slots left to decide this week. Losing this week eliminates them from playoff contention. **Inputs**: - `current_win_probability` = 0.32 (heavy underdog) - `downside_asymmetry` = 0.90 (must-win, catastrophic if lost) - `slots_to_decide` = 3 **Band classification**: `win_probability < 0.40` -> posture = "seek", base multiplier range 1.15-1.30. **Asymmetry amplification**: `downside_asymmetry > 0.8` -> shift multiplier further from 1.0 by +0.10 on the seek side. Base 1.20 + 0.10 = **1.30**. **Slot-count dampening**: `slots_to_decide = 3`, below the 5-slot threshold -> no dampening applied. **Outputs**: - `variance_posture`: "seek" - `variance_multiplier`: 1.30 - `confidence_band`: "high-variance (seek aggressively)" - `rationale`: "Pre-move win probability is 0.32 (heavy underdog) and the downside is catastrophic (must-win, asymmetry 0.90). Maximizing variance raises the probability of a right-tail outcome. Consumer should boost high-variance options (boom-bust players, concentrated positions, longshot bets) by 30%." **Consumer application** (downstream skill applies the multiplier): ``` adjusted_player_score = base_score x (1 + (boom_bust_score - 0.5) x (variance_multiplier - 1)) ``` A boom-bust score of 0.8 (high-variance player) with multiplier 1.30 gets a +9% boost relative to a steady player. ## Workflow Copy this checklist and track progress: ``` Variance Strategy Selection Progress: - [ ] Step 1: Collect inputs (win_probability, downside_asymmetry, slots_to_decide) - [ ] Step 2: Classify win-probability band (seek / neutral / minimize) - [ ] Step 3: Apply downside-asymmetry amplification - [ ] Step 4: Apply slot-count dampening - [ ] Step 5: Clamp multiplier to valid range and validate monotonicity - [ ] Step 6: Emit structured output with rationale ``` **Step 1: Collect inputs** - [ ] `current_win_probability` is a float in [0, 1]. Reject values outside this range. - [ ] `downside_asymmetry` is a float in [0, 1] where 1.0 = losing is catastrophic (must-win for playoffs, elimination game, bankroll ruin). - [ ] `slots_to_decide` is a non-negative integer representing how many independent decisions this posture covers (lineup slots, portfolio positions, bet sequence length). See [resources/template.md](resources/template.md#input-validation-checklist) for input validation rules. **Step 2: Classify win-probability band** Apply the three-band rule: - [ ] `win_probability < 0.40` -> posture = "seek", base multiplier 1.15-1.30 - [ ] `0.40 <= win_probability <= 0.60` -> posture = "neutral", base multiplier 1.00 - [ ] `win_probability > 0.60` -> posture = "minimize", base multiplier 0.80-0.90 Within the "seek" band, pick the base multiplier proportional to how far below 0.40 the probability is: `base = 1.15 + (0.40 - win_probability) x 0.375`, clamped to 1.30. Within "minimize", mirror: `base = 0.90 - (win_probability - 0.60) x 0.25`, clamped to 0.80. See [resources/methodology.md](resources/methodology.md#why-underdogs-want-variance) for the underlying right-tail / left-tail logic. **Step 3: Apply downside-asymmetry amplification** If the loss is catastrophic, the underdog must swing harder and the favorite must protect harder. The adjustment is symmetric around 1.0. - [ ] If `downside_asymmetry > 0.8` and posture = "seek": shift multiplier +0.10 (further above 1.0) - [ ] If `downside_asymmetry > 0.8` and posture = "minimize": shift multiplier -0.10 (further below 1.0) - [ ] If `downside_asymmetry > 0.8` and posture = "neutral": no shift (neutral remains neutral by definition) - [ ] If `downside_asymmetry <= 0.8`: no shift **Step 4: Apply slot-count dampening** With many independent decisions, the Central Limit Theorem diversifies variance on its own. Pushing the multiplier hard across many slots is redundant. - [ ] If `slots_to_decide > 5`: dampen the distance from 1.0 by a factor of `5 / slots_to_decide` (bounded below at 0.5). E.g. with 10 slots, reduce the gap by half. - [ ] If `slots_to_decide <= 5`: no dampening. See [resources/methodology.md](resources/methodology.md#central-limit-dampening) for the math. **Step 5: Clamp and validate monotonicity** - [ ] Clamp the final multiplier to the range [0.70, 1.40]. Values outside this range indicate an input or computation error. - [ ] Confirm monotonicity: as `win_probability` decreases, multiplier must weakly increase. As `downside_asymmetry` increases, |multiplier - 1.0| must weakly increase. **Step 6: Emit structured output** Return the four required fields: - [ ] `variance_posture` -- "seek" | "neutral" | "minimize" - [ ] `variance_multiplier` -- final number in [0.70, 1.40] - [ ] `confidence_band` -- short human-readable descriptor (e.g. "high-variance (seek aggressively)", "low-variance (protect the lead)") - [ ] `rationale` -- 2-3 sentences citing win probability band, asymmetry flag, slot count effect, and how the consumer should interpret the multiplier Validate using [resources/evaluators/rubric_variance_strategy_selector.json](resources/evaluators/rubric_variance_strategy_selector.json). Minimum standard: average score of 3.5 or above. ## Common Patterns **Pattern 1: Heavy underdog, must-win (fantasy sports)** - Inputs: win_prob ~0.30, asymmetry ~0.90, slots 1-3 - Output: posture "seek", multiplier ~1.30 - Rationale: Swing for the fences. Prefer a high-K / high-HR boom-bust hitter over a high-contact singles hitter; prefer a volatile SP with upside over a stable #4 starter. Consumer skill (e.g. `mlb-lineup-optimizer`) multiplies boom-bust weight by 1.30. **Pattern 2: Heavy favorite, large portfolio / many slots** - Inputs: win_prob ~0.75, asymmetry ~0.50, slots ~12 (full lineup / diversified portfolio) - Output: posture "minimize", multiplier ~0.92 (after slot dampening from 0.85) - Rationale: Protect the lead, but don't over-engineer -- with 12 slots the portfolio is already diversified by the Central Limit effect. Small damp on the variance knob is enough. Consumer reduces concentration / boom-bust weight by 8%. **Pattern 3: Even matchup (poker mid-stack)** - Inputs: win_prob ~0.50, asymmetry ~0.40, slots ~5 (next 5 hands) - Output: posture "neutral", multiplier 1.00 - Rationale: Play close to GTO. No variance tilt either way. Consumer applies no adjustment to bet sizing. **Pattern 4: Mild favorite, one decisive decision (racing / options expiry)** - Inputs: win_prob ~0.65, asymmetry ~0.85, slots 1 - Output: posture "minimize", multiplier ~0.75 (base 0.85 - 0.10 asymmetry shift, no slot dampening) - Rationale: One shot, lead to protect, catastrophic if squandered. The race leader does not take the high-risk inside line; the hedged call writer does not lift the hedge on expiry day. Consumer hard-damps variance. ## Guardrails 1. **Bands are hard, not fuzzy.** Do not interpolate the posture label across 0.40 and 0.60 thresholds. Posture is categorical (seek / neutral / minimize); the multiplier is continuous within each band. Consumers rely on the categorical label for branching logic. 2. **Asymmetry amplifies, never reverses.** A catastrophic downside makes a favorite more conservative and an underdog more aggressive. It never flips the direction. If the computed multiplier would cross 1.0 because of an asymmetry shift, clamp at 1.0 and recheck inputs. 3. **Slot dampening applies to the distance from 1.0, not to the multiplier itself.** Implementation: `final = 1.0 + (pre_dampening - 1.0) x min(1.0, 5 / slots)`. Dampening 1.30 across 10 slots gives 1.15, not 0.65. 4. **Edge cases at probability 0 and 1.** If `win_probability = 0`, posture is "seek" with maximum multiplier (1.30 pre-asymmetry, 1.40 post); the analogy is a lottery ticket -- variance is the only path to
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.