agentleFS
pskoettpskoett/pmx-canvas/skills/data-analysis/SKILL.md

data-analysis

Skill30 starsChanged 9 days agoMITView on GitHub

Synthesizes engineering and product data with visualizations. Use for quantitative questions, trends, comparisons, distributions, and data-backed planning.

76 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use algorithm-design, review-r and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • lingzhi227Skill

    algorithm-design

    Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.

    Also in 5 projects that use this

  • luischanciSkill

    review-r

    Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.

    Also in 4 projects that use this

  • zephyrwang6Skill

    deepl

    Übersetzt Texte, Dokumente und XLIFF-Dateien via DeepL API. Verwende für Übersetzungen mit /deepl translate, /deepl file oder /deepl xliff.

    Also in 4 projects that use this

  • zephyrwang6Skill

    imagemagick-conversion

    Convert and manipulate images with ImageMagick. Covers format conversion, resizing, batch processing, quality adjustment, and image transformations. Use when user mentions image conversion, resizing images, ImageMagick, magick command, batch image processing, or thumbnail generation.

    Also in 4 projects that use this

  • lingzhi227Skill

    latex-formatting

    Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.

    Also in 4 projects that use this

  • stophobiaSkill

    surprise-me

    Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".

    Also in 4 projects that use this

  • +3 more from zephyrwang6
  • +2 more from lingzhi227

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 10 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 53 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Prefer sparkline/dot-plot/bullet/slopegraph and direct labels over legends.

    line 28
  2. Distinctive:

    If the question is ambiguous, ask clarifying questions before proceeding.

    line 53
  3. Distinctive:

    Never lead with interpretation.

    line 200
  4. Distinctive:

    If HTML, include a line chart

    line 212
  5. Distinctive:

    Always caveat: correlation is not causation

    line 283
  6. Distinctive:

    If unsure which tables or columns are available in DX Data Cloud, start with:

    line 296
  7. Distinctive:

    Always show numbers first, then interpretation (this is a core PMX principle)

    line 309
  8. Distinctive:

    If a data source is unavailable, note it and proceed with available sources

    line 311
  9. Distinctive:

    Always state the time range explicitly in findings

    line 313
  10. Distinctive:

    When comparing teams, be sensitive: focus on systemic factors, not individual blame

    line 316
  11. Distinctive:

    If the data is insufficient to answer the question, say so rather than speculating

    line 317

“Common” is measured: kept by at least 6 in 10 of the 53 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Analysis

Perform analytics synthesis across engineering and product data sources. Answer questions about trends, correlations, comparisons, and distributions by querying MCP servers, analyzing the data, and presenting findings with visualizations.

Require an analysis question. Optional inputs are data sources (default DX Data Cloud when available), output format (markdown by default or html), and whether to include charts (default true). Return findings, tables, interpretation and recommendations, with visual charts for HTML output. Discover available MCP tools before choosing a source; metadata does not configure integrations.

In pmx-canvas, prefer canvas_render { action: "add-graph" } for charts and trend lines and canvas_render { action: "add-json-render" } when the analysis should land as a richer dashboard or table inside the canvas.

For chart design and color choices, discover and load the tufte-viz skill. MCP-only consumers can read skill://tufte-viz/SKILL.md through resources/read. Color must encode data, not decorate. Single-series bar charts default to one accent with the key bar highlighted (colorBy: series); opt into category/value only when color carries a variable. Prefer sparkline/dot-plot/bullet/slopegraph and direct labels over legends; use small multiples for more than ~4 overlapping series.

When to Use

  • Answering quantitative questions about engineering performance, delivery, or team health
  • Trend analysis: "How has X changed over time?"
  • Correlation analysis: "Is there a relationship between X and Y?"
  • Comparison analysis: "How does team A compare to team B?"
  • Distribution analysis: "What is the breakdown of X by Y?"
  • Preparing data-backed arguments for planning, retrospectives, or leadership updates
  • Any request that starts with "analyze", "compare", "show me the trend", "what is the distribution"

How It Works

Step 1: Parse the Question

