Skip to content

Proposal: Update urn:air schema to prefix air-type before publisher #59

Description

@mindpower

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:

  1. 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).
  2. 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.
  3. 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.
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions