Background
Currently, the ai-catalog specification recommends the following standard naming format for identifiers:
urn:air:{publisher}:{namespace}:{name}
(Example: urn:air:example.com:skill:code-review)
Based on feedback received from early adopters and partners in the ecosystem and architectural reviews, we are proposing an update to this schema to move the high-level artifact type (the air-type) to the front, immediately following the urn:air prefix.
The Proposal
Update the standard URN format to:
urn:air:{air-type}:{publisher}:{name}
Examples:
-
Before: urn:air:example.com:skill:code-review
-
After: urn:air:skill:example.com:code-review
-
Before: urn:air:example.com:mcp:weather
-
After: urn:air:mcp:example.com:weather
-
Before: urn:air:example.com:weather-service
-
After: urn:air:agent:example.com:weather-service
Why this is an improvement:
- Zero-Lookup Typing (Instant Recognition): Clients and parsers can immediately determine the broad class of the artifact (e.g.,
skill, mcp, agent) just by looking at the first segment of the URN. They do not need to parse the entire JSON entry to check the verbose type field (like application/mcp-server-card+json).
- Type Consolidation: For artifacts like "skills", there are multiple distinct media types (e.g.,
+json, +zip, +gzip, +md). Moving the type into the identifier allows us to use a single, simplified skill token in the URN, which greatly simplifies downstream grouping and logic.
- High-Performance Prefix Routing: Registries, discovery services, and routing layers can filter and route artifacts instantly using simple string prefix matching (e.g.,
urn:air:skill:* or urn:air:mcp:*) before doing any publisher-level filtering.
- Customer Demand: We have seen strong customer requests for this format as it maps much cleaner to their internal artifact management and discovery workflows.
Next Steps
If there are no objections to the new routing benefits, I can draft a PR to update the spec to reflect this new naming format.
Background
Currently, the
ai-catalogspecification recommends the following standard naming format for identifiers:urn:air:{publisher}:{namespace}:{name}(Example:
urn:air:example.com:skill:code-review)Based on feedback received from early adopters and partners in the ecosystem and architectural reviews, we are proposing an update to this schema to move the high-level artifact type (the
air-type) to the front, immediately following theurn:airprefix.The Proposal
Update the standard URN format to:
urn:air:{air-type}:{publisher}:{name}Examples:
Before:
urn:air:example.com:skill:code-reviewAfter:
urn:air:skill:example.com:code-reviewBefore:
urn:air:example.com:mcp:weatherAfter:
urn:air:mcp:example.com:weatherBefore:
urn:air:example.com:weather-serviceAfter:
urn:air:agent:example.com:weather-serviceWhy this is an improvement:
skill,mcp,agent) just by looking at the first segment of the URN. They do not need to parse the entire JSON entry to check the verbosetypefield (likeapplication/mcp-server-card+json).+json,+zip,+gzip,+md). Moving the type into the identifier allows us to use a single, simplifiedskilltoken in the URN, which greatly simplifies downstream grouping and logic.urn:air:skill:*orurn:air:mcp:*) before doing any publisher-level filtering.Next Steps
If there are no objections to the new routing benefits, I can draft a PR to update the spec to reflect this new naming format.