Analyze the user's question to determine:

  1. Analysis type: trend, correlation, comparison, distribution, or summary
  2. Metrics needed: What data points are required (cycle time, velocity, bug count, etc.)
  3. Time range: What period to analyze (last quarter, last 4 sprints, this year, etc.)
  4. Grouping: How to segment the data (by team, by sprint, by week, by component, etc.)
  5. Data sources: Which MCP servers have the required data

If the question is ambiguous, ask clarifying questions before proceeding.

Step 2: Pull Data

Query the relevant MCP servers:

DX Data Cloud (DX MCP queryData tool in current session)

Primary source for engineering metrics:

  • DORA metrics (deployment frequency, lead time, change failure rate, MTTR)
  • DX Index (DXI) survey results
  • Cycle time breakdowns
  • Throughput and flow metrics
  • Team-level aggregations

Query using SQL against the DX Data Cloud PostgreSQL database. Tool prefixes vary by deployment (dx-data-cloud vs dx-mcp), so select the available DX queryData tool at runtime. Start with information_schema if unsure of available tables and columns.

Jira/Linear

Issue and sprint data:

  • Sprint velocity over time
  • Issue type distribution
  • Bug rates and trends
  • Epic completion rates
  • Cycle time (issue-level)

GitHub

Code and collaboration data:

  • PR cycle time (open to merge)
  • PR size distribution
  • Review turnaround time
  • Merge frequency
  • Contributor activity

WorkIQ

Collaboration and time data:

  • Meeting hours per week
  • Focus time trends
  • Collaboration patterns
  • Context switching indicators

Step 3: Perform Analysis

Based on the analysis type identified in Step 1:

Trend Analysis

  • Calculate the metric value for each time period (week, sprint, month)
  • Compute week-over-week or period-over-period change
  • Identify the overall trend direction (improving, declining, stable)
  • Calculate the rate of change
  • Identify inflection points or anomalies
  • Project forward if asked ("at this rate, when will we reach X?")

Correlation Analysis

  • Pull both metrics for the same time periods
  • Calculate correlation coefficient (Pearson r)
  • Interpret strength: |r| > 0.7 strong, 0.4-0.7 moderate, < 0.4 weak
  • Note: correlation does not imply causation (always state this)
  • Show a scatter plot description or data table

Comparison Analysis

  • Pull the same metric for different groups (teams, sprints, projects)
  • Calculate absolute and percentage differences
  • Rank groups by performance
  • Identify outliers (groups significantly above or below average)
  • Apply statistical context (is the difference significant or within normal variation?)

Distribution Analysis

  • Group data by the specified dimension
  • Calculate counts and percentages for each group
  • Identify the dominant category and any long tails
  • Show as a table and describe what a pie/bar chart would look like

Step 4: Generate Output

Markdown Format

# Analysis: [Question Restated]

**Period**: [time range]
**Data Sources**: [list of sources queried]
**Generated**: [timestamp]

## Key Findings

1. [Finding 1 - the most important insight]
2. [Finding 2]
3. [Finding 3]

## Data

### [Metric Name] Over Time

| Period | Value | Change |
|--------|-------|--------|
| Week 1 | X     | -      |
| Week 2 | Y     | +Z%    |
| ...    | ...   | ...    |

### Summary Statistics

- Mean: X
- Median: Y
- Min: Z (period)
- Max: W (period)
- Standard Deviation: V

## Interpretation

[What the data means in plain language. Connect findings to
business context. Explain why the trends matter.]

## Recommendations

1. [Actionable recommendation based on the data]
2. [Another recommendation]

## Methodology

[Brief note on data sources, time ranges, and any caveats
about data quality or completeness]

HTML Format

Generate a self-contained HTML file with:

  • Chart.js visualizations:
    • Line charts for trends
    • Bar charts for comparisons
    • Scatter plots for correlations
    • Pie/doughnut charts for distributions
  • Interactive features: Hover tooltips, legend toggles
  • Data tables: Below each chart with the raw numbers
  • Styled sections: Clean typography, responsive layout
  • Print-friendly: CSS media queries for clean printing

Include Chart.js via CDN link in the HTML head.

Analysis Framework: Numbers First, Then Interpretation

Following the PMX vibe rules, always present data in this order:

  1. Numbers: Show the raw data and calculations first
  2. Pattern: Describe what the data shows (trend, correlation, distribution)
  3. Interpretation: Explain what it means in context
  4. Recommendation: Suggest action based on the findings

Never lead with interpretation. Let the numbers speak first.

Examples

Example 1: Trend Analysis

Prompt: "How has our PR cycle time changed over the last quarter?"

Expected behavior:

  1. Query DX Data Cloud for PR cycle time, weekly, last 12 weeks
  2. Calculate week-over-week changes
  3. Identify overall trend (improving/declining)
  4. Generate markdown with data table and findings
  5. If HTML, include a line chart

Output includes:

  • Weekly cycle time values
  • Average, min, max
  • Trend direction and rate of change
  • Comparison to team goals if defined in context.md

Example 2: Correlation Analysis

Prompt: "Analyze the correlation between meeting load and developer productivity"

Expected behavior:

  1. Query WorkIQ for meeting hours per developer per week
  2. Query DX Data Cloud or Jira for productivity proxy (throughput, cycle time, or velocity)
  3. Align time periods
  4. Calculate correlation coefficient
  5. Present scatter data and interpretation
  6. Note: "Correlation does not imply causation"

Example 3: Comparison Analysis

Prompt: "Compare velocity across the last 4 sprints"

Expected behavior:

  1. Query Jira/Linear for sprint velocity (story points completed) for last 4 sprints
  2. Calculate average, identify best and worst sprints
  3. Show sprint-over-sprint changes
  4. Identify contributing factors (scope changes, team changes, holidays)
  5. Present as comparison table and bar chart description

Example 4: Distribution Analysis

Prompt: "What is the breakdown of issues by type this quarter?"

Expected behavior:

  1. Query Jira/Linear for all issues created this quarter
  2. Group by type (feature, bug, task, spike, etc.)
  3. Calculate counts and percentages
  4. Present as table and describe pie chart
  5. Compare to previous quarter if useful

Example 5: Multi-Source Analysis

Prompt: "Is there a relationship between our deployment frequency and bug reports?"

Expected behavior:

  1. Query DX Data Cloud for deployment frequency (weekly)
  2. Query Jira/Linear for bug count (weekly, created date)
  3. Align time periods
  4. Calculate correlation
  5. Present findings with appropriate caveats

Example 6: Team Health Dashboard

Prompt: "Give me an overview of engineering health metrics"

Expected behavior:

  1. Pull DORA metrics from DX Data Cloud
  2. Pull DXI from DX Data Cloud
  3. Pull velocity from Jira/Linear
  4. Pull meeting load from WorkIQ
  5. Present dashboard-style summary with all metrics, trends, and RAG indicators

Statistical Methods

Trend Detection

  • Calculate linear regression slope over the period
  • Positive slope = improving (for metrics where higher is better)
  • Negative slope = improving (for metrics where lower is better, like cycle time)
  • Classify: strong improvement (>10% change), slight improvement (2-10%), stable (-2% to 2%), slight decline, strong decline

Correlation

  • Pearson correlation coefficient for linear relationships
  • Report r value and interpretation
  • Minimum 8 data points for meaningful correlation
  • Always caveat: correlation is not causation

Outlier Detection

  • Values beyond 2 standard deviations from the mean
  • Flag as anomalies with potential explanations (holidays, incidents, team changes)

Comparison Significance

  • For small sample sizes (< 10), note that differences may not be statistically significant
  • Calculate percentage difference and absolute difference
  • Provide context: "This is within/outside normal variation for this metric"

Data Source Discovery

If unsure which tables or columns are available in DX Data Cloud, start with:

SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema = 'public'
ORDER BY table_name, ordinal_position;

This helps discover the available data before writing analysis queries.

Notes

  • Always show numbers first, then interpretation (this is a core PMX principle)
  • Include data freshness: when was the data last updated?
  • If a data source is unavailable, note it and proceed with available sources
  • For time series, use consistent time buckets (don't mix weekly and monthly)
  • Always state the time range explicitly in findings
  • Round numbers appropriately: percentages to 1 decimal, days to 1 decimal, counts as integers
  • For HTML output, ensure the file is self-contained (inline CSS/JS, CDN for Chart.js)
  • When comparing teams, be sensitive: focus on systemic factors, not individual blame
  • If the data is insufficient to answer the question, say so rather than speculating

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.