Claude Code plugin for publishing materials science datasets to the Materials Data Facility (MDF).
MDF Skill simplifies dataset publishing to MDF with:
- Single command workflow -
/mdfhandles everything from setup to script generation - Automatic metadata extraction from DOIs and PDFs
- Multiple data sources - Local, remote Globus endpoints, HTTPS URLs
- Dataset validation before publishing
- Context-efficient design - Modular skills load only when needed
/mdf
That's it. The command guides you through:
- Environment check
- Metadata collection (manual, DOI, or PDF)
- Data source configuration
- Script generation
Then run: python publish_to_mdf.py
mdf-skill/
├── commands/
│ └── mdf.md # Single entry point
├── skills/
│ ├── mdf-overview/ # General MDF introduction
│ ├── mdf-metadata-extraction/ # DOI/PDF extraction
│ ├── mdf-data-sources/ # Data source configuration
│ └── mdf-api/ # API reference
├── agents/
│ └── dataset-validator.md
├── examples/
│ └── example-publishing-script.py
├── scripts/
│ ├── check-environment.sh
│ └── validate-metadata.py
└── references/
└── troubleshooting.md
- Python 3.5+ with virtual environment
- Packages:
pip install mdf_connect_client globus-sdk - Globus Connect Personal (for local data uploads)
- MDF Group membership: Join "MDF Connect Convert" at https://app.globus.org/groups
/mdf - Interactive publishing workflow
- Validates environment automatically
- Extracts metadata from DOIs or PDFs
- Supports local, remote, and HTTPS data sources
- Generates ready-to-run Python script
| Skill | Triggers on |
|---|---|
| mdf-overview | "what is MDF", "how do I publish" |
| mdf-metadata-extraction | DOI/PDF extraction questions |
| mdf-data-sources | Globus endpoint, data location questions |
| mdf-api | API reference, method questions |
dataset-validator - Validates dataset structure before publishing
- Checks for sensitive files
- Validates file organization
- Ensures metadata completeness
| Type | Best For | Example |
|---|---|---|
| Local | < 10GB datasets | /Users/me/data |
| Remote Globus | Large/HPC data | alcf#eagle:/proj/data |
| HTTPS | Already-hosted | https://zenodo.org/record/123 |
Store defaults in .claude/mdf-skill.local.md:
---
author:
name: "Your Name"
affiliation: "Your Institution"
organization: "MDF Open"
---# From local directory
claude --plugin-dir /path/to/mdf-skill
# Or add to .claude/settings.jsonMIT