بنقرة واحدة
profile
Profile data files — row counts, column types, missing values, duplicates, statistics
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Profile data files — row counts, column types, missing values, duplicates, statistics
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Full agentic analysis pipeline — ingest, clean, analyze, visualize, report, and dashboard from any data
Clean and transform data files — fix types, handle missing values, remove duplicates
Build a standalone interactive HTML dashboard with Chart.js from any dataset
Ask natural language questions about your data and get answers with evidence
Generate a comprehensive Markdown analysis report with findings, charts, and recommendations
Generate charts and plots from data — line, bar, pie, heatmap, scatter, histogram
| name | profile |
| description | Profile data files — row counts, column types, missing values, duplicates, statistics |
| argument-hint | [dataset-name] |
| risk | safe |
| disable-model-invocation | false |
| user-invocable | true |
| allowed-tools | Read, Write, Bash, Glob, Grep |
| model | claude-haiku-4-5-20251001 |
| context | fork |
| agent | general-purpose |
Profile any CSV, Excel, or JSON dataset to understand its structure, quality, and statistics before analysis.
Quickly assess data files without running the full pipeline. Reads from input/<dataset>/, produces a data-profile.md in output/<dataset>/ with row/column counts, data types, missing values, duplicates, basic statistics, and a quality score.
:analyze or :cleanParse $ARGUMENTS to get the dataset name (e.g., shopify-data).
input/<dataset-name>/output/<dataset-name>/$ARGUMENTS and set paths:
input/<dataset>/output/<dataset>/input/<dataset>/ using Glob patterns: input/<dataset>/**/*.csv, input/<dataset>/**/*.xlsx, input/<dataset>/**/*.xls, input/<dataset>/**/*.jsonmkdir -p output/<dataset>import pandas as pd
import os
def profile(filepath):
ext = os.path.splitext(filepath)[1].lower()
if ext == '.csv':
df = pd.read_csv(filepath)
elif ext in ['.xlsx', '.xls']:
df = pd.read_excel(filepath)
elif ext == '.json':
df = pd.read_json(filepath)
else:
return None
total_cells = df.shape[0] * df.shape[1]
missing_cells = df.isna().sum().sum()
quality_score = round((1 - missing_cells / total_cells) * 100, 1) if total_cells > 0 else 0
print(f"## {os.path.basename(filepath)}")
print(f"- **Rows:** {len(df):,}")
print(f"- **Columns:** {len(df.columns)}")
print(f"- **Duplicates:** {df.duplicated().sum():,}")
print(f"- **Quality Score:** {quality_score}%")
print()
print("| Column | Type | Missing | Missing % | Unique |")
print("|--------|------|---------|-----------|--------|")
for col in df.columns:
missing = df[col].isna().sum()
missing_pct = round(df[col].isna().mean() * 100, 1)
unique = df[col].nunique()
print(f"| {col} | {df[col].dtype} | {missing:,} | {missing_pct}% | {unique:,} |")
print()
num_cols = df.select_dtypes(include='number').columns
if len(num_cols) > 0:
print("| Column | Min | Max | Mean | Median | Std |")
print("|--------|-----|-----|------|--------|-----|")
for col in num_cols:
if not df[col].isna().all():
print(f"| {col} | {df[col].min():.2f} | {df[col].max():.2f} | {df[col].mean():.2f} | {df[col].median():.2f} | {df[col].std():.2f} |")
print()
output/<dataset>/data-profile.md| File | Rows | Columns | Quality | Issues |
|------|------|---------|---------|--------|
/10x-analyst:profile shopify-data
:clean for thatopenpyxl installedDeveloped by 10x.in | 10x-Analyst v1.0.0