Install any skill in seconds. Free to start, no credit card required.
Get Started Free →End-to-end data analysis AI agent with Streamlit UI
.claude/skills/brycewang-stanford-streamline-analyst-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -23% | 0% |
Streamline Analyst is an end-to-end data analysis AI agent with a Streamlit web interface. Upload a dataset and describe your analysis goal in natural language — the agent handles data cleaning, EDA, feature engineering, model training, evaluation, and report generation. Provides an interactive UI for reviewing each step and adjusting parameters.
bashgit clone https://github.com/Wilson-ZheLin/Streamline-Analyst.git cd Streamline-Analyst pip install -r requirements.txt streamlit run app.py
Upload Dataset (CSV, Excel, Parquet)
↓
Data Profiling
├── Column types and distributions
├── Missing value analysis
├── Correlation matrix
└── Outlier detection
↓
Data Cleaning (interactive)
├── Handle missing values
├── Remove/fix outliers
├── Type conversions
└── Feature encoding
↓
EDA (automated + custom)
├── Univariate analysis
├── Bivariate relationships
├── Statistical tests
└── Custom visualizations
↓
Modeling (if applicable)
├── Train/test split
├── Model selection + training
├── Hyperparameter tuning
└── Evaluation metrics
↓
Report Generationpython# Streamline Analyst provides: # 1. Smart data profiling # - Auto-detect column types (numeric, categorical, datetime) # - Distribution analysis per column # - Missing value patterns (MCAR, MAR, MNAR hints) # - Correlation analysis with significance # 2. Interactive cleaning # - Imputation strategies (mean, median, mode, KNN, model) # - Outlier handling (IQR, Z-score, isolation forest) # - Encoding (one-hot, label, target, ordinal) # - Scaling (standard, minmax, robust) # 3. Automated EDA # - Distribution plots (histogram, KDE, box, violin) # - Relationship plots (scatter, pair, heatmap) # - Time series decomposition # - Statistical tests (t-test, ANOVA, chi-square, Mann-Whitney) # 4. Model pipeline # - Classification: LR, RF, GBM, SVM, MLP # - Regression: LR, RF, GBM, SVR, ElasticNet # - Cross-validation with confidence intervals # - Feature importance visualization # - SHAP explanations # 5. Report # - HTML report with all plots and findings # - Downloadable cleaned dataset # - Model artifacts (pickle)
markdown### Example Prompts - "Show me the distribution of all numeric columns" - "Is there a significant difference in income between genders?" - "Build a classifier to predict churn using all features" - "What are the top 5 most important features for prediction?" - "Clean the data: fill missing values and remove outliers" - "Generate a summary report of this dataset"
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 13,567 | 19,496 | +44% | 1 | 1 | 0% | 2,412 | 3,111 | +29% | 0 | 0 | — |
case-02 | fail→pass | 17,691 | 6,425 | -64% | 1 | 1 | 0% | 3,024 | 1,985 | -34% | 0 | 0 | — |
case-03 | fail→pass | 14,696 | 6,997 | -52% | 1 | 1 | 0% | 2,638 | 2,018 | -24% | 0 | 0 | — |
case-04 | fail→pass | 10,486 | 1,991 | -81% | 1 | 1 | 0% | 1,430 | 1,037 | -27% | 0 | 0 | — |
case-05 | pass→pass | 11,905 | 1,749 | -85% | 1 | 1 | 0% | 1,896 | 1,042 | -45% | 0 | 0 | — |
case-06 | pass→pass | 14,536 | 2,084 | -86% | 1 | 1 | 0% | 2,277 | 1,091 | -52% | 0 | 0 | — |
case-07 | pass→pass | 13,679 | 3,537 | -74% | 1 | 1 | 0% | 2,220 | 1,306 | -41% | 0 | 0 | — |
case-08 | pass→pass | 8,267 | 1,830 | -78% | 1 | 1 | 0% | 1,320 | 1,086 | -18% | 0 | 0 | — |
case-09 | pass→pass | 9,949 | 2,108 | -79% | 1 | 1 | 0% | 1,563 | 1,051 | -33% | 0 | 0 | — |
case-10 | pass→pass | 11,846 | 1,597 | -87% | 1 | 1 | 0% | 1,894 | 1,015 | -46% | 0 | 0 | — |
case-11 | pass→pass | 13,158 | 2,894 | -78% | 1 | 1 | 0% | 2,128 | 1,223 | -43% | 0 | 0 | — |
case-12 | fail→pass | 14,288 | 5,684 | -60% | 1 | 1 | 0% | 2,073 | 1,606 | -23% | 0 | 0 | — |
case-13 | fail→pass | 14,704 | 2,106 | -86% | 1 | 1 | 0% | 2,320 | 1,096 | -53% | 0 | 0 | — |
case-14 | fail→pass | 12,234 | 2,558 | -79% | 1 | 1 | 0% | 1,887 | 1,099 | -42% | 0 | 0 | — |
case-15 | pass→pass | 13,475 | 7,533 | -44% | 1 | 1 | 0% | 2,095 | 1,903 | -9% | 0 | 0 | — |
case-16 | fail→pass | 13,233 | 4,261 | -68% | 1 | 1 | 0% | 1,958 | 1,434 | -27% | 0 | 0 | — |
case-17 | pass→pass | 10,471 | 1,805 | -83% | 1 | 1 | 0% | 1,652 | 967 | -41% | 0 | 0 | — |
case-18 | fail→pass | 14,426 | 2,790 | -81% | 1 | 1 | 0% | 2,201 | 1,208 | -45% | 0 | 0 | — |
case-19 | pass→pass | 12,491 | 2,909 | -77% | 1 | 1 | 0% | 2,069 | 1,083 | -48% | 0 | 0 | — |
case-20 | pass→pass | 9,036 | 7,117 | -21% | 1 | 1 | 0% | 1,736 | 2,138 | +23% | 0 | 0 | — |
case-21 | pass→pass | 11,678 | 11,323 | -3% | 1 | 1 | 0% | 2,272 | 3,137 | +38% | 0 | 0 | — |
case-22 | pass→pass | 15,090 | 15,834 | +5% | 1 | 1 | 0% | 2,617 | 3,559 | +36% | 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. The headline lift of +41 percentage points is the difference between those two pass rates over the 22 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.