Register, version, and manage ML models in the OpenShift AI Model Registry. Browse the Model Catalog, track model metadata, and promote models across environments. Use when: - "Register a new model in the registry" - "List registered models" - "What versions exist for my model?" - "Promote a model from dev to production" - "Show model artifacts and storage URIs" Handles model registration, versioning, metadata management, artifact tracking, and cross-environment promotion. NOT for deploying models (use /model-deploy). NOT for model performance monitoring (use /ai-observability).
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Register, version, and manage ML models in the Red Hat OpenShift AI Model Registry. Supports browsing the Model Catalog, listing registered models with versions and artifacts, registering new models, creating model versions with storage URIs, promoting models across environments (dev -> staging -> prod), and deploying registered model versions via /model-deploy.
Required MCP Server: openshift (OpenShift MCP Server)
Required MCP Tools (from openshift):
resources_create_or_update (from openshift) - Create RegisteredModel, ModelVersion, and ModelArtifact resourcesresources_get (from openshift) - Inspect Model Registry instance and CRsresources_list (from openshift) - List Model Registry instances and resourcesPreferred MCP Server: rhoai (RHOAI MCP Server) — used when available, automatic OpenShift fallback on failure
Preferred MCP Tools (from rhoai):
list_registered_models - List registered models with pagination, auto-detects Registry vs Catalogget_registered_model - Get model details by ID, optionally with all versionslist_model_versions - List versions of a registered model with paginationget_model_version - Get specific version details (state, author, custom properties)get_model_artifacts - Get artifacts (storage URIs) for a model versionget_model_benchmarks - Get benchmark data (latency, throughput, GPU memory)get_catalog_model_artifacts - Get artifacts from Model Catalog entrieslist_data_science_projects - Validate namespace is an RHOAI Data Science Projectlist_data_connections - Verify S3 data connections exist in target namespace (for promotion)Common prerequisites (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See skill-conventions.md.
Fallback templates: See openshift-fallback-templates.md for OpenShift YAML templates used when RHOAI tools are unavailable.
Important: Model Registry RHOAI tools may fail with DNS/connection errors because the RHOAI MCP server runs outside the cluster and cannot resolve internal service DNS names. If this happens:
resources_list (from openshift) Routes in the model registry namespaceoc port-forward svc/modelregistry-sample 8085:8085 -n rhoai-model-registriesresources_create_or_update / resources_get / resources_list via OpenShift MCP for RegisteredModel, ModelVersion, and ModelArtifact CRsAdditional cluster requirements:
Use this skill when you need to:
/model-deploy)Do NOT use this skill when:
/model-deploy)/ai-observability)/ds-project-setup)/debug-inference)Ask the user what they want to do: Browse catalog, List models, View details/versions, Register model, Create version, Promote across envs, Deploy from registry.
Ask for the target namespace (required except for catalog browsing). Validate via list_data_science_projects (from rhoai). If invalid, suggest /ds-project-setup.
If rhoai unavailable or returns error: Use resources_list (from openshift) with apiVersion: v1, kind: Namespace, labelSelector: opendatahub.io/dashboard=true to validate namespace is a Data Science Project.
Route: Browse/List -> Step 2, View -> Step 3, Register -> Step 4, Version -> Step 5, Promote -> Step 6, Deploy -> Step 7.
For catalog browsing, use resources_list (from openshift) with the appropriate catalog source CRD to show available sources.
MCP Tool: list_registered_models (from rhoai)
Parameters:
source_label: catalog source filter (e.g., "Red Hat AI validated") - OPTIONAL (Model Catalog only)limit: number of models to return - OPTIONALverbosity: "standard" or "minimal" - OPTIONALIf rhoai unavailable or returns error: Use resources_list (from openshift) with apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: RegisteredModel.
For catalog model artifacts, use get_catalog_model_artifacts (from rhoai) with model_name (REQUIRED).
Error Handling:
Use get_registered_model (from rhoai) with model_id and include_versions=true to get model details with version summary.
If rhoai unavailable or returns error: Use resources_get (from openshift) with apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: RegisteredModel, name: [name], namespace: [namespace].
For version listing, use list_model_versions (from rhoai) with model_id (REQUIRED).
If rhoai unavailable or returns error: Use resources_list (from openshift) with apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: ModelVersion.
For specific version details: get_model_version (from rhoai) with version_id (REQUIRED).
For artifacts (storage URIs): get_model_artifacts (from rhoai) with version_id (REQUIRED).
For benchmarks (optional): get_model_benchmarks (from rhoai) with model_name (REQUIRED), optionally version_name and gpu_type filter.
Gather from user: model name, description, owner, and optional custom properties (framework, task type, metadata key-value pairs).
Present configuration for review. WAIT for user confirmation.
Check for Model Registry instance via resources_list (from openshift):
Parameters:
apiVersion: "modelregistry.opendatahub.io/v1alpha1" - REQUIREDkind: "ModelRegistry" - REQUIREDCreate the registered model via resources_create_or_update (from openshift):
Parameters:
resource: RegisteredModel CR (apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: RegisteredModel) with spec.name, spec.description, spec.owner, spec.customProperties - REQUIREDError Handling:
Gather from user: parent model (name or ID), version name, description, storage URI (s3://, pvc://, or hf://), model format (pytorch, onnx, safetensors), and optional custom properties.
Resolve parent model ID via list_registered_models (from rhoai) if user provided a name.
Present configuration for review. WAIT for user confirmation.
Create model version via resources_create_or_update (from openshift):
Parameters:
resource: ModelVersion CR (apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: ModelVersion) with spec.registeredModelId, spec.name, spec.description, spec.customProperties - REQUIREDCreate model artifact (linked to version) via resources_create_or_update (from openshift):
Parameters:
resource: ModelArtifact CR (apiVersion: modelregistry.opendatahub.io/v1alpha1, kind: ModelArtifact) with spec.modelVersionId, spec.uri, spec.modelFormatName - REQUIREDError Handling:
Gather from user: source model (name/ID), source version (default: latest), source namespace, target namespace.
Validate both namespaces via list_data_science_projects (from rhoai).
Read source model details using get_registered_model, get_model_version, and get_model_artifacts (all from rhoai).
Check target namespace has a Model Registry via resources_list (from openshift) with apiVersion modelregistry.opendatahub.io/v1alpha1, kind ModelRegistry.
IMPORTANT: If the storage URI uses PVC storage local to the source namespace, warn the user it will not be accessible from the target. Recommend S3 for cross-namespace promotion.
Present promotion summary (source, target, storage URI, format, metadata). WAIT for user confirmation.
Execute promotion by registering model and version in the target namespace using Steps 4 and 5 procedures.
Offer next steps: /model-deploy to deploy the promoted model.
Error Handling:
/ds-project-setupIf model/version not already identified, use list_registered_models and list_model_versions (from rhoai) for user selection.
Extract storage URI and format from get_model_artifacts (from rhoai) with version_id (REQUIRED).
Delegate to /model-deploy with the extracted storage URI and model format.
Cause: Model Registry operator not installed or no ModelRegistry instance created.
Solution: Check via resources_list (from openshift) for ModelRegistry CRs. If missing, install via OperatorHub.
Error: RHOAI MCP tools for model registry return connection errors or 404
Cause: The RHOAI MCP server runs outside the cluster and cannot resolve cluster-internal DNS. External routes may also be behind an OAuth proxy.
Solution: See common-issues.md for port-forwarding and Route-based solutions.
Cause: PVC-based storage is namespace-local; S3 credentials may not exist in the target namespace.
Solution: For S3, verify data connection exists in target namespace via list_data_connections. For PVCs, recommend migrating to S3 for cross-namespace portability.
See Prerequisites for the complete list of required MCP tools.
/model-deploy - Deploy a registered model version for inference/ds-project-setup - Create a Data Science Project with Model Registry access/ai-observability - Monitor deployed model performance and benchmarks/debug-inference - Troubleshoot deployed model issues/pipeline-manage - Automate model training and registration pipelinesSee skill-conventions.md for general HITL and security conventions.
Skill-specific checkpoints:
User: "Register a new model called sentiment-analyzer and create version v1.0 with weights stored at s3://ml-models/sentiment/v1"
Skill response: Gathers metadata, presents registration table for confirmation, creates RegisteredModel CR, then gathers version details, presents version config for confirmation, creates ModelVersion and ModelArtifact CRs, reports success.
e46c4fa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.