Claude Skills for curating new datasets for VEuPathDB resources with AI assistance by Claude Code.
Volta manages Node.js versions:
curl https://get.volta.sh | bashvolta install nodevolta install @anthropic-ai/claude-codeNote: The first time you run claude, you'll need to complete a one-time account linking and login process.
If you don't already have it, download from desktop.github.com
Start Claude Code with claude from any directory. However, it's a good idea to make a dedicated directory to do Claude-based curation work and run claude from inside that directory. (See "Starting a Curation Session" below.)
-
Add the VEuPathDB marketplace to Claude Code:
/plugin marketplace add VEuPathDB/dataset-curatorIt will do some installation work and should hopefully report back "Successfully added marketplace: dataset-curator".
-
Install the curation-skills plugin:
Re-enter the plugin management interface (still in Claude Code)
/plugin- Choose Option 1
- Use
Spaceto select thecuration-skillsplugin - Press
ito install - Restart Claude Code (
/exitthen runclaudeagain) to load the skills
That's it for setup! You're ready to start curating.
Note on VEuPathDB Repositories: Skills need access to one or more VEuPathDB configuration repositories (e.g. ApiCommonDatasets, ApiCommonPresenters, EbrcModelCommon). If you already have these cloned via GitHub Desktop, you'll create a symlink to them from your curation workspace directory. If not, the skill will guide you through setting them up when you first run it.
-
Create a curation workspace directory for your curation sessions:
mkdir ~/my-curation-workspace cd ~/my-curation-workspace
You can create different workspace directories for different datasets, or reuse the same one.
-
Set up a link to your GitHub repositories in your curation workspace directory:
ln -s ~/Documents/GitHub veupathdb-reposThis links to your GitHub Desktop repositories so changes appear in your actual clones. Claude Code will edit files in these repositories, but you will manage branching, committing, pulling and pushing using the GitHub Desktop GUI.
-
Start Claude Code:
claude
-
Tell Claude what you want to do:
I want to curate a new genome assembly
Claude will activate the appropriate skill and guide you through the workflow.
Important: Follow the git branching guidelines before starting. Create dataset-specific branches in your repositories using GitHub Desktop.
- Claude Code handles: Fetching NCBI data, processing metadata, generating XML configurations, updating files
- You handle: Git operations (branches, commits, pull requests) via GitHub Desktop or command line
This separation ensures you maintain full control of your git history and can easily review or rollback changes.
Claude Code is under active development with frequent updates and improvements. Although Claude Code displays "Auto-updating..." on startup, this mechanism doesn't work reliably when installed via Volta.
Recommended: Manually update Claude Code weekly by rerunning the installation command:
volta install @anthropic-ai/claude-codeThis ensures you have the latest features, bug fixes, and improvements.
As we improve and fix bugs in the curation skills, you'll want to update to the latest version:
-
Check for updates using the plugin management UI:
/plugin- Select
2. Manage and uninstall plugins - Select
dataset-curatormarketplace - Select
curation-skillsplugin (<Enter>for details) - Choose
Update nowif an update is available
- Select
-
Restart Claude Code sessions: Close any active
claudesessions and start fresh. Skills are loaded when Claude Code starts.
Important: Don't update skills in the middle of a curation session. Complete your current workflow, commit your changes, then update skills before starting a new dataset.
- curate-genome-assembly: Process genome assembly datasets - fetch NCBI metadata, generate organism XML, update ApiCommonDatasets configurations
- curate-bulk-rnaseq: Process bulk RNA-seq datasets - fetch SRA/GEO metadata, analyze sample factors, generate presenter XML and pipeline configurations
This repository is a Claude Skills development environment. Skills are developed directly in the skills/ directory and distributed via git.
-
Clone the repository:
git clone https://github.com/VEuPathDB/dataset-curator.git cd dataset-curator -
Install Node.js dependencies:
yarn install
Volta automatically manages the correct yarn version for this project.
-
Symlink skills for testing in Claude Code:
mkdir -p ~/.claude/skills cd ~/.claude/skills ln -s /path/to/dataset-curator/skills/* .
This allows you to test skill changes when you run
claude.Important: After editing skill files (especially
SKILL.md), you must fully restart Claude Code with/exitthenclaudeto reload them. The/resetcommand only clears conversation context - it does not reload skills from disk. -
Read the development guide:
- Development Guidelines - Skill development standards and architecture
- CLAUDE.md - Instructions for Claude Code (also useful reference for understanding workflows)
-
Use
/dev-modecommand: When developing skills, run/dev-modein Claude Code to load development context
When publishing new versions for users to install:
-
Update the version in
.claude-plugin/plugin.json:{ "name": "curation-skills", "version": "1.0.2", // Increment this manually ... } -
Commit and push changes to the default branch
-
Users get updates: Claude Code's plugin system pulls updates from the default branch. Users will see the new version available through
/plugin→Manage and uninstall plugins→Update now
Note: The plugin system currently doesn't use git tags - it only tracks the version number in plugin.json and pulls from the default branch.
dataset-curator/
├── skills/ # Claude Skills (develop AND distribute from here)
│ └── curate-genome-assembly/ # Genome assembly curation skill
├── shared/ # Canonical source for shared files
│ ├── scripts/ # Common scripts synced into skills
│ └── resources/ # Common resources synced into skills
├── bin/
│ └── sync-shared.js # Copies shared files into skills
├── docs/ # Development documentation
└── veupathdb-repos/ # Local checkouts (gitignored)
- Edit skills in
skills/or shared files inshared/ - Run
yarn sync-sharedto distribute shared files (or commit - git hook does it automatically) - Test skills by running
claudein this directory - Commit changes when ready
See docs/development.md for detailed guidelines on:
- Creating new skills
- Writing zero-dependency scripts
- Progressive disclosure patterns
- Testing and distribution
Skills must:
- Have zero npm dependencies (use Node.js standard library only)
- Inline templates as JavaScript template literals
- Follow progressive disclosure (concise SKILL.md, detailed resources/)
- Be self-contained and portable
Run yarn sync-shared before committing to ensure shared files are synchronized.
This repository follows a zero-dependency approach for runtime skills:
- Skills: No npm dependencies - Node.js standard library only
- Repository tooling: Minimal dev dependencies (currently only
huskyfor git hooks) - Supply chain security: The absence of dependencies IS the security strategy
- Dependency changes: The pre-commit hook warns when
yarn.lockchanges - review carefully
This approach eliminates supply chain attack vectors while keeping skills portable and easy to audit.