Skip to content

RFC-0008: MVP Skill Registry (Phase 1)#26

Draft
jwm4 wants to merge 6 commits into
mlflow:mainfrom
jwm4:mvp-skill-registry
Draft

RFC-0008: MVP Skill Registry (Phase 1)#26
jwm4 wants to merge 6 commits into
mlflow:mainfrom
jwm4:mvp-skill-registry

Conversation

@jwm4

@jwm4 jwm4 commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Add a Skill Registry to MLflow: a governed, metadata-first registry for AI agent skills.

This is a restructured Phase 1 of the work originally proposed in PR #10, narrowed per Slack discussion with Databricks maintainers to focus on skills and skill bundles only.

  • Skills: SKILL.md directories with versioning, lifecycle, aliases, tags
  • Skill bundles: versioned collections grouping related skills
  • Pull semantics: harness-agnostic content fetch from Git, OCI, ZIP, MLflow artifact storage
  • Package manager integration: delegates harness-specific installation to APM, Lola, or other plugins
  • Trace integration: mlflow.skill_context() creates SKILL spans with registry coordinates

Phase 2 (RFC-0009, separate PR) will extend bundles with subagents, hooks, and MCP server references.

Changes from PR #10

  • Removed subagent and hook entity types (deferred to Phase 2)
  • Skill bundles contain only skills (no MCP server cross-references)
  • Replaced custom harness adapters with package manager plugin interface
  • Removed import command and lock file format
  • Aligned with RFC-0004 (MCP Registry) patterns throughout
  • All design decisions from the PR RFC-0008 and RFC-0009: Skill Registry and Harness Integration #10 review are preserved

Files

  • rfcs/0008-mvp-skill-registry/0008-mvp-skill-registry.md: Main RFC
  • rfcs/0008-mvp-skill-registry/implementation-details.md: DB schema, store interface, REST API, SDK, CLI, package manager plugin interface

Test plan

Posted by Bill Murdock with assistance from Claude Code.

jwm4 and others added 6 commits July 14, 2026 12:37
Metadata-first registry for AI agent skills with versioning,
lifecycle management, trace integration, and package manager
plugin interface.

Phase 1 covers skills and skill bundles (skills-only). Phase 2
(RFC-0009, separate PR) will extend bundles with subagents, hooks,
and MCP server references.

Replaces the closed PR mlflow#10 with a phased approach per Slack
discussion with Databricks maintainers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Accept changes from Codex review: SDK namespace to mlflow.genai.*,
plugin import section, automatic harness instrumentation, install
via package manager. Trim auto instrumentation to essentials. Remove
register_skill idempotency and align with MCP Server Registry
behavior (fail if version exists), citing register_mcp_server() in
mlflow/mlflow#23696 as rationale.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fill in rfc_pr link, fix "The two entity types:" grammar, replace
all RFC-0009 references with "follow-up RFC", and change non-skill
member lists to examples (e.g., subagents, MCP server references)
since the set may change before that RFC is written.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ntics

Resolve both open investigation items: harness argument is now required
on install commands, reproducibility depends on the package manager
plugin (APM has full lockfile, Lola has version constraints). Drop
Phase 3 from adoption strategy. Add agentskills.io citation. Clarify
that bundles can contain non-skill content which is pulled and installed
but does not receive individual registry entries in Phase 1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add missing --harness claude-code to both install-bundle examples.
Fix Phase 2 phrasing to say "add registry entries for" instead of
"extend bundles to include" non-skill members.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add mlflow-skills.lock resolution lock for reproducible cross-machine
installation. Package manager plugin interface now returns
PackageManagerInstallResult with harness-local skill names so trace
manifests are accurate even when plugins rename skills. Monolithic
bundle install passes bundle_path to the plugin so non-skill content
is installed as a unit. Fix span annotation from "registry" to
"workspace" and "skipped" to "unregistered" wording.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant