Data explorer skill
Profile any tabular dataset (CSV, JSON, Parquet) and produce a structured
summary the other skills can consume.
Workflow
- Scan workspace: list all data files in the workspace directory.
- Load and profile each file:
- Row count, column count
- Column names, data types, null counts, unique counts
- Basic statistics (min, max, mean, median, std for numerics)
- Value counts for categorical columns (top 10)
- Correlation matrix for numeric columns
- Assess data quality:
- Missing value percentage per column
- Potential data type issues (e.g., numbers stored as strings)
- Duplicate row detection
- Outlier detection (IQR method)
- Output a structured profile as JSON for downstream skills.
- Recommend analysis directions based on what you found.
Output format
{
"files": [
{
"filename": "customers.csv",
"rows": 91,
"columns": 7,
"schema": [
{"name": "CustomerID", "dtype": "object", "nulls": 0, "unique": 91},
{"name": "CompanyName", "dtype": "object", "nulls": 0, "unique": 91}
],
"quality": {
"missing_pct": {"Region": 0.60},
"duplicates": 0
},
"recommendations": [
"CustomerID is a unique string identifier",
"Region column has a high missing percentage (60%)",
"Can be joined with orders.csv on CustomerID to analyze customer behavior"
]
}
]
}
Key rules
- Never assume a specific dataset. Profile whatever is present.
- If no data files are found, inform the user and ask them to upload.
- Use
pandas for profiling. It is pre-installed in the sandbox.
- Use
select_dtypes(include=["object", "str"]) for categorical columns.
- For large files (>100K rows), profile a sample first and note the sampling.
1---2name: data-explorer3description: General-purpose data profiling and exploration. Use when first encountering any dataset to understand its structure, quality, and analysis potential.4---56# Data explorer skill78Profile any tabular dataset (CSV, JSON, Parquet) and produce a structured9summary the other skills can consume.1011## Workflow12131. **Scan workspace**: list all data files in the workspace directory.142. **Load and profile each file**:15 - Row count, column count16 - Column names, data types, null counts, unique counts17 - Basic statistics (min, max, mean, median, std for numerics)18 - Value counts for categorical columns (top 10)19 - Correlation matrix for numeric columns203. **Assess data quality**:21 - Missing value percentage per column22 - Potential data type issues (e.g., numbers stored as strings)23 - Duplicate row detection24 - Outlier detection (IQR method)254. **Output a structured profile** as JSON for downstream skills.265. **Recommend analysis directions** based on what you found.2728## Output format2930```json31{32 "files": [33 {34 "filename": "customers.csv",35 "rows": 91,36 "columns": 7,37 "schema": [38 {"name": "CustomerID", "dtype": "object", "nulls": 0, "unique": 91},39 {"name": "CompanyName", "dtype": "object", "nulls": 0, "unique": 91}40 ],41 "quality": {42 "missing_pct": {"Region": 0.60},43 "duplicates": 044 },45 "recommendations": [46 "CustomerID is a unique string identifier",47 "Region column has a high missing percentage (60%)",48 "Can be joined with orders.csv on CustomerID to analyze customer behavior"49 ]50 }51 ]52}53```5455## Key rules5657- Never assume a specific dataset. Profile whatever is present.58- If no data files are found, inform the user and ask them to upload.59- Use `pandas` for profiling. It is pre-installed in the sandbox.60- Use `select_dtypes(include=["object", "str"])` for categorical columns.61- For large files (>100K rows), profile a sample first and note the sampling.