What Data Analysis Can the Data Plugin Perform? A Complete Guide to Its 7 Analytical Skills
The data plugin performs seven types of data analysis—dataset profiling, statistical inference, SQL generation, visualization, dashboarding, schema extraction, and query validation—through self-contained skill manifests stored in data/skills/.
The data plugin in the anthropics/knowledge-work-plugins repository provides an end-to-end analytical environment powered by modular skill definitions. Each capability is implemented as a declarative manifest under data/skills/, allowing the Instagit runtime to match user intent to concrete data analysis workflows.
Core Data Analysis Capabilities
The plugin exposes its functionality through seven independent skills. Each skill is a self-contained YAML front-matter file combined with markdown documentation that defines arguments, workflows, and executable logic.
Dataset Profiling and Exploration
The explore-data skill, defined in data/skills/explore-data/SKILL.md, generates comprehensive data profiles including row and column counts, null rates, cardinalities, and data quality flags. It categorizes columns into dimensions, metrics, dates, and identifiers while surfacing top values and distributions.
To invoke a profile, users run:
/explore-data sales.daily_transactions
The skill returns structured markdown output detailing the schema, temporal ranges, and completeness statistics.
Statistical Analysis and Hypothesis Testing
The statistical-analysis skill (data/skills/statistical-analysis/SKILL.md) supports both descriptive and inferential statistics. It computes means, medians, percentiles, and performs trend analysis using Z-score, IQR, and percentile methods for outlier detection. For hypothesis testing, it supports t-tests, chi-square tests, and ANOVA, while explicitly advising on the difference between practical and statistical significance.
SQL Query Authoring and Optimization
The sql-queries skill (data/skills/sql-queries/SKILL.md) generates dialect-specific SQL for major cloud warehouses. It supports PostgreSQL, Snowflake, BigQuery, Redshift, and Databricks, providing optimized window functions, CTE patterns, and performance recommendations tailored to each engine's execution model.
Data Visualization
The data-visualization skill (data/skills/data-visualization/SKILL.md) recommends appropriate chart types and produces ready-to-run Python snippets using matplotlib, seaborn, and plotly. It encodes design and accessibility standards, ensuring outputs meet publication quality requirements.
Dashboard Creation and Reporting
The build-dashboard skill (data/skills/build-dashboard/SKILL.md) guides users through assembling interactive dashboards. It handles dimension and metric selection while enabling chained analyses such as cohort studies, correlation matrices, and trend comparisons.
Data Context Extraction
The data-context-extractor skill (data/skills/data-context-extractor/SKILL.md) parses table schemas, suggests join keys, surfaces data lineage, and produces contextual summaries that feed downstream analytical tasks.
Query Validation and Templating
The validate-data skill (data/skills/validate-data/SKILL.md) validates user-supplied queries against connector metadata. When source tables are unknown, it auto-generates placeholder queries to bootstrap the exploration process.
Practical Data Analysis Examples
The following examples demonstrate how the plugin transforms analytical intent into executable code.
Profiling a New Dataset
When invoked via /explore-data, the skill produces structured output:
## Data Profile: sales.daily_transactions
### Overview
- Rows: 2,340,891
- Columns: 23 (8 dimensions, 6 metrics, 4 dates, 5 IDs)
- Date range: 2021‑03‑15 to 2024‑01‑22
### Column Details
| Column | Type | Null % | Distinct % | Top Values |
|----------------|-----------|--------|------------|---------------------------|
| transaction_id | Identifier| 0 % | 100 % | — |
| revenue | Metric | 0.3 % | 95 % | $0, $12.99, $49.99 … |
| country | Dimension | 0 % | 12 % | US (45 %), CA (22 %) … |
Detecting Statistical Outliers
Using the IQR method from data/skills/statistical-analysis/SKILL.md:
import pandas as pd
df = pd.read_csv("sales_daily.csv")
Q1 = df['revenue'].quantile(0.25)
Q3 = df['revenue'].quantile(0.75)
IQR = Q3 - Q1
lower = Q1 - 1.5 * IQR
upper = Q3 + 1.5 * IQR
outliers = df[(df['revenue'] < lower) | (df['revenue'] > upper)]
print(f"Found {len(outliers)} revenue outliers")
Generating Cross-Dialect SQL
PostgreSQL rolling average from data/skills/sql-queries/SKILL.md:
-- PostgreSQL: Rolling 7‑day moving average
WITH daily AS (
SELECT
DATE_TRUNC('day', created_at) AS day,
SUM(revenue) AS daily_rev
FROM sales.daily_transactions
GROUP BY 1
)
SELECT
day,
daily_rev,
AVG(daily_rev) OVER (
ORDER BY day
ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
) AS ma_7d
FROM daily
ORDER BY day;
The same logic adapts to Snowflake, BigQuery, Redshift, or Databricks by swapping date-truncation syntax per the skill's dialect-specific reference tables.
Creating Publication-Quality Visualizations
Following the Line Chart (Time Series) pattern from data/skills/data-visualization/SKILL.md:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
df = pd.read_csv("sales_daily.csv")
df['date'] = pd.to_datetime(df['date'])
plt.style.use('seaborn-v0_8-whitegrid')
PALETTE = ['#4C72B0', '#DD8452', '#55A868']
fig, ax = plt.subplots(figsize=(10, 6))
for label, group in df.groupby('country'):
ax.plot(group['date'], group['revenue'],
label=label, color=PALETTE[0])
ax.set_title('Revenue Trend by Country', fontweight='bold')
ax.set_xlabel('Date')
ax.set_ylabel('Revenue (USD)')
ax.legend()
plt.tight_layout()
plt.savefig('revenue_trend.png')
How the Plugin Architecture Enables Analysis
Each skill is a skill manifest containing name, description, and user-invocable metadata fields. The markdown body defines required arguments, workflow steps, and concrete guidance. The Instagit runtime reads these manifests from data/skills/, matches user requests to the appropriate skill, and executes the corresponding logic. This modular architecture allows new data analysis capabilities to be added by placing a new *.md file into the skills directory without modifying core runtime code.
Summary
- Seven analytical domains: Profiling, statistics, SQL generation, visualization, dashboards, schema extraction, and validation.
- Self-contained skills: Each capability lives in
data/skills/<skill-name>/SKILL.mdas a declarative manifest. - Multi-dialect support: SQL generation covers PostgreSQL, Snowflake, BigQuery, Redshift, and Databricks.
- Extensible architecture: New analysis types are added by dropping manifest files into
data/skills/.
Frequently Asked Questions
What statistical methods does the data plugin support?
According to data/skills/statistical-analysis/SKILL.md, the plugin supports descriptive statistics (means, medians, percentiles), outlier detection via Z-score, IQR, and percentile methods, and inferential testing including t-tests, chi-square tests, and ANOVA. It also provides guidance on interpreting practical versus statistical significance.
Which SQL dialects are compatible with the sql-queries skill?
The sql-queries skill supports PostgreSQL, Snowflake, BigQuery, Redshift, and Databricks. It provides dialect-specific optimizations for window functions, CTEs, and date arithmetic, ensuring queries execute efficiently on the target warehouse.
How can I add new data analysis capabilities to the plugin?
You can extend the plugin by creating a new *.md file under data/skills/ containing a YAML front-matter header with name, description, and user-invocable fields, followed by markdown documentation of the workflow. The Instagit runtime automatically discovers and loads new skills from this directory.
What information does the dataset profiling skill return?
The explore-data skill returns row and column counts, column type classifications (dimensions, metrics, dates, IDs), null percentages, distinct value counts, temporal ranges, and top-value distributions. It also flags data quality issues and provides follow-up recommendations for deeper analysis.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →