Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Extract patterns and generalizations from multiple observations. Use when detecting recurring themes, building predictive rules, or identifying systemic behaviors from accumulated data. Produces validated patterns with confidence bounds and exception handling.
.claude/skills/aiskillstore-reasoning-inductive/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-22 | ✗→✓ | ▲ Improved | 153% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 183% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 184% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 144% | 0% |
Generalize from instances to rules. The logic of pattern extraction and empirical learning.
Inductive : [Observation] → Pattern → Generalization → ConfidenceBounds
Where:
Observations : [Instance] → Dataset
Pattern : Dataset → (Regularity × Frequency)
Generalization : (Regularity × Frequency) → Rule
ConfidenceBounds : Rule × SampleSize → (Confidence × Exceptions)Use inductive when:
Don't use when:
| Mode | Input | Output | Question | |------|-------|--------|----------| | Abductive | Single anomaly | Explanation | "Why did this happen?" | | Inductive | Multiple instances | Pattern/Rule | "What keeps happening?" | | Analogical | One source case | Transferred solution | "How is this like that?" |
Key difference from Abductive:
Purpose: Gather and structure multiple instances for analysis.
Minimum Sample Requirements:
| Confidence Target | Minimum N | Notes | |-------------------|-----------|-------| | Exploratory | 3-5 | Hypothesis generation only | | Tentative | 6-10 | Directional confidence | | Moderate | 11-20 | Actionable patterns | | High | 21+ | Strong generalizations |
Components:
yamlobservations: dataset: - instance_id: "deal-001" timestamp: ISO8601 context: "Enterprise sales" attributes: deal_size: 400000 sales_cycle: 120 stalled_at: "legal_review" outcome: "won" - instance_id: "deal-002" timestamp: ISO8601 context: "Enterprise sales" attributes: deal_size: 350000 sales_cycle: 150 stalled_at: "legal_review" outcome: "lost" # ... more instances metadata: total_instances: 12 time_range: "Q3-Q4 2024" source: "threads/sales/*/6-learning.md" collection_method: "automated scan" quality: completeness: 0.92 # % of fields populated consistency: 0.88 # % following same schema recency: 0.75 # Weight toward recent
Purpose: Identify regularities in the dataset.
Pattern Types:
| Type | Description | Example | |------|-------------|---------| | Frequency | How often X occurs | "7/12 deals stall at legal" | | Correlation | X and Y co-occur | "Large deals AND long cycles" | | Sequence | X follows Y | "Stall → lose within 30 days" | | Cluster | Groups emerge | "Two deal archetypes exist" | | Trend | Direction over time | "Cycles getting longer" | | Threshold | Breakpoint exists | "Deals >$300K behave differently" |
Detection Process:
yamlpatterns: detected: - pattern_id: P1 type: frequency description: "Legal review stalls" evidence: "7 of 12 deals (58%) stalled at legal review" strength: 0.78 - pattern_id: P2 type: correlation description: "Deal size correlates with cycle length" evidence: "r=0.72 between deal_size and sales_cycle" strength: 0.72 - pattern_id: P3 type: threshold description: "CFO involvement threshold" evidence: "Deals >$250K require CFO, adding 30+ days" strength: 0.85 - pattern_id: P4 type: sequence description: "Stall duration predicts outcome" evidence: "Stalls >21 days → 80% loss rate" strength: 0.80 rejected: - pattern: "Industry affects outcome" reason: "No significant difference across industries (p>0.3)" insufficient_data: - pattern: "Seasonality effects" reason: "Only 2 quarters of data, need 4+ for seasonality"
Purpose: Form rules from validated patterns.
Rule Formation:
yamlgeneralizations: rules: - rule_id: R1 statement: "Enterprise deals >$250K require CFO approval, adding 30+ days to cycle" derived_from: [P2, P3] structure: condition: "deal_size > 250000" prediction: "sales_cycle += 30 days" mechanism: "CFO approval requirement" applicability: domain: "Enterprise sales" segments: ["all enterprise"] exceptions: ["existing customers with MSA"] - rule_id: R2 statement: "Legal review stalls >21 days predict deal loss with 80% probability" derived_from: [P1, P4] structure: condition: "stall_duration > 21 AND stall_stage = 'legal'" prediction: "outcome = 'lost' (p=0.80)" mechanism: "Budget cycle expiration, champion fatigue" applicability: domain: "Enterprise sales" segments: ["new customers"] exceptions: ["government deals with known long cycles"] - rule_id: R3 statement: "58% of enterprise deals will stall at legal review" derived_from: [P1] structure: condition: "enterprise deal" prediction: "P(legal_stall) = 0.58" mechanism: "Custom contract requirements" applicability: domain: "Enterprise sales" segments: ["all"] exceptions: ["standard contract accepted"]
Purpose: Quantify reliability and identify exceptions.
Confidence Calculation:
Confidence = f(sample_size, pattern_strength, consistency, recency)
Base confidence from sample size:
N < 5: max 0.40
N 5-10: max 0.60
N 11-20: max 0.80
N > 20: max 0.95
Adjustments:
× pattern_strength (0-1)
× consistency (0-1)
× recency_weight (0.5-1.0)Components:
yamlconfidence_analysis: rules: - rule_id: R1 confidence: 0.72 calculation: base: 0.80 # N=12, moderate sample strength: 0.85 # Strong pattern consistency: 0.88 # Good data quality recency: 0.95 # Recent data final: 0.72 # base × min(strength, consistency, recency) bounds: lower: 0.58 # Pessimistic estimate upper: 0.82 # Optimistic estimate exceptions: identified: - "Existing customer deal closed in 45 days despite $400K size" explanation: "Pre-existing MSA eliminated legal review" - "Government deal took 180 days but won" explanation: "Known government procurement cycle" exception_rate: 0.17 # 2/12 instances validity: expires: "2025-06-01" # Re-validate after 6 months invalidated_by: - "Process change eliminating legal review" - "New contract template adoption" strengthened_by: - "3+ more instances following pattern" - "Causal mechanism confirmed" - rule_id: R2 confidence: 0.68 # ... similar structure
Output Summary:
yamlinductive_output: summary: rules_generated: 3 highest_confidence: R1 (0.72) total_observations: 12 time_range: "Q3-Q4 2024" actionable_rules: - rule: R1 action: "Add 30 days to forecast for deals >$250K" confidence: 0.72 - rule: R2 action: "Escalate intervention when legal stall exceeds 14 days" confidence: 0.68 tentative_rules: - rule: R3 action: "Plan for legal stall in 60% of deals (resource accordingly)" confidence: 0.55 needs: "5+ more observations to reach actionable confidence" canvas_implications: validate: - assumption: "A4: Enterprise sales cycle is 90 days" finding: "Actually 120 days for deals >$250K" action: "Update assumption" new_hypothesis: - "H17: Standard contract template would reduce legal stalls by 50%" basis: "Legal stall is primary cycle driver" test: "Pilot standard contract with 5 deals"
| Gate | Requirement | Failure Action | |------|-------------|----------------| | Sample size | ≥5 instances | Collect more data | | Data quality | ≥80% completeness | Clean dataset | | Pattern strength | ≥0.6 for at least one | Lower threshold or collect more | | Exception rate | <30% for actionable rules | Narrow rule scope | | Mechanism identified | Plausible explanation | Add abductive analysis |
| Failure | Symptom | Fix | |---------|---------|-----| | Small N | High variance, unstable patterns | Wait for more data | | Survivorship bias | Only successful cases analyzed | Include failures | | Confounding | Correlation ≠ causation | Test mechanism with intervention | | Overfitting | Rule too specific to sample | Simplify rule, test holdout | | Recency bias | Old patterns weighted equally | Apply recency weighting | | Cherry-picking | Only confirming instances | Systematic collection |
Before promoting rule to actionable:
yamlvalidation: method: "holdout" training_set: 8 instances test_set: 4 instances rule_accuracy_on_test: 0.75 passed: true
yamlvalidation: method: "mechanism_test" proposed_mechanism: "CFO approval adds 30 days" test: "Interview 3 CFOs about approval process" result: "Confirmed - CFO review averages 25-35 days" passed: true
yamlvalidation: method: "stability_check" pattern_in_Q3: 0.62 pattern_in_Q4: 0.54 drift: -0.08 (acceptable) passed: true
For continuous learning, run inductive scans:
yamlautomated_scan: frequency: weekly sources: - "threads/sales/*/6-learning.md" - "threads/marketing/*/6-learning.md" - "threads/operations/*/6-learning.md" thresholds: min_instances: 5 min_pattern_strength: 0.6 output: location: "ops/patterns.md" alert_threshold: 0.75 # Flag high-confidence new patterns actions: new_pattern_detected: "Flag in ops/today.md for review" existing_pattern_strengthened: "Update confidence, log" pattern_invalidated: "Alert, review rule"
yamlinductive_output: observations: count: int time_range: string sources: [string] quality_score: float patterns: detected: [{ pattern_id: string type: frequency | correlation | sequence | cluster | trend | threshold description: string strength: float evidence: string }] rejected: [{pattern: string, reason: string}] rules: - rule_id: string statement: string confidence: float bounds: {lower: float, upper: float} exceptions: [{instance: string, explanation: string}] applicability: {domain: string, segments: [string], exceptions: [string]} validity: {expires: date, invalidated_by: [string]} canvas_implications: validate: [{assumption: string, finding: string, action: string}] invalidate: [{assumption: string, finding: string, action: string}] new_hypotheses: [{hypothesis: string, basis: string, test: string}] actions: immediate: [string] # High-confidence rules to act on monitor: [string] # Tentative patterns to watch collect: [string] # Data gaps to fill next: suggested_mode: ReasoningMode threads_to_create: [string] trace: patterns_evaluated: int rules_generated: int duration_ms: int
Context: "Review last 6 months of marketing content performance"
Stage 1 - Observations:
Collected: 24 content pieces
Sources: threads/marketing/*/6-learning.md
Attributes: topic, format, channel, sessions, conversions, time_to_demo
Quality: 0.88 completenessStage 2 - Patterns:
P1 (frequency): Case studies convert 2.3x average (8/24, all above average)
P2 (correlation): Technical depth correlates with enterprise demos (r=0.68)
P3 (threshold): Posts >2000 words perform better on SEO (breakpoint identified)
P4 (trend): LinkedIn declining, organic search rising over 6 monthsStage 3 - Generalizations:
R1: "Case studies should be prioritized for bottom-funnel conversion"
Confidence: 0.75, based on 8 instances
R2: "Technical content attracts enterprise prospects"
Confidence: 0.68, based on correlation analysis
R3: "SEO content should target >2000 words"
Confidence: 0.70, based on threshold analysisStage 4 - Confidence Bounds:
R1: 0.75 [0.62, 0.85] - Actionable
R2: 0.68 [0.54, 0.78] - Actionable with caution
R3: 0.70 [0.58, 0.80] - Actionable
Canvas update:
- Validate H8 (case studies convert)
- New H18: "Long-form SEO content drives organic growth"
Action: Shift content mix toward case studies and long-form technical guides| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-22 | fail→pass | 38,211 | 15,899 | -58% | 1 | 1 | 0% | 2,633 | 6,659 | +153% | 0 | 0 | — |
case-01 | fail→pass | 28,044 | 28,842 | +3% | 1 | 1 | 0% | 5,502 | 8,526 | +55% | 0 | 0 | — |
case-02 | fail→fail | 41,898 | 44,277 | +6% | 1 | 1 | 0% | 8,381 | 12,214 | +46% | 0 | 0 | — |
case-03 | fail→fail | 54,407 | 36,517 | -33% | 1 | 1 | 0% | 8,371 | 10,063 | +20% | 0 | 0 | — |
case-04 | pass→pass | 18,040 | 19,903 | +10% | 1 | 1 | 0% | 2,038 | 6,185 | +203% | 0 | 0 | — |
case-05 | pass→pass | 34,753 | 22,505 | -35% | 1 | 1 | 0% | 4,535 | 6,579 | +45% | 0 | 0 | — |
case-06 | pass→pass | 28,639 | 37,173 | +30% | 1 | 1 | 0% | 2,395 | 9,476 | +296% | 0 | 0 | — |
case-07 | fail→pass | 37,236 | 38,190 | +3% | 1 | 1 | 0% | 2,843 | 8,043 | +183% | 0 | 0 | — |
case-08 | fail→pass | 33,357 | 21,389 | -36% | 1 | 1 | 0% | 2,499 | 7,096 | +184% | 0 | 0 | — |
case-09 | pass→pass | 37,164 | 35,856 | -4% | 1 | 1 | 0% | 5,129 | 9,896 | +93% | 0 | 0 | — |
case-10 | fail→pass | 26,711 | 22,710 | -15% | 1 | 1 | 0% | 2,423 | 5,912 | +144% | 0 | 0 | — |
case-11 | fail→pass | 33,569 | 13,913 | -59% | 1 | 1 | 0% | 1,606 | 5,291 | +229% | 0 | 0 | — |
case-12 | fail→pass | 22,441 | 29,086 | +30% | 1 | 1 | 0% | 2,069 | 6,465 | +212% | 0 | 0 | — |
case-13 | pass→pass | 16,043 | 32,459 | +102% | 1 | 1 | 0% | 1,567 | 5,739 | +266% | 0 | 0 | — |
case-14 | fail→pass | 53,681 | 34,523 | -36% | 1 | 1 | 0% | 1,214 | 6,334 | +422% | 0 | 0 | — |
case-15 | pass→pass | 25,089 | 10,521 | -58% | 1 | 1 | 0% | 1,345 | 4,842 | +260% | 0 | 0 | — |
case-16 | pass→pass | 37,311 | 35,691 | -4% | 1 | 1 | 0% | 2,865 | 6,996 | +144% | 0 | 0 | — |
case-17 | fail→pass | 31,928 | 13,989 | -56% | 1 | 1 | 0% | 3,057 | 5,675 | +86% | 0 | 0 | — |
case-18 | fail→pass | 40,279 | 18,617 | -54% | 1 | 1 | 0% | 2,737 | 6,156 | +125% | 0 | 0 | — |
case-19 | pass→pass | 25,010 | 17,673 | -29% | 1 | 1 | 0% | 2,330 | 6,061 | +160% | 0 | 0 | — |
case-20 | pass→pass | 19,507 | 35,557 | +82% | 1 | 1 | 0% | 2,334 | 5,881 | +152% | 0 | 0 | — |
case-21 | fail→pass | 23,424 | 11,687 | -50% | 1 | 1 | 0% | 1,451 | 5,151 | +255% | 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. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 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 +50 percentage points is the difference between those two pass rates over the 21 comparable cases.
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.