# Enhanced Skill Matrix with Templates and Interaction Types Production-ready 4×3 matrix with interaction type mapping for LLM classification and UI implementation Version 2.0 - Production ready skill matrix with comprehensive UI interaction mapping for the quiz platform ## Core Architecture ### 4×3 Matrix Structure **PERCEPTION (A):** Pattern recognition, signal interpretation, quality assessment **STRATEGY (S):** Approach selection, strategy comparison, optimal choice **RISK (R):** Position sizing, risk assessment, trade viability **EXECUTION (E):** Order mechanics, execution planning, policy optimization **Apply:** Single rule on single input **Analyze:** Compare/synthesize ≥2 inputs **Evaluate:** Choose best option with justified trade-offs ## Interaction Type Matrix Each cell maps to primary and secondary interaction types for optimal user experience ### PERCEPTION Domain | Cell | Primary Interaction | Secondary | Implementation Notes | |------|-------------------|-----------|---------------------| | **PERCEPTION–Apply** | Chart Drawing Selection | Multi-Select | Visual identification of features/patterns | | **PERCEPTION–Analyze** | Multi-Select | Chart Selection | Synthesis across views with multi-view guidance | | **PERCEPTION–Evaluate** | Single Choice | Multi-Select | Evaluate quality vs noise with justification | ### STRATEGY Domain | Cell | Primary Interaction | Secondary | Implementation Notes | |------|-------------------|-----------|---------------------| | **STRATEGY–Apply** | Single Choice | Sequencing | Match setup to playbook | | **STRATEGY–Analyze** | Sequencing | Single Choice | Compare playbooks/contexts with ordering | | **STRATEGY–Evaluate** | Single Choice | Multi-Select | Choose best play with trade-offs | ### RISK Domain | Cell | Primary Interaction | Secondary | Implementation Notes | |------|-------------------|-----------|---------------------| | **RISK–Apply** | Single Choice | Multi-Select | Pre-computed sized options (no numeric input) | | **RISK–Analyze** | Multi-Select | Single Choice | Assess multiple risk factors and interactions | | **RISK–Evaluate** | Single Choice | Multi-Select | Decision thresholding with rationale | ### EXECUTION Domain | Cell | Primary Interaction | Secondary | Implementation Notes | |------|-------------------|-----------|---------------------| | **EXECUTION–Apply** | Chart Drawing Completion | Single Choice | Point-click completion of order parameters | | **EXECUTION–Analyze** | Single Choice | Multi-Select | Compare execution options with chart context | | **EXECUTION–Evaluate** | Single Choice | Sequencing | Optimize for slippage vs fill probability | ## Available Interaction Types **Use:** Decisions, classifications, selections **Format:** 3-5 options with one correct answer **Cells:** S1, S3, R3, E2, E3 **Use:** Multiple factor identification, comprehensive analysis **Format:** 5-8 options with 2+ correct answers **Cells:** A2, R2 **Use:** Process flows, priority ordering, procedures **Format:** 4-7 items to order correctly **Cells:** S2 **Use:** Pattern identification, support/resistance marking **Format:** Click/select specific chart areas **Cells:** A1 **Use:** Order placement, stop/target positioning **Format:** Complete partially drawn chart elements **Cells:** E1 ## Parameter Pools & Context System ### Asset Pools (Rotating) Diversified Asset Selection ```javascript ASSET_POOLS = { "equities": ["AAPL", "NVDA", "MSFT", "AMZN", "GOOGL", "META", "TSLA", "JPM", "BAC", "XOM"], "indices": ["SPY", "QQQ", "IWM", "DIA", "VTI", "EEM", "XLF", "XLE"], "forex": ["EURUSD", "GBPUSD", "USDJPY", "AUDUSD"], "crypto": ["BTCUSD", "ETHUSD", "SOLUSD", "BNBUSD"], "commodities": ["GC", "CL", "NG", "SI", "ZC", "ZS"] } ``` ### Market Context Parameters trending_up, trending_down, ranging, volatile_expanding, volatile_contracting pre_earnings, post_earnings, pre_fomc, post_fomc, pre_cpi, normal normal_correlation, decorrelated, high_correlation, breakdown low_sub15, normal_15to20, elevated_20to30, high_above30 ## Template Examples ### PERCEPTION–Apply: Chart Drawing Selection A1 Template Structure ```javascript function generate_A1_chart_selection(complexity="basic") { const patterns = { "basic": { "pattern": "support_touch", "instruction": "Click all points where price touches support", "chart_elements": ["support_line", "price_candles"], "correct_zones": [(x1, y1), (x2, y2)] }, "advanced": { "pattern": "divergence_signals", "instruction": "Mark areas showing price/indicator divergence", "chart_elements": ["price_chart", "RSI_panel", "trend_lines"], "correct_zones": [(x1, y1, x2, y2), (x3, y3, x4, y4)] } }; return { "interaction_type": "chart_drawing_selection", "prompt": `On the chart below, ${params.instruction}`, "chart_config": { "interactive": true, "selection_mode": "multiple_points" }, "correct_selections": params.correct_zones, "tolerance_pixels": 10 }; } ``` ### STRATEGY–Analyze: Sequencing S2 Template Structure ```javascript function generate_S2_sequencing() { const scenario = { "context": "Trading AAPL before earnings with high IV", "considerations": [ "Assess implied vs historical volatility spread", "Check expected move from options pricing", "Review past earnings reactions", "Determine position sizing based on risk", "Select strategy (straddle, condor, directional)", "Set exit plan for post-announcement" ], "correct_order": [1, 2, 3, 4, 5, 6] }; return { "interaction_type": "sequencing", "prompt": `Context: ${scenario.context}. Order these steps:`, "items": shuffled_items, "correct_sequence": ordered_items, "scoring_method": "kendall_tau" }; } ``` ### RISK–Apply: Computed Position Sizing R1 Template with Pre-computed Options ```javascript function generate_R1_computed_choice() { // Calculate correct position size const risk_amount = account * (risk_pct / 100); const stop_distance = Math.abs(entry - stop); const correct_shares = Math.floor(risk_amount / stop_distance); // Generate plausible distractors const distractors = [ Math.floor(correct_shares * 0.5), // Too conservative Math.floor(correct_shares * 2), // Too aggressive Math.floor(correct_shares * 1.3) // Slightly over ]; return { "interaction_type": "single_choice", "prompt": `Account: $${account} | Risk: ${risk_pct}% Entry: $${entry} | Stop: $${stop} Select correct position size:`, "options": [`${shares} shares` for shares in options], "correct_answer": `${correct_shares} shares`, "show_calculation": true }; } ``` ## Gap Mitigation Strategies ### Numeric Input Limitation Since numeric input isn't available, we implement these solutions for RISK domain: Present calculated position sizes as multiple choice answers Offer ranges like "100-150 shares" or "151-200 shares" Express as account percentages: "2% position", "5% position" Future enhancement for continuous value selection ### Multi-Chart Analysis For PERCEPTION-Analyze requiring multiple chart comparisons: Show 2-4 charts simultaneously Quick switching between chart views Superimpose indicators on single chart Static reference with interactive main ## Validation System ### Interaction Validator Validation Requirements ```javascript VALID_INTERACTIONS = { "single_choice": { "required_fields": ["prompt", "options", "correct_answer"], "options_range": [3, 5], "supports_justification": true }, "multi_select": { "required_fields": ["prompt", "options", "correct_answers"], "options_range": [5, 8], "min_correct": 2, "supports_partial_credit": true }, "chart_drawing_selection": { "required_fields": ["prompt", "chart_config", "correct_selections"], "requires_visual": true, "supports_tolerance": true } } ``` ### Cell-Interaction Matching The validator ensures interaction types match expected patterns: - A_1: chart_drawing_selection, multi_select - A_2: multi_select, chart_drawing_selection - A_3: single_choice, multi_select - S_1: single_choice, sequencing - S_2: sequencing, single_choice - And so on... ## Complexity Measurement ### Objective Complexity Metrics - 2 numerical values - 1 calculation step - 0 conditional branches - Whole numbers only - 4 numerical values - 2 calculation steps - 1 conditional branch - 2 decimal places - 6+ numerical values - 3+ calculation steps - 2+ conditional branches - 4 decimal places ### Complexity Scoring Objective Complexity Formula ```javascript function calculate_objective_complexity(question_data) { const metrics = { numerical_values: count_numbers(question_data.prompt), calculation_steps: count_operations(question_data.calculation), conditional_branches: count_conditionals(question_data.logic), interaction_complexity: score_interaction(question_data.interaction_type) }; // Score each metric (total 100 points) let score = 0; score += Math.min(16.67, metrics.numerical_values * 3.33); score += Math.min(16.67, metrics.calculation_steps * 5.56); score += Math.min(16.67, metrics.conditional_branches * 8.33); score += Math.min(16.67, metrics.interaction_complexity * 5.56); const level = score <= 33 ? "basic" : score <= 66 ? "intermediate" : "advanced"; return {score, level, metrics}; } ``` ## Coverage Tracking ### Usage Distribution The CoverageTracker maintains spacing between similar combinations: - Minimum 10 questions between same asset+timeframe+context+interaction - Balances primary vs secondary interaction types per cell - Recommends underused interaction types for variety ### Implementation Example Question Generation with Coverage ```javascript function generate_question_with_interaction(cell_id, complexity="intermediate") { // Get recommended interaction type for balance const interaction_type = coverage_tracker.recommend_next_interaction(cell_id); // Generate using appropriate template const generator = generator_map[`${cell_id}_${interaction_type}`]; const question_data = generator(complexity); // Validate structure and cell-interaction match const [is_valid, message] = validator.validate_question(question_data); // Calculate objective complexity const {score, level, metrics} = calculate_objective_complexity(question_data); // Mark coverage for spacing coverage_tracker.mark_used(cell_id, asset, timeframe, context, interaction_type); return { ...question_data, complexity_score: score, complexity_level: level, complexity_metrics: metrics }; } ``` This system ensures balanced question generation across all 12 cells with varied interaction types, objective complexity measurement, and proper coverage tracking for production use.