Exploratory Data Analysis
spacering-net/codeg
Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.
Bring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments).
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install opensanctions/opensanctions dataset-metadata --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dataset-metadata .claude/skills/dataset-metadata && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .claude/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadataType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install opensanctions/opensanctions dataset-metadata --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/dataset-metadata .agents/skills/dataset-metadata && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .agents/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install opensanctions/opensanctions dataset-metadata --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/dataset-metadata .cursor/skills/dataset-metadata && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .cursor/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/opensanctions/opensanctions.git --path .claude/skills/dataset-metadata--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install opensanctions/opensanctions dataset-metadata --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/dataset-metadata .gemini/skills/dataset-metadata && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .gemini/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install opensanctions/opensanctions dataset-metadataInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/dataset-metadata .github/skills/dataset-metadata && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .github/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add opensanctions/opensanctions --skill dataset-metadata -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install opensanctions/opensanctions dataset-metadata --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/dataset-metadata .opencode/skills/dataset-metadata && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dataset-metadata" agent skill from https://github.com/opensanctions/opensanctions/tree/main/.claude/skills/dataset-metadata into .opencode/skills/dataset-metadata/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataset-metadata", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dataset-metadataBring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments).
Dataset Metadata is an agent skill from opensanctions/opensanctions. Bring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments). Use when the user asks to fix, improve or standardise a dataset's metadata.
Its SKILL.md is about 600 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics. The repository describes itself as: An open database of international sanctions data, persons of interest and politically exposed persons. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4499adf. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditGlobGrepBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dataset Metadata loads about 604 tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 265 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Glob, Grep, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from opensanctions/opensanctions at commit 4499adf, republished under its MIT licence (© opensanctions). 265 words, ~604 tokens.
.claude/skills/dataset-metadata/SKILL.md (or your agent's skills folder).Standardise the metadata of the dataset at $ARGUMENTS.
The rules live in zavod/docs/metadata.md — read it
first and follow it. This skill is only the procedure for applying it; when a rule is
unclear, read the doc, do not invent a convention. For a legislature/parliament PEP
dataset, take the title, description and coverage.frequency patterns from the
/legislature-metadata skill; the rest of this checklist applies as written.
The .yml, then the crawler (entry_point, usually crawler.py) for scope facts:
what the source covers, what is deliberately skipped, which lookups are not plain type
lookups and what they do.
title — the doc's Title rules.summary — length and style per the doc's Summary rules.description — the doc's Description rules, including its keep-out list.coverage.frequency — the doc's house default for the dataset type.tags — present and plausible for list type and target countries.publisher — all subfields per the doc's Publisher section.data — url fetchable; format and lang per the doc's Source data section.# block: known failure modes, source quirks, recurring-warning runbooks.# comment above each non-type lookup: what it matches, why it exists.Only write down evidence: things observed in the code, the source data, issues.log,
git history, or stated by the user. Never speculate, and never delete existing comments
that still hold. Keep user-facing prose (description) and maintainer notes (comments)
strictly apart.
python -c "from pathlib import Path; from zavod.meta import load_dataset_from_path; d = load_dataset_from_path(Path('<yml path>')); print(d.name, '-', d.model.title)"Re-read the edited fields: every factual claim in title/description traces to the source or crawler, the summary length is in range, and no sourcing or mechanics language remains in the description.
© opensanctions, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/dataset-metadata of opensanctions/opensanctions.
Open the folder on GitHubat commit 4499adf
Dataset Metadata next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dataset Metadata this skillopensanctions/opensanctions | 831 | — | ~604 | Automated safety check: Notes | MIT | |
| Exploratory Data Analysisspacering-net/codeg | 3.8k | 15 repos | ~3.6k | Automated safety check: Pass | MIT | |
| MatplotlibzLanqing/codex-claude-academic-skills | 4.6k | 17 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Scikit LearnzLanqing/codex-claude-academic-skills | 4.6k | 17 repos | ~3.9k | Automated safety check: Pass | BSD-3-Clause | |
| Chart Visualizationbytedance/deer-flow | 83k | 2 repos | ~840 | Automated safety check: Pass | MIT | |
| TimesFM Forecastinggoogle-research/timesfm | 34k | — | ~4.7k | Automated safety check: Pass | Apache-2.0 |
spacering-net/codeg
Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.
zLanqing/codex-claude-academic-skills
Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.
zLanqing/codex-claude-academic-skills
Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
microsoft/ai-agents-for-beginners
A skill your agent uses when the user asks to create, scaffold, or edit Jupyter notebooks (.ipynb) for experiments, explorations, or tutorials; prefer the bundled templates and run the helper script…
opensanctions/opensanctions
Scaffold a new PEP (Politically Exposed Persons) crawler — members of a parliament, legislature, senate, chamber of deputies, cabinet, judiciary, or an asset-declaration register — from a source URL…
opensanctions/opensanctions
Move hardcoded lookup/config constants (gender maps, header dicts, value translations, column-label maps, date formats) out of a crawler and into the dataset .yml — as datapatch lookups wherever…
opensanctions/opensanctions
Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style.
opensanctions/opensanctions
Migrate ad-hoc name cleaning in a crawler to h.reviewnames (Step 1 of the name framework migration).
opensanctions/opensanctions
Rewrite messy or AI-generated crawler code into clean, production-ready style that follows the zavod best practices.
opensanctions/opensanctions
Release one or more datasets by adding them to a topical collection, bumping coverage.start, and verifying.
Categories
Bring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments). Dataset Metadata is an agent skill from opensanctions/opensanctions.yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments).
Dataset Metadata fits situations like: the user asks to fix; standardise a datasets metadata.
Run `npx skills add opensanctions/opensanctions --skill dataset-metadata -a claude-code`. Or copy the skill folder (.claude/skills/dataset-metadata in opensanctions/opensanctions) into .claude/skills/dataset-metadata in your project. Claude Code loads it when a task matches its description.
Run `npx skills add opensanctions/opensanctions --skill dataset-metadata -a codex`. Or copy the skill folder (.claude/skills/dataset-metadata in opensanctions/opensanctions) into .agents/skills/dataset-metadata in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add opensanctions/opensanctions --skill dataset-metadata -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dataset-metadata, .gemini/skills/dataset-metadata, .github/skills/dataset-metadata and .opencode/skills/dataset-metadata in your project.
Going by SKILL.md and its folder, Dataset Metadata needs the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Edit, Glob, Grep, Bash.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Dataset Metadata is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 604 tokens (SKILL.md is roughly 2.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dataset Metadata: Exploratory Data Analysis (spacering-net/codeg, 3.8k stars), Matplotlib (zLanqing/codex-claude-academic-skills, 4.6k stars), Scikit Learn (zLanqing/codex-claude-academic-skills, 4.6k stars) and Chart Visualization (bytedance/deer-flow, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
opensanctions (a GitHub organization) maintains it in opensanctions/opensanctions, which has 831 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.
Source: opensanctions/opensanctions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.