Analysis Authoring
MicrosoftOfficialPublished by Microsoft
- Skill
- Guidelines
- Data and AI
- CC-BY-4.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides editorial judgment and structural conventions for creating exploratory data analysis (EDA) notebooks and analytical dashboards. It focuses on logical section sequences, deliberate visualization selection based on analytical goals, and handling data scale through sampling or binning. The guidelines emphasize modularity, clear interpretation of figures, and explicit dashboard state management, while deferring technical implementation details like file management or column semantics to other specialized domains.
What it does
- Defines a standard section sequence for EDA notebooks to ensure logical flow.
- Provides criteria for selecting visualizations based on specific analytical goals.
- Establishes conventions for caching and interaction state in analytical dashboards.
- Sets expectations for dashboard validation, including functional and responsiveness checks.
- Encourages modular code practices by extracting repeated transformation logic.
- Promotes the documentation of data limitations and uncertainty alongside findings.
When to use it
- When composing a new exploratory data analysis notebook.
- When designing or building an analytical dashboard.
- When reviewing an existing notebook or dashboard for structural consistency.
- When performing a validation pass on an analytical dashboard.
Advantages
- Ensures a consistent structure across analytical deliverables.
- Helps maintain focus on the analytical question rather than incidental details.
- Provides clear guidance on handling high-cardinality data and scale.
- Improves dashboard reliability through explicit state and caching management.
- Encourages better communication of insights by requiring interpretation for figures.
Usage examples
- “How should I structure my exploratory data analysis notebook?”
- The agent will outline the required section sequence, starting from the analysis question and data assets summary through to univariate, multivariate, and temporal analysis sections.
- “What are the best practices for caching in an analytical dashboard?”
- The agent will explain the distinction between serializable data caching and global resource caching, and advise on keying functions based on real inputs.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/microsoft/analysis-authoring/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip analysis-authoring.zip -d .agents/skills
Documentation by Microsoft
Analysis Authoring Conventions
Goal
Produce exploratory notebooks and analytical dashboards whose structure, visualization choices, and scale handling are deliberate rather than incidental. This skill supplies the editorial judgment that generic file, notebook, terminal, and browser tooling does not carry.
Flow
Confirm the analysis question, the datasets in scope, and the deliverable shape: notebook, dashboard, or both.
Read the available profile and objectives artifacts rather than re-deriving column semantics.
data-catalogowns the profile contract and semantic roles.Select the deliverable's section sequence from the matching reference, including only the conditional sections the data supports.
Choose each visualization from its analytical goal, applying the scale thresholds rather than plotting whole datasets by default.
Record interpretation next to each figure so a reader learns what the figure answers, not only what it shows.
Validate the deliverable against its completeness expectations, and for dashboards apply the responsiveness budgets as project-adjustable defaults.
Inputs
The analysis question and intended audience
Dataset locations and, when available, an existing data profile and declared objectives
The deliverable shape and its destination
Any project-specific performance budget that overrides the defaults here
Success criteria
The deliverable follows the section sequence for its shape, and conditional sections appear only when the data supports them.
Every figure is preceded by the question it answers and is followed by an interpretation placeholder or an actual reading.
Visualization selection matches the analytical goal, and dense or high-cardinality data is sampled, binned, or truncated deliberately.
Every meaningful distinction is encoded in a channel besides colour, and categorical and continuous scales use colourblind-safe palettes.
Notebook code stays modular, with repeated transformation logic extracted rather than duplicated across cells.
Dashboard caching distinguishes serializable data from global resources, and cross-page interaction state is explicit.
Dashboard validation reports functional, data, and responsiveness findings against stated budgets.
Uncertainty, data limitations, and open questions are written down rather than implied.
Constraints
Describe judgment, not tool mechanics. Notebook creation, cell execution, output inspection, browser navigation, and screenshots are native tool capabilities and are not narrated here.
Reference profile and objectives artifacts instead of copying their contents into the deliverable.
Keep persistence format and dataset versioning with
dataops, which owns pipeline invariants and storage conventions.Keep entity semantics, relationships, and semantic roles with
data-catalog.Treat the performance budgets as defaults. A project-stated budget supersedes them.
Do not embed environment-specific absolute paths in a deliverable.
Ownership boundaries
| Concern | Owner |
|---|---|
| Column semantics, semantic roles, profile and objectives contracts | data-catalog |
| Persistence format, dataset versioning, pipeline and validation placement | dataops |
| Accessibility conformance criteria and assistive-technology review | accessibility |
| Evaluation dataset design for AI systems | evaluation-design |
| Trained-model evaluation, tracking, and readiness | ml-experimentation |
Stop rules
Stop and ask when the analysis question is unstated, because section selection and visualization choice both depend on it.
Stop and record a limitation rather than inventing an explanation for a pattern the data does not support.
Stop and route to
data-catalogwhen column meaning, grain, or relationships are ambiguous.Stop and route accessibility conformance work to the
accessibilityskill rather than restating criteria here.
Package resources
| Resource | Use |
|---|---|
| eda-notebook-authoring.md | Read when composing or reviewing an exploratory notebook |
| dashboard-authoring-and-validation.md | Read when composing, reviewing, or validating an analytical dashboard |
Attribution
This package is repository-original content licensed CC BY 4.0. The section sequences, selection thresholds, completeness expectations, and default budgets are HVE Core conventions rather than reproductions of an upstream specification.
Files
- ATTRIBUTION.mdAdded by AutoGineer987 B
- LICENSEAdded by AutoGineer16.6 KiB
- SKILL.md5.5 KiB
- references/dashboard-authoring-and-validation.md5.3 KiB
- references/eda-notebook-authoring.md7.8 KiB
references/eda-notebook-authoring.md
title: EDA notebook authoring description: Section sequence, visualization selection thresholds, modularity expectations, and completeness criteria for exploratory data analysis notebooks
Scope
These are HVE Core authoring conventions for exploratory notebooks. They describe editorial judgment: what sections belong, in what order, which figure answers which question, and when scale forces a different treatment. Notebook creation, cell editing, execution, and output inspection are native tool capabilities and are not described here.
Column semantics and profile contracts belong to data-catalog. Persistence format and dataset versioning belong to dataops.
Section sequence
Compose an exploratory notebook in this order. Sections marked conditional appear only when the data supports them; an empty conditional section is worse than an absent one.
| Order | Section | Conditional on |
|---|---|---|
| 1 | Title and analysis question | Always |
| 2 | Data assets summary, referencing profiles rather than restating them | Always |
| 3 | Configuration and imports | Always |
| 4 | Data loading with parameterized paths | Always |
| 5 | Structure and quality checks: shape, dtypes, missingness | Always |
| 6 | Univariate distributions | Always |
| 7 | Multivariate relationships | Two or more analyzable variables |
| 8 | Temporal trends | A datetime field exists |
| 9 | Feature interactions and faceting | A grouping variable exists |
| 10 | Outliers and anomalies | Numeric variables exist |
| 11 | Derived features | Feature engineering is in scope |
| 12 | Summary insights and hypotheses | Always |
| 13 | Next steps and open questions | Always |
The sequence moves from what the data is, to what each variable looks like alone, to how variables relate, to what that implies. Reordering breaks the reader's ability to trust a relationship claim before seeing the underlying distributions.
Visualization selection
Prefer an interactive plotting library so distributions and outliers remain open to inspection. Use a static library only when a plot type is not reasonably expressible in the interactive one.
| Analytical goal | Figure type | Scale and encoding guidance |
|---|---|---|
| Numeric distribution | Histogram with a marginal box | Choose bin count near the square root of the observation count |
| Categorical distribution | Bar chart over value counts | Show top categories and group the remainder when cardinality is high |
| Relationship between two numeric variables | Scatter with an optional trend line | Sample above roughly fifty thousand points and reduce opacity for dense regions |
| Correlation overview | Matrix heatmap | Restrict to numeric columns and fix a diverging scale from minus one to one |
| Temporal trend | Line with markers | Add a rolling mean as a separate trace rather than smoothing in place |
| Conditional distribution | Histogram split by color or facet | Keep facet count in the low dozens; beyond that, aggregate instead |
| Magnitude across two keys | Matrix heatmap | State units in the color-bar title |
Fixing the correlation scale matters: an auto-scaled correlation matrix visually exaggerates weak relationships, because the color range expands to fill whatever the data happens to contain.
Color is never the only encoding
Colour carries meaning for readers who can distinguish it. Roughly one in twelve men and one in two hundred women cannot distinguish some colour pairs, and a figure that encodes a distinction in hue alone is unreadable to them. Print and greyscale rendering lose the distinction for everyone.
Encode every meaningful distinction in at least one channel besides colour:
Categorical series: pair colour with marker shape, line dash pattern, or direct labelling on the series itself.
Ordered or diverging scales: pair colour with position, size, or an annotated value, and keep the scale monotonic in lightness so it survives greyscale conversion.
Faceted or split distributions: rely on the facet structure or an explicit label rather than fill colour alone to identify each group.
Select a colourblind-safe qualitative palette for categorical encodings, and a perceptually uniform sequential or diverging scale for continuous ones. Avoid a red-to-green ramp, which is the pairing most commonly confused. When a plotting library's default palette is not colourblind-safe, set the palette explicitly rather than accepting the default.
State the encoding in the axis title, the legend, or the figure caption so the reader knows which channel carries the distinction without inferring it from the colours.
Composition expectations
Keep one concept per cell, and keep transformation logic in a cell short enough to read at a glance. Roughly fifteen logical lines is the point at which extraction into a helper is usually warranted.
Precede each figure with the question it answers, and follow it with an interpretation placeholder or an actual reading. A figure with no stated question is decoration.
Give figures semantic names that describe their subject rather than their order.
Label axes and legends without unexplained abbreviations, and keep theming consistent across the notebook.
Extract repeated transformations into helper functions kept free of hidden global side effects.
Summarize schema information rather than inlining large structures.
Guard figure cells against missing columns so a partially available dataset does not halt the run.
Parameterize paths and avoid environment-specific absolute locations.
Show structural summaries rather than printing entire frames.
Completeness criteria
An exploratory notebook is complete when it contains, at minimum:
The analysis question and dataset context
Configuration, imports, and parameterized loading
A structural summary covering shape, types, and missingness
At least three univariate figures
At least two multivariate figures
A correlation view when two or more numeric variables exist
A temporal view when a datetime field exists
An outlier inspection
Written insights, limitations, and next steps
The notebook should run start to finish once paths are configured, without manual cell reordering.
Recording uncertainty
Write down data limitations, emerging hypotheses, feature ideas, and questions for domain experts as explicit notes inside the notebook. An exploratory notebook whose only output is figures transfers no interpretation to the next reader.
Requirements and compatibility
Written for: GitHub Copilot, Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Claude Code frontmatter
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/hve-core · .github/skills/data-science-engineering/analysis-authoring · commit f425e94
- Licence
- Creative Commons Attribution 4.0 International (redistribution allowed)
- LICENSE (written by AutoGineer)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download analysis-authoring.zip