agentsclimarketplace

Data analysis

Skill fabioc-aloha/Alex_Skill_Mall/plugins/data-analytics/data-analysis

284 curated plugins for AI assistants across 16 categories: security, Azure, documentation, code quality, cloud infrastructure, and more. Works with GitHub Copilot. Drop into .github/skills/local/ and go.

Install
npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill data-analysis

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Exploratory data analysis patterns -- profiling, distributions, correlations, segmentation, anomaly detection, and translating statistics into narrative insights

SKILL.md

11.0 KB, as published. Nobody here has run it

Data Analysis

PropertyValue
DomainData Analytics
CategoryAnalysis & Insight Extraction
ComponentsSKILL.md + data-analysis.instructions.md + analyze.prompt.md
Dependsdata-visualization (chart output), data-ingest.cjs (ingestion)

Overview

Turn raw data into actionable insight statements. This skill covers the full EDA pipeline: profiling the dataset, exploring distributions, finding correlations, detecting anomalies, and -- critically -- translating statistical findings into business-language narratives tagged with story intents for downstream visualization.

The cardinal rule: statistics are not insights. "Mean revenue is $4.2M" is a statistic. "Revenue grew 34% YoY but growth is decelerating -- Q3 peak was 8% vs. 22% last year" is an insight.

Module 1: Data Profiling

First pass on any dataset. Compute before exploring.

MetricWhat It Tells YouRed Flag
Row countDataset scale<100 rows limits statistical power
Column countDimensionality>50 columns suggests feature bloat
Null percentageData completeness>20% nulls in key column = unreliable
Unique countCardinalityUnique count = row count → likely ID
Type inferenceString/number/date/booleanMixed types in same column = dirty
Memory estimateProcessing feasibility>500MB warns for browser context
Duplicate rowsData quality>1% duplicates needs dedup decision

Profiling Output Template

Dataset: {name} ({rowCount} rows x {colCount} columns)
Source:  {source} | Format: {format} | Encoding: {encoding}

Column Summary:
  {name}: {type} | {nullPct}% null | {uniqueCount} unique | min={min} max={max} mean={mean}
  ...

Quality Score: {score}/100
  - Completeness: {completeness}% (columns with <5% nulls)
  - Consistency: {consistency}% (columns with single type)
  - Uniqueness: {uniqueness}% (no unexpected duplicates)

Warnings:
  - Column "X" has 23% nulls -- consider imputation or exclusion
  - Column "Y" has mixed types (78% number, 22% string) -- needs cleaning

Module 2: Descriptive Statistics

What to compute first for every numeric column.

StatisticWhen It Matters
Mean vs. MedianIf mean >> median, right-skewed (outliers pull up)
Standard DevSpread -- is the data tight or dispersed?
Min / MaxRange -- any impossible values?
PercentilesP25, P50, P75 -- where does the bulk sit?
Skewness>1 or <-1 suggests non-normal distribution
Kurtosis>3 = heavy tails (more outliers than expected)

Rule of Thumb: Mean vs. Median

  • If |mean - median| / median > 0.1 (10%), report median as the "typical" value
  • Always report both -- the gap itself is an insight

Module 3: Distribution Analysis

ShapeWhat It SuggestsStory Intent
NormalStable process, predictableDistribution
Right-skewedMany small values, few large (income)Deviation
Left-skewedMost values high, some low (test scores)Deviation
BimodalTwo populations mixed togetherCompare (groups)
UniformNo pattern -- random or categorical codesNone (check)
Power lawFew items dominate (Pareto, web traffic)Part-to-Whole

Normality Quick Check

  1. Compare mean to median (>10% gap = non-normal)
  2. Check skewness (|skew| > 1 = non-normal)
  3. If important: Shapiro-Wilk test (n < 5000) or Anderson-Darling

Module 4: Correlation & Relationship

| Strength | |r| Range | Interpretation | | -------- | ----------- | --------------------------- | | Strong | 0.7 -- 1.0 | Likely meaningful | | Moderate | 0.4 -- 0.7 | Worth investigating | | Weak | 0.1 -- 0.4 | Unlikely actionable alone | | None | < 0.1 | No linear relationship |

Simpson's Paradox Awareness

Always check: does the correlation reverse when you split by a categorical variable?

Overall: Ad spend positively correlates with sales (+0.6)
By region: In 3 of 4 regions, correlation is NEGATIVE
Cause: High-spend region has higher baseline sales (confound)

Rule: If a strong correlation exists, segment by the top 2-3 categorical variables and re-check.

Module 5: Segmentation

Group-by patterns for discovering sub-populations.

TechniqueWhen to UseOutput
Group-by aggregateCategorical × numericSegment averages
Percentile bucketsContinuous variable, create tiersLow/Mid/High
RFM analysisCustomer behavior (recency, freq, $)Customer segments
Cohort analysisTime-based grouping (signup month)Retention curves
Cross-tabulationTwo categorical variablesContingency table

"So What?" for Segments

For each segment found, answer: "If I could only act on ONE segment, which one and why?"

Module 6: Time-Series Decomposition

ComponentWhat It IsDetection
TrendLong-term directionRolling average (window = period)
SeasonalityRepeating pattern at fixed intervalsAutocorrelation at lag = period
ResidualWhat's left (noise + anomalies)Original - trend - seasonality

Rolling Average Windows

Data FrequencyWindow
Daily7 or 30
Weekly4 or 13
Monthly3 or 12
Quarterly4

Module 7: Anomaly Detection

MethodBest ForThreshold
Z-scoreNormal-ish distributions
IQR fenceSkewed distributions< Q1-1.5×IQR or > Q3+1.5×IQR
IsolationMultivariate outliersScore > 0.7 (heuristic)
VisualAny -- always plot firstInspect scatter/box

Anomaly Protocol

  1. Detect and flag -- never auto-remove
  2. Investigate: is it a data error, a real outlier, or a different population?
  3. Document the decision: kept (real), removed (error), or separated (sub-population)

Module 8: "So What?" Translation (DIKW)

The most important module. Convert statistics into business language.

LevelExample (Bad)Example (Good)
Data"Column revenue has 5000 values"(Don't report raw data)
Information"Mean revenue is $4.2M""Average quarterly revenue is $4.2M across 8 quarters"
Knowledge"Revenue has a positive trend""Revenue grew 34% YoY but growth rate decelerated from 22% to 8%"
Wisdom(Requires domain context)"Growth is decelerating -- if Q3 seasonal effect weakens, plan for flat"

Insight Statement Template

[WHAT]: {metric} is {value/behavior}
[SO WHAT]: This means {business implication}
[NOW WHAT]: Consider {action or follow-up question}
[STORY INTENT]: {compare|trend|deviation|distribution|relationship|part-to-whole|flow|hierarchy|spatial}
[CHART]: {recommended chart type} because {rationale}

Example Insight Statements

[WHAT]: California's population (39M) is 5x the median state (7.5M)
[SO WHAT]: Resource allocation models using state averages will dramatically under-serve CA
[NOW WHAT]: Segment by population tier, not just state count
[STORY INTENT]: Compare
[CHART]: Horizontal bar (sorted descending) because ranking 50 items with long labels

[WHAT]: Support ticket resolution time has a bimodal distribution (peaks at 2h and 48h)
[SO WHAT]: Two distinct processes exist -- quick fixes and escalated investigations
[NOW WHAT]: Separate the two populations before setting SLA targets
[STORY INTENT]: Distribution
[CHART]: Histogram with two highlighted peaks, or violin plot for visual impact

Module 9: Hypothesis Framework

Structured approach to moving from observation to testable claim.

StepAction
ObserveNote a pattern in the data
HypothesizeState a testable claim ("X causes Y because Z")
TestCheck against data (filter, segment, correlate)
ConcludeSupported, refuted, or inconclusive
NarrateWrite the finding as an insight statement

Anti-Patterns

Anti-PatternProblemFix
Reporting stats onlyNo business meaningAlways add "so what?"
Correlation = causationMisleading conclusionsCheck for confounders, state "correlates"
Ignoring base ratesPercentages without contextAlways report denominator
Survivorship biasOnly analyzing what's visibleAsk "what's missing from this data?"
Over-aggregationHiding variation with averagesShow distribution, not just mean
Premature optimizationJumping to solutions before understandingComplete the EDA before recommending action

Gives 0 of the 12 instructions most data analysis skills give

Counted across 286 of the 286 authors here whose files we hold, read 2026-08-06

  • use excel formulas instead of hardcoded calculated valuesin 35 of 286, across 7 files
  • match existing template conventions when modifying filesin 35 of 286, across 7 files
  • document sources for all hardcoded valuesin 35 of 286, across 7 files
  • write minimal concise python codein 35 of 286, across 7 files
  • place all assumptions in separate assumption cellsin 32 of 286, across 5 files
  • apply industry-standard color coding to financial modelsin 31 of 286, across 5 files
  • format years as text stringsin 30 of 286, across 3 files
  • recalculate formulas using recalc.py after modificationsin 30 of 286, across 3 files
  • format negative numbers using parenthesesin 30 of 286, across 3 files
  • fix all identified formula errors before finishingin 27 of 286, across 1 file
  • use colorblind-safe palettesin 19 of 286, across 12 files
  • Name tests after the prevented bugin 13 of 286, across 8 files

Said here and by no other author read

  • compute dataset profile metrics before exploring
  • report median as typical value if mean diverges
  • check correlation strength against categorical segments
  • flag anomalies without auto-removing them
  • translate statistics into business-language narratives
  • use provided insight statement template for outputs

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.