Skip to content

RFC-0008: Add icons as MLflow-managed presentation metadata - #45

Merged
mprahl merged 1 commit into
mlflow:mainfrom
jwm4:skill-icons
Sep 1, 2026
Merged

mprahl merged 1 commit into
mlflow:mainfrom
jwm4:skill-icons

Conversation

@jwm4

@jwm4 jwm4 commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What

Amends RFC-0008 to add an icons field to the Skill and AgentPlugin parent entities: a mutable, MLflow-managed list of icon descriptors, returned exactly as stored, settable through create_skill/update_skill and the agent plugin equivalents (not through register_skill, matching the existing parent-metadata rule). The RegistryIcon shape (src, optional sizes/mimeType/theme) deliberately matches RFC-0004's MCPIcon so UIs can share one icon renderer across the MCP, skill, and agent plugin registries. Schema impact is one nullable JSON column per parent table, no new indexes.

Why

The registry UI wants icons on skill and plugin cards, and neither upstream format can provide them: the Agent Skills frontmatter defines no icon field (its metadata map is string-to-string), and the Agent Plugins plugin.schema.json defines name/version/description/author/homepage/repository/license/keywords/extensions and nothing visual. So unlike RFC-0004, there is no payload fallback to specify: icons are purely MLflow-managed, and the UI shows its default glyph when unset. This follows the MCP Server Registry's mutable presentation-metadata pattern, minus the fallback half that has no equivalent here.

Deliberately not included: display_name. That field was dropped during the original review (see this thread) with the position that it can be added later if real user demand appears; none has, so it stays out.

Stacking note

This PR is stacked on #44, so two commits show until #44 merges; only Add icons as MLflow-managed presentation metadata is in scope here.

Authored by Bill Murdock with assistance from Claude Code.

🤖 Generated with Claude Code

…lugin

The UI needs icons on skill and plugin cards, and neither upstream
format can supply them: the Agent Skills frontmatter and the Agent
Plugins plugin.schema.json define no icon field. Icons are therefore
purely MLflow-managed parent-level presentation metadata, following
RFC-0004's MCP Server Registry pattern (a mutable icons list on the
parent entity, returned exactly as stored) minus its payload fallback,
which has no equivalent here; the UI shows a default glyph when unset.

The RegistryIcon shape (src, sizes, mimeType, theme) deliberately
matches RFC-0004's MCPIcon so UIs share one icon renderer across
registries. Icons ride the existing create/update surfaces
(create_skill, update_skill, and the agent plugin equivalents) and are
never settable through register_skill, matching the established
parent-metadata rule. Schema impact is one nullable JSON column per
parent table, with no new indexes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jwm4
jwm4 marked this pull request as ready for review September 1, 2026 21:35
@mprahl
mprahl merged commit 14b2fbe into mlflow:main Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants