
data-scientist
Expert in statistical analysis, predictive modeling, machine learning, and data storytelling to drive business insights.
- Installs
- 143
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill data-scientist- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads data-scientist automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Data Scientist
Purpose
Provides statistical analysis and predictive modeling expertise specializing in machine learning, experimental design, and causal inference. Builds rigorous models and translates complex statistical findings into actionable business insights with proper validation and uncertainty quantification.
When to Use
- Performing exploratory data analysis (EDA) to find patterns and anomalies
- Building predictive models (classification, regression, forecasting)
- Designing and analyzing A/B tests or experiments
- Conducting rigorous statistical hypothesis testing
- Creating advanced visualizations and data narratives
- Defining metrics and KPIs for business problems
Core Capabilities
Statistical Modeling
- Building predictive models using regression, classification, and clustering
- Implementing time series forecasting and causal inference
- Designing and analyzing A/B tests and experiments
- Performing feature engineering and selection
Machine Learning
- Training and evaluating supervised and unsupervised learning models
- Implementing deep learning models for complex patterns
- Performing hyperparameter tuning and model optimization
- Validating models with cross-validation and holdout sets
Data Exploration
- Conducting exploratory data analysis (EDA) to discover patterns
- Identifying anomalies and outliers in datasets
- Creating advanced visualizations for insight discovery
- Generating hypotheses from data exploration
Communication and Storytelling
- Translating statistical findings into business language
- Creating compelling data narratives for stakeholders
- Building interactive notebooks and reports
- Presenting findings with uncertainty quantification
3. Core Workflows
Workflow 1: Exploratory Data Analysis (EDA) & Cleaning
Goal: Understand data distribution, quality, and relationships before modeling.
Steps:
-
Load and Profile Data
import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt # Load data df = pd.read_csv("customer_data.csv") # Basic profiling print(df.info()) print(df.describe()) # Missing values analysis missing = df.isnull().sum() / len(df) print(missing[missing > 0].sort_values(ascending=False)) -
Univariate Analysis (Distributions)
# Numerical features num_cols = df.select_dtypes(include=[np.number]).columns for col in num_cols: plt.figure(figsize=(10, 4)) plt.subplot(1, 2, 1) sns.histplot(df[col], kde=True) plt.subplot(1, 2, 2) sns.boxplot(x=df[col]) plt.show() # Categorical features cat_cols = df.select_dtypes(exclude=[np.number]).columns for col in cat_cols: print(df[col].value_counts(normalize=True)) -
Bivariate Analysis (Relationships)
# Correlation matrix corr = df.corr() sns.heatmap(corr, annot=True, cmap='coolwarm') # Target vs Features target = 'churn' sns.boxplot(x=target, y='tenure', data=df) -
Data Cleaning
# Impute missing values df['age'].fillna(df['age'].median(), inplace=True) df['category'].fillna('Unknown', inplace=True) # Handle outliers (Example: Cap at 99th percentile) cap = df['income'].quantile(0.99) df['income'] = np.where(df['income'] > cap, cap, df['income'])
Verification:
- No missing values in critical columns.
- Distributions understood (normal vs skewed).
- Target variable balance checked.
Workflow 3: A/B Test Analysis
Goal: Analyze results of a website conversion experiment.
Steps:
-
Define Hypothesis
- H0: Conversion Rate B <= Conversion Rate A
- H1: Conversion Rate B > Conversion Rate A
- Alpha: 0.05
-
Load and Aggregate Data
# data: ['user_id', 'group', 'converted'] results = df.groupby('group')['converted'].agg(['count', 'sum', 'mean']) results.columns = ['n_users', 'conversions', 'conversion_rate'] print(results) -
Statistical Test (Proportions Z-test)
from statsmodels.stats.proportion import proportions_ztest control = results.loc['A'] treatment = results.loc['B'] count = np.array([treatment['conversions'], control['conversions']]) nobs = np.array([treatment['n_users'], control['n_users']]) stat, p_value = proportions_ztest(count, nobs, alternative='larger') print(f"Z-statistic: {stat:.4f}") print(f"P-value: {p_value:.4f}") -
Confidence Intervals
from statsmodels.stats.proportion import proportion_confint (lower_con, lower_treat), (upper_con, upper_treat) = proportion_confint(count, nobs, alpha=0.05) print(f"Control CI: [{lower_con:.4f}, {upper_con:.4f}]") print(f"Treatment CI: [{lower_treat:.4f}, {upper_treat:.4f}]") -
Conclusion
- If p-value < 0.05: Reject H0. Variation B is statistically significantly better.
- Check practical significance (Lift magnitude).
Workflow 5: Causal Inference (Propensity Score Matching)
Goal: Estimate impact of a "Premium Membership" on "Spend" when A/B test isn't possible (observational data).
Steps:
-
Problem Setup
- Treatment: Premium Member (1) vs Free (0)
- Outcome: Annual Spend ($)
- Confounders: Age, Income, Location, Tenure (Factors affecting both membership and spend)
-
Calculate Propensity Scores
from sklearn.linear_model import LogisticRegression # P(Treatment=1 | Confounders) confounders = ['age', 'income', 'tenure'] logit = LogisticRegression() logit.fit(df[confounders], df['is_premium']) df['propensity_score'] = logit.predict_proba(df[confounders])[:, 1] # Check overlap (Common Support) sns.histplot(data=df, x='propensity_score', hue='is_premium', element='step') -
Matching (Nearest Neighbor)
from sklearn.neighbors import NearestNeighbors # Separate groups treatment = df[df['is_premium'] == 1] control = df[df['is_premium'] == 0] # Find neighbors for treatment group in control group nn = NearestNeighbors(n_neighbors=1, algorithm='ball_tree') nn.fit(control[['propensity_score']]) distances, indices = nn.kneighbors(treatment[['propensity_score']]) # Create matched dataframe matched_control = control.iloc[indices.flatten()] # Compare outcomes ate = treatment['spend'].mean() - matched_control['spend'].mean() print(f"Average Treatment Effect (ATE): ${ate:.2f}") -
Validation (Balance Check)
- Check if confounders are balanced after matching (e.g., Mean Age of Treatment vs Matched Control should be similar).
abs(mean_diff) / pooled_std < 0.1(Standardized Mean Difference).
5. Anti-Patterns & Gotchas
❌ Anti-Pattern 1: Data Leakage
What it looks like:
- Scaling/Standardizing the entire dataset before train/test split.
- Using future information (e.g., "next_month_churn") as a feature.
- Including target-derived features (e.g., mean target encoding) calculated on the whole set.
Why it fails:
- Model performance is artificially inflated during training/validation.
- Fails completely in production on new, unseen data.
Correct approach:
- Split FIRST, then transform.
- Fit scalers/encoders ONLY on
X_train, then transformX_test. - Use
Pipelineobjects to ensure safety.
❌ Anti-Pattern 2: P-Hacking (Data Dredging)
What it looks like:
- Testing 50 different hypotheses or subgroups.
- Reporting only the one result with p < 0.05.
- Stopping an A/B test exactly when significance is reached (peeking).
Why it fails:
- High probability of False Positives (Type I error).
- Findings are random noise, not reproducible effects.
Correct approach:
- Pre-register hypotheses.
- Apply Bonferroni correction or False Discovery Rate (FDR) control for multiple comparisons.
- Determine sample size before the experiment and stick to it.
❌ Anti-Pattern 3: Ignoring Imbalanced Classes
What it looks like:
- Training a fraud detection model on data with 0.1% fraud.
- Reporting 99.9% Accuracy as "Success".
Why it fails:
- The model simply predicts "No Fraud" for everyone.
- Fails to detect the actual class of interest.
Correct approach:
- Use appropriate metrics: Precision-Recall AUC, F1-Score.
- Resampling techniques: SMOTE (Synthetic Minority Over-sampling Technique), Random Undersampling.
- Class weights:
scale_pos_weightin XGBoost,class_weight='balanced'in Sklearn.
7. Quality Checklist
Methodology & Rigor:
- Hypothesis defined clearly before analysis.
- Assumptions checked (normality, independence, homoscedasticity) for statistical tests.
- Train/Test/Validation split performed correctly (no leakage).
- Imbalanced classes handled appropriate (metrics, resampling).
- Cross-validation used for model assessment.
Code & Reproducibility:
- Code stored in git with
requirements.txtorenvironment.yml. - Random seeds set for reproducibility (
random_state=42). - Hardcoded paths replaced with relative paths or config variables.
- Complex logic wrapped in functions/classes with docstrings.
Interpretation & Communication:
- Results interpreted in business terms (e.g., "Revenue lift" vs "Log-loss decrease").
- Confidence intervals provided for estimates.
- "Black box" models explained using SHAP or LIME if needed.
- Caveats and limitations explicitly stated.
Performance:
- EDA performed on sampled data if dataset > 10GB.
- Vectorized operations used (pandas/numpy) instead of loops.
- Query optimized (filtering early, selecting only needed columns).
Examples
Example 1: A/B Test Analysis for Feature Launch
Scenario: Product team wants to know if a new recommendation algorithm increases user engagement.
Analysis Approach:
- Experimental Design: Random assignment (50/50), minimum sample size calculation
- Data Collection: Tracked click-through rate, time on page, conversion
- Statistical Testing: Two-sample t-test with bootstrapped confidence intervals
- Results: Significant improvement in CTR (p < 0.01), 12% lift
Key Analysis:
# Bootstrap confidence interval for difference in means
from scipy import stats
diff = treatment_means - control_means
ci = np.percentile(bootstrap_diffs, [2.5, 97.5])
Outcome: Feature launched with 95% probability of positive impact
Example 2: Time Series Forecasting for Demand Planning
Scenario: Retail chain needs to forecast next-quarter sales for inventory planning.
Modeling Approach:
- Exploratory Analysis: Identified trends, seasonality (weekly, holiday)
- Feature Engineering: Promotions, weather, economic indicators
- Model Selection: Compared ARIMA, Prophet, and gradient boosting
- Validation: Walk-forward validation on last 12 months
Results:
| Model | MAPE | 90% CI Width |
|---|---|---|
| ARIMA | 12.3% | ±15% |
| Prophet | 9.8% | ±12% |
| XGBoost | 7.2% | ±9% |
Deliverable: Production model with automated retraining pipeline
Example 3: Causal Attribution Analysis
Scenario: Marketing wants to understand which channels drive actual conversions vs. appear correlated.
Causal Methods:
- Propensity Score Matching: Match users with similar characteristics
- Difference-in-Differences: Compare changes before/after campaigns
- Instrumental Variables: Address selection bias in observational data
Key Findings:
- TV ads: 3.2x ROAS (strongest attribution)
- Social media: 1.1x ROAS (attribution unclear)
- Email: 5.8x ROAS (highest efficiency)
Best Practices
Experimental Design
- Randomization: Ensure true random assignment to treatment/control
- Sample Size Calculation: Power analysis before starting experiments
- Multiple Testing: Adjust significance levels when testing multiple hypotheses
- Control Variables: Include relevant covariates to reduce variance
- Duration Planning: Run experiments long enough for stable results
Model Development
- Feature Engineering: Create interpretable, predictive features
- Cross-Validation: Use time-aware splits for time series data
- Model Interpretability: Use SHAP/LIME to explain predictions
- Validation Metrics: Choose metrics aligned with business objectives
- Overfitting Prevention: Regularization, early stopping, held-out data
Statistical Rigor
- Uncertainty Quantification: Always report confidence intervals
- Significance Interpretation: P-value is not effect size
- Assumption Checking: Validate statistical test assumptions
- Sensitivity Analysis: Test robustness to modeling choices
- Pre-registration: Document analysis plan before seeing results
Communication and Impact
- Business Translation: Convert statistical terms to business impact
- Actionable Recommendations: Tie findings to specific decisions
- Visual Storytelling: Create compelling narratives from data
- Stakeholder Communication: Tailor level of technical detail
- Documentation: Maintain reproducible analysis records
Ethical Data Science
- Fairness Considerations: Check for bias across protected groups
- Privacy Protection: Anonymize sensitive data appropriately
- Transparency: Document data sources and methodology
- Responsible AI: Consider societal impact of models
- Data Quality: Acknowledge limitations and potential biases
FAQ
What does the data-scientist skill do?
Expert in statistical analysis, predictive modeling, machine learning, and data storytelling to drive business insights.
How do I install data-scientist?
Run npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill data-scientist in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/data-scientist/ (personal) or .claude/skills/data-scientist/ (project).
Which AI agents can use data-scientist?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is data-scientist safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains data-scientist?
It is published by 404kidwiz in 404kidwiz/claude-supercode-skills. It has 143 recorded installs.
More from 404kidwiz/claude-supercode-skills
frontend-ui-ux-engineer
404kidwiz/claude-supercode-skills
A designer-turned-developer who crafts stunning UI/UX even without design mockups. Code may be a bit messy, but the visual output is always fire.
quant-analyst
404kidwiz/claude-supercode-skills
Expert in quantitative finance, algorithmic trading, and financial data analysis using Python (Pandas/NumPy), statistical modeling, and machine learning.
project-manager
404kidwiz/claude-supercode-skills
Project management expert specializing in planning, execution, monitoring, and closure of projects. Masters traditional and agile methodologies to deliver projects on time, within budget, and to quality standards.
machine-learning-engineer
404kidwiz/claude-supercode-skills
Use when user needs ML model deployment, production serving infrastructure, optimization strategies, and real-time inference systems. Designs and implements scalable ML systems with focus on reliability and performance.
dotnet-framework-4.8-expert
404kidwiz/claude-supercode-skills
Legacy .NET Framework expert specializing in .NET Framework 4.8, WCF services, ASP.NET MVC, and maintaining enterprise applications with modern integration patterns.
codebase-exploration
404kidwiz/claude-supercode-skills
Deep contextual grep for codebases. Expert at finding patterns, architectures, implementations, and answering "Where is X?", "Which file has Y?", and "Find code that does Z" questions. Use when exploring unfamiliar codebases, finding specific implementations, understanding code organization, discovering patterns across multiple files, or locating functionality in a project. Supports three thoroughness levels quick, medium, very thorough.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available