Skip to main content

analyzing-data

Use when you have CSV/Excel data files and need PM insights (retention, funnel, segmentation) via Python analysis.

Ir para a instalação

Informações da origem

Repositório
majiayu000/claude-skill-registry-data
Última atividade na origem
23 de junho de 2026 às 11:02
Idioma detectado do SKILL.md
inglês
Estrelas
21
Forks
8

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
2 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
analyzing-data
description
Use when you have CSV/Excel data files and need PM insights (retention, funnel, segmentation) via Python analysis.
# Analyzing Data ## Overview A protocol for Python-based data analysis that prevents hallucination by requiring explicit column understanding, separating metrics from implications, and labeling all hypotheses. ## When to Use - User provides CSV, Excel, or structured data files - User asks for "analysis", "insights", "metrics", "trends", or "charts" - Data exists in `data/` or `inputs/` folder - User wants to understand product performance ## Core Pattern **Step 1: Exploratory Data Analysis (EDA)** Write and execute a Python script to produce: ```python import pandas as pd # Load data df = pd.read_csv('inputs/data/filename.csv') # or pd.read_excel() # Basic info print("=== SHAPE ===") print(df.shape) print("\n=== COLUMNS & TYPES ===") print(df.dtypes) print("\n=== FIRST 5 ROWS ===") print(df.head()) print("\n=== SUMMARY STATS ===") print(df.describe(include='all')) print("\n=== MISSING DATA ===") print(df.isnull().sum() / len(df) * 100) ``` **Step 2: Data Dictionary** Create a data dictionary table: | Column | Type | Example Values | Meaning | |--------|------|----------------|---------| | [col] | [dtype] | [2-3 examples] | [Explicit/Unknown] | **Rules:** - Mark meaning as "Unknown" if not explicitly documented - Do NOT infer column meanings from names alone - Ask user to clarify unknown columns before proceeding **Step 3: Analysis Plan** Only propose analyses where: - Required columns have known meanings - User has confirmed the business context - The analysis directly answers user's question **Step 4: Execution & Visualization** ```python import matplotlib.pyplot as plt # Example: Time series df['date'] = pd.to_datetime(df['date_column']) daily = df.groupby('date').size() daily.plot(figsize=(10,5), title='Daily Counts') plt.savefig('outputs/insights/analysis_output.png') print("Chart saved to outputs/insights/analysis_output.png") ``` **Step 5: Generate Output** Write to `outputs/insights/data-analysis-YYYY-MM-DD.md`: ```markdown --- generated: YYYY-MM-DD HH:MM skill: analyzing-data sources: - inputs/data/filename.csv (modified: YYYY-MM-DD) downstream: [] --- # Data Analysis: [Dataset Name] ## Dataset Overview | Attribute | Value | |-----------|-------| | Rows | N | | Columns | N | | Date range | [if applicable] | ## Data Dictionary | Column | Type | Example Values | Meaning | |--------|------|----------------|---------| | ... | ... | ... | Explicit/Unknown | ## Key Metrics | Metric | Value | Source | |--------|-------|--------| | [Metric name] | [Number] | [Code output] | ## Findings 1. **[Finding]** — Evidence: [code output] ## Hypotheses (require validation) 1. **[Hypothesis]** — Based on: [observation] ## Visualizations - [Chart description]: outputs/insights/[filename].png ## Sources Used - [file paths] ## Claims Ledger | Claim | Type | Source | |-------|------|--------| | [Metric] | Evidence | [Python output] | | [Trend interpretation] | Hypothesis | [Based on metric X] | ``` **Step 6: Copy to History & Update Tracker** - Copy to `history/analyzing-data/data-analysis-YYYY-MM-DD.md` - Update `alerts/stale-outputs.md` ## Quick Reference | Action | Command | |--------|---------| | Load CSV | `pd.read_csv('inputs/data/file.csv')` | | Load Excel | `pd.read_excel('inputs/data/file.xlsx')` | | Save chart | `plt.savefig('outputs/insights/output.png')` | | Check nulls | `df.isnull().sum()` | ## Common Mistakes - **Assuming column meanings:** "user_id probably means..." → Ask user to confirm - **Stating implications as facts:** "Users are churning because..." → Label as hypothesis - **Using sample data for conclusions:** "Based on 10 rows..." → Ensure representative data - **Ignoring missing data:** 50% nulls in key column → Report this prominently - **No data dictionary:** Jumping to analysis → Always document columns first ## Verification Checklist - [ ] Data dictionary created with all columns - [ ] Unknown meanings explicitly marked - [ ] User confirmed column semantics before analysis - [ ] Metrics separated from hypotheses - [ ] Missing data reported - [ ] Charts saved to outputs/insights/ - [ ] All code executed successfully - [ ] Metadata header complete - [ ] Copied to history, tracker updated ## Evidence Tracking | Claim | Type | Source | |-------|------|--------| | [Metric] | Evidence | [Python output] | | [Trend interpretation] | Hypothesis | [Based on metric X] | | [Column meaning] | Evidence/Unknown | [User confirmed / Not stated] |
Ver no GitHub