ro-crate-expert
Specialized in creating RO-Crate packages from Dataverse metadata, with integrated ODRL-based DID (Decentralized Identifier) attribution and provenance via the ro-crate-py library.
Best use case
ro-crate-expert is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Specialized in creating RO-Crate packages from Dataverse metadata, with integrated ODRL-based DID (Decentralized Identifier) attribution and provenance via the ro-crate-py library.
Teams using ro-crate-expert should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ro-crate-expert/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ro-crate-expert Compares
| Feature / Agent | ro-crate-expert | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Specialized in creating RO-Crate packages from Dataverse metadata, with integrated ODRL-based DID (Decentralized Identifier) attribution and provenance via the ro-crate-py library.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# RO-Crate Expert Skill
The **RO-Crate Expert** skill bridges Dataverse Research Repositories with the **RO-Crate** standard, utilizing the **ODRL Expert** for decentralized identity and the [RO-Crate 1.1 Specification](https://www.researchobject.org/ro-crate/1.1/) for data packaging.
## 🌟 Key Features
1. **Dataverse Integration**: Pull Schema.org and OAI_ORE metadata from Dataverse using persistent IDs (DOIs).
2. **DID Attribution**: Generate a unique OOYDID (via ODRL) for the dataset, ensuring its identity is globally resolvable.
3. **Automated File Downloads**: Discover dataset files via OAI_ORE and download them directly into the RO-Crate package.
4. **RO-Crate Packaging**: Convert metadata and downloaded files into the standard RO-Crate format using the `rocrate-py` library.
5. **Provenance (PROV)**: Embed the DID of the asset in the `prov:wasAttributedTo` field for cryptographically verified source identification.
6. **Digital DID Documents**: Create the "digitally signed file" (DID Package) containing the DID's public and private keys, resolvable to JSON in the universal resolver.
## 🛠️ Setup
Before using the skill, ensure the `rocrate` library is installed. This project includes a local copy of `ro-crate-py`:
```bash
pip install -e ro-crate-py
```
## 🛠️ Usage
### Generate an RO-Crate from Dataverse
Uses the Dataverse API to fetch metadata, creates a new DID for the crate, and packages the result using the `rocrate-py` library.
```bash
python3 .gemini/skills/ro-crate-expert/scripts/create_crate.py "https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/TTSEXH" --zip
```
### Inspect Crate for Provenance
Reads a ZIP package, extracts the asset's DID, and resolves its full provenance information via the ODRL expert.
```bash
python3 .gemini/skills/ro-crate-expert/scripts/inspect_crate.py "data/rocrate_${DID}.zip"
```
### Encrypt Crate (Privacy at Rest)
Encrypts an RO-Crate ZIP using the master private key of your ODRL wallet. This follows the TRIZ principle of **Extraction** (locking data with a separate key).
```bash
python3 .gemini/skills/ro-crate-expert/scripts/encrypt_crate.py "data/rocrate_${DID}.zip"
```
### Decrypt Crate
Unlocks an encrypted RO-Crate using the owner's private key.
```bash
python3 .gemini/skills/ro-crate-expert/scripts/decrypt_crate.py "data/encrypted_rocrate_${DID}.zip"
```
### Resulting Artifacts
- **`ro-crate-metadata.json`**: The core RO-Crate metadata generated via `rocrate-py`.
- **`did_signature.json`**: The "digitally signed file" (DID Package) comprising the asset's decentralized identity credentials.
- **`data/rocrate_${DID}.zip`**: A compressed package containing all files and metadata, named after the generated DID.
- **`data/rocrate_output/`**: The directory containing all research object components.
## 🔒 Security Architecture
Identity management is handled nativesly by the **ODRL Expert**. The resulting package includes an OOYDID that can be resolved via the [Universal Resolver](https://odrl.dev.codata.org/api/did/resolve/).
---
**Repository**: [ResearchObject/ro-crate-py](https://github.com/ResearchObject/ro-crate-py)Related Skills
orchestrator_expert
Orchestrator agent that has comprehensive knowledge and command over all available skills in this toolkit to create complex workflows.
neo4j_expert
Store and query Croissant datasets in a Neo4j Graph Database for relational discovery and semantic search.
telegram_expert
Send results and notifications to Telegram channels or users.
📊 Presentation Expert Skill
The **Presentation Expert** is responsible for transforming complex research data, metadata, and insights into high-impact presentation decks.
obsidian_expert
Convert Croissant datasets into structured Obsidian Markdown notes with frontmatter and semantic tags.
nlp_expert
Extract named entities (persons, organizations, dates, locations) from text and provide them in structured JSON-LD format.
croissant_expert
Specialized in the MLCommons Croissant metadata specification. Can generate, validate, and serialize dataset metadata into compliant JSON-LD.
walker
Deep crawl functionality that extracts and visits internal links from a webpage.
youtuber
Search for videos on YouTube based on specific keywords. Get list of videos with title, description, and URL.
wizard
The ultimate data integrator. Orchestrates transcription, translation, NLP analysis, and Croissant serialization into a single automated pipeline.
unf
Universal Numeric Fingerprint (UNF) generator. For strings, it splits into words and sorts them alphabetically to provide order-invariant fingerprints. Supports dataframes and files too.
translator
Recognize the language of input content or video scripts and translate them precisely into English using Gemini 3.