Proof of Concept — This skill is an experiment in using AI to streamline daily routines when working with music industry data. Instead of switching to web validators or remembering CLI flags, you validate DDEX files from the same conversation where you're already working. It's a small example of a bigger idea: embedding domain expertise directly into AI workflows so that repetitive data checks happen automatically, not manually.
A Claude skill that validates DDEX ERN (Electronic Release Notification) XML files against official schemas — catching music metadata errors before they reach distributors.
Music labels and distributors deal with DDEX XML files daily. Every release submission requires valid metadata — ISRCs, UPCs, territory codes, contributor roles, deal terms. Getting it wrong means rejected deliveries and delayed releases.
The validation itself is well-defined and mechanical: parse XML, check against a schema, verify field formats. That makes it a perfect candidate for an AI skill — let the machine handle the tedious checks while you focus on the music.
This proof of concept explores how Claude skills can turn domain knowledge (DDEX standards, distributor requirements, common pitfalls) into reusable, on-demand expertise that activates right when you need it.
Paste or upload a DDEX ERN XML file and get instant validation with actionable error messages:
- Schema validation against official DDEX XSD schemas (ERN 3.8.2, 4.1.1+)
- Music industry checks — ISRC format, UPC/EAN digits, territory codes, required fields
- Fix suggestions — every error comes with a specific, copy-pasteable fix
- Structural summary — release count, recordings, territories, sender/recipient info
# Clone into your skills directory
git clone https://github.com/musictechlab/ddex-validate.git ~/.claude/skills/ddex-validateThen in Claude Code:
> Validate this DDEX file: /path/to/release.xml
- Download this repo as a ZIP
- Go to Settings > Capabilities > Skills
- Upload the ZIP
- Toggle on the ddex-validate skill
Copy the skill folder to your Claude Code skills directory:
cp -r ddex-validate/ ~/.claude/skills/ddex-validate/The skill activates automatically when you mention DDEX, ERN, release metadata validation, or upload an XML file. You can also trigger it explicitly:
Validate this DDEX ERN XML against the 3.8.2 schema:
<paste XML here>
Check my release metadata for errors: /path/to/ern-release.xml
Is this DDEX file valid for distribution?
Valid file:
DDEX ERN 382 — Valid
Summary:
- Releases: 1
- Sound Recordings: 1
- Images: 1
- Territory: Worldwide
- Message Type: TestMessage
- Sender: Sample Music Corp
- Recipient(s): Music Distribution Corp
File with errors:
DDEX ERN 382 — 2 error(s) found
| # | Line | Error | Suggested Fix |
|---|------|------------------------------------|----------------------------------------|
| 1 | 36 | Element 'ISRC': '' is not valid | Add 12-char ISRC: CCXXXYYNNNNN |
| 2 | 45 | Missing element 'TerritoryCode' | Add <TerritoryCode>Worldwide</…> |
| ERN Version | Schema URL | Status |
|---|---|---|
| 3.8.2 | service.ddex.net/xml/ern/382/ |
Fully supported |
| 4.1.1 | service.ddex.net/xml/ern/411/ |
Fully supported |
| 4.3 | service.ddex.net/xml/ern/43/ |
Supported |
The skill auto-detects the version from the XML namespace. If detection fails, it asks which version to use.
ddex-validate/
├── SKILL.md # Core instructions (YAML frontmatter + Markdown)
├── references/
│ └── ern-structure.md # ERN element hierarchy and field formats
├── assets/
│ └── ern382-sample.xml # Example ERN 3.8.2 file for testing
└── README.md # This file (for humans on GitHub)
DDEX (Digital Data Exchange) is the music industry standard for exchanging metadata between labels, distributors, and digital service providers (DSPs) like Spotify, Apple Music, and Amazon Music.
ERN (Electronic Release Notification) is the most common DDEX message type — it describes a music release including tracks, artwork, contributors, territory rights, and commercial terms.
Getting ERN metadata wrong means your release gets rejected by the distributor or DSP, delaying your release date. This skill catches those errors before submission.
This is a proof of concept — the first step in exploring how AI skills can fit into music data workflows. Some ideas we're considering:
- Batch validation — process a directory of ERN files before a bulk delivery
- Auto-fix mode — instead of just reporting errors, rewrite the XML with fixes applied
- DSRF support — extend to Digital Sales Report Format (flat file) validation
- MCP integration — connect to distributor APIs to validate and submit in one workflow
- Royalty data checks — apply the same pattern to streaming reports and financial data
If you work with music metadata and have ideas for what an AI-powered validation workflow should look like, we'd love to hear from you.
Issues and PRs welcome. If you work with DDEX and encounter validation edge cases, please open an issue with a (sanitized) XML sample.
MIT
Built by Music Tech Lab — tools for the music industry.