Quick Start
stencila skills create data-analysis.stencila/skills/data-analysis/SKILL.md
---
name: data-analysis
description: TODO
---
TODO: Add instructions for this skill.The SKILL.md File
SKILL.md
YAML frontmatter — metadata (name, description, optional fields) Markdown body — instructions for the agent
---
name: code-review
description: Review code for correctness, style, and security issues.
---
When asked to review code:
1. Read the files and understand the change
2. Check for correctness and security issues
3. Suggest concrete improvements with code examples---
name: data-analysis
description: Analyze datasets and generate summary statistics. Use when working with CSV, Parquet, or database query results.
keywords:
- data
- analysis
- statistics
- pandas
- CSV
- Parquet
license: Apache-2.0
compatibility: Requires Python 3.10+ with pandas and matplotlib
allowed-tools: Bash(python:*) Read
metadata:
author: my-org
version: "1.0"
---
## Steps
1. Load the dataset using pandas
2. Check for missing values and data types
3. Generate summary statistics
4. Create visualizations for key distributions
## Examples
Input: a CSV file with columns `date`, `value`, `category`
Output: summary table, time series plot, category breakdown
## Edge Cases
- Handle missing values by noting them in the summary, not by dropping rows
- For datasets over 1M rows, sample before plottingSkill Names
1–64 characters Only lowercase alphanumeric characters and hyphens ( a-z, 0-9, -) Must not start or end with a hyphen Must not contain consecutive hyphens ( --) Must match the parent directory name
thing-activity
code-review | ||
data-analysis | ||
site-design | ||
test-generation | ||
doc-writing |
Directory Structure
skills/SKILL.md
.stencila/skills/
data-analysis/
SKILL.md # Required — frontmatter + instructions
scripts/ # Optional — executable code
extract.py
summarize.py
references/ # Optional — additional documentation
REFERENCE.md
pandas-tips.md
assets/ # Optional — static resources
template.csv
report-template.mdscripts/ | |
references/ | |
assets/ |
SKILL.md
See [the reference guide](references/REFERENCE.md) for detailed API docs.
Run the extraction script:
scripts/extract.pyImproving Discoverability with Keywords
keywords
keywords:
- data
- analysis
- statistics
- pandas
- CSV
- ParquetWriting Effective Instructions
Keep it focused — under 500 lines / 5,000 tokens recommended Use step-by-step instructions — numbered lists are easy for models to follow Include examples — show expected inputs and outputs Cover edge cases — note common pitfalls and how to handle them Split long content — move detailed reference material to references/files
SKILL.md
Provider-Specific Skills
.stencila/skills/
code-review/
SKILL.md # Base skill — used by all providers
.claude/skills/
code-review/
SKILL.md # Override — used by Anthropic agents
.codex/skills/
code-review/
SKILL.md # Override — used by OpenAI agents.stencila/skills/
Validation
# By skill name
stencila skills validate data-analysis
# By directory path
stencila skills validate .stencila/skills/data-analysis
# By SKILL.md path
stencila skills validate .stencila/skills/data-analysis/SKILL.mdName format (kebab-case, 1–64 characters, ASCII only) Name matches the parent directory name Description is non-empty and not a placeholder (e.g., "TODO") Description length (max 1,024 characters) Compatibility length (max 500 characters, if provided)