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.

7 stars

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

$curl -o ~/.claude/skills/ro-crate-expert/SKILL.md --create-dirs "https://raw.githubusercontent.com/codata/croissant-toolkit/main/.gemini/skills/ro-crate-expert/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ro-crate-expert/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ro-crate-expert Compares

Feature / Agentro-crate-expertStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

7
from codata/croissant-toolkit

Orchestrator agent that has comprehensive knowledge and command over all available skills in this toolkit to create complex workflows.

neo4j_expert

7
from codata/croissant-toolkit

Store and query Croissant datasets in a Neo4j Graph Database for relational discovery and semantic search.

telegram_expert

7
from codata/croissant-toolkit

Send results and notifications to Telegram channels or users.

📊 Presentation Expert Skill

7
from codata/croissant-toolkit

The **Presentation Expert** is responsible for transforming complex research data, metadata, and insights into high-impact presentation decks.

obsidian_expert

7
from codata/croissant-toolkit

Convert Croissant datasets into structured Obsidian Markdown notes with frontmatter and semantic tags.

nlp_expert

7
from codata/croissant-toolkit

Extract named entities (persons, organizations, dates, locations) from text and provide them in structured JSON-LD format.

croissant_expert

7
from codata/croissant-toolkit

Specialized in the MLCommons Croissant metadata specification. Can generate, validate, and serialize dataset metadata into compliant JSON-LD.

walker

7
from codata/croissant-toolkit

Deep crawl functionality that extracts and visits internal links from a webpage.

youtuber

7
from codata/croissant-toolkit

Search for videos on YouTube based on specific keywords. Get list of videos with title, description, and URL.

wizard

7
from codata/croissant-toolkit

The ultimate data integrator. Orchestrates transcription, translation, NLP analysis, and Croissant serialization into a single automated pipeline.

unf

7
from codata/croissant-toolkit

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

7
from codata/croissant-toolkit

Recognize the language of input content or video scripts and translate them precisely into English using Gemini 3.