From 97504dcb2870011dd16ff8fc503858a6b9502ede Mon Sep 17 00:00:00 2001 From: Daniele Martinoli Date: Wed, 8 Jul 2026 16:45:08 +0200 Subject: [PATCH 1/2] Update SKILL.md files to clarify script directory paths and remove unnecessary links. Add new references for common issues and live document lookups across various skills. Ensure consistency in documentation for prerequisites and fallback templates. Signed-off-by: Daniele Martinoli --- ocp-admin/skills/cluster-creator/SKILL.md | 4 ++-- ocp-admin/skills/cluster-inventory/SKILL.md | 6 ++--- ocp-admin/skills/cluster-report/SKILL.md | 16 ++++++------- .../cluster-report/scripts/aggregate.py | 1 + .../skills/cluster-report/scripts/assemble.py | 1 + .../scripts/build-kubeconfig.py | 1 + .../skills/container-cve-validator/SKILL.md | 4 ++-- .../scripts/download_sbom.py | 1 + .../scripts/fetch_coreos_metadata.py | 1 + .../scripts/fetch_cve_metadata.py | 1 + .../scripts/fetch_redhat_vex.py | 1 + .../scripts/fetch_rhsa_advisory.py | 1 + .../scripts/generate_sbom_syft.py | 1 + .../scripts/inspect_image.py | 1 + .../scripts/scan_newer_images.py | 1 + .../scripts/validate_input.py | 1 + .../skills/coreos-cve-validator/SKILL.md | 4 ++-- .../scripts/download_sbom.py | 1 + .../scripts/fetch_coreos_metadata.py | 1 + .../scripts/fetch_cve_metadata.py | 1 + .../scripts/fetch_redhat_vex.py | 1 + .../scripts/fetch_rhsa_advisory.py | 1 + .../scripts/generate_sbom_syft.py | 1 + .../scripts/inspect_image.py | 1 + .../scripts/scan_newer_images.py | 1 + .../scripts/validate_input.py | 1 + ocp-admin/skills/cve-recon/SKILL.md | 4 ++-- .../skills/cve-recon/scripts/download_sbom.py | 1 + .../scripts/fetch_coreos_metadata.py | 1 + .../cve-recon/scripts/fetch_cve_metadata.py | 1 + .../cve-recon/scripts/fetch_redhat_vex.py | 1 + .../cve-recon/scripts/fetch_rhsa_advisory.py | 1 + .../cve-recon/scripts/generate_sbom_syft.py | 1 + .../skills/cve-recon/scripts/inspect_image.py | 1 + .../cve-recon/scripts/scan_newer_images.py | 1 + .../cve-recon/scripts/validate_input.py | 1 + ocp-admin/skills/image-inspect/SKILL.md | 2 +- .../image-inspect/scripts/download_sbom.py | 1 + .../scripts/fetch_coreos_metadata.py | 1 + .../scripts/fetch_cve_metadata.py | 1 + .../image-inspect/scripts/fetch_redhat_vex.py | 1 + .../scripts/fetch_rhsa_advisory.py | 1 + .../scripts/generate_sbom_syft.py | 1 + .../image-inspect/scripts/inspect_image.py | 1 + .../scripts/scan_newer_images.py | 1 + .../image-inspect/scripts/validate_input.py | 1 + .../skills/ai-observability/SKILL.md | 4 ++-- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + .../skills/debug-inference/SKILL.md | 12 +++++----- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + .../skills/ds-project-setup/SKILL.md | 14 +++++------ .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + .../skills/guardrails-config/SKILL.md | 8 +++---- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + rh-ai-engineer/skills/model-deploy/SKILL.md | 18 +++++++------- .../model-deploy/references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + rh-ai-engineer/skills/model-monitor/SKILL.md | 8 +++---- .../model-monitor/references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + rh-ai-engineer/skills/model-registry/SKILL.md | 10 ++++---- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + rh-ai-engineer/skills/nim-setup/SKILL.md | 8 +++---- .../nim-setup/references/common-issues.md | 1 + .../nim-setup/references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../nim-setup/references/skill-conventions.md | 1 + .../skills/pipeline-manage/SKILL.md | 12 +++++----- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + .../skills/serving-runtime-config/SKILL.md | 14 +++++------ .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + .../skills/workbench-manage/SKILL.md | 24 +++++++++---------- .../references/common-issues.md | 1 + .../references/live-doc-lookup.md | 1 + .../openshift-fallback-templates.md | 1 + .../references/skill-conventions.md | 1 + rh-sre/skills/cve-impact/SKILL.md | 4 ++-- rh-sre/skills/cve-validation/SKILL.md | 4 ++-- rh-sre/skills/fleet-inventory/SKILL.md | 4 ++-- rh-sre/skills/job-template-creator/SKILL.md | 6 ++--- .../SKILL.md | 8 +++---- rh-sre/skills/playbook-executor/SKILL.md | 2 +- rh-sre/skills/remediation/SKILL.md | 2 +- .../references/01-remediation-indicators.md | 1 + 109 files changed, 185 insertions(+), 101 deletions(-) create mode 120000 ocp-admin/skills/cluster-report/scripts/aggregate.py create mode 120000 ocp-admin/skills/cluster-report/scripts/assemble.py create mode 120000 ocp-admin/skills/cluster-report/scripts/build-kubeconfig.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/download_sbom.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/fetch_coreos_metadata.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/fetch_cve_metadata.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/fetch_redhat_vex.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/fetch_rhsa_advisory.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/generate_sbom_syft.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/inspect_image.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/scan_newer_images.py create mode 120000 ocp-admin/skills/container-cve-validator/scripts/validate_input.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/download_sbom.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/fetch_coreos_metadata.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/fetch_cve_metadata.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/fetch_redhat_vex.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/fetch_rhsa_advisory.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/generate_sbom_syft.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/inspect_image.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/scan_newer_images.py create mode 120000 ocp-admin/skills/coreos-cve-validator/scripts/validate_input.py create mode 120000 ocp-admin/skills/cve-recon/scripts/download_sbom.py create mode 120000 ocp-admin/skills/cve-recon/scripts/fetch_coreos_metadata.py create mode 120000 ocp-admin/skills/cve-recon/scripts/fetch_cve_metadata.py create mode 120000 ocp-admin/skills/cve-recon/scripts/fetch_redhat_vex.py create mode 120000 ocp-admin/skills/cve-recon/scripts/fetch_rhsa_advisory.py create mode 120000 ocp-admin/skills/cve-recon/scripts/generate_sbom_syft.py create mode 120000 ocp-admin/skills/cve-recon/scripts/inspect_image.py create mode 120000 ocp-admin/skills/cve-recon/scripts/scan_newer_images.py create mode 120000 ocp-admin/skills/cve-recon/scripts/validate_input.py create mode 120000 ocp-admin/skills/image-inspect/scripts/download_sbom.py create mode 120000 ocp-admin/skills/image-inspect/scripts/fetch_coreos_metadata.py create mode 120000 ocp-admin/skills/image-inspect/scripts/fetch_cve_metadata.py create mode 120000 ocp-admin/skills/image-inspect/scripts/fetch_redhat_vex.py create mode 120000 ocp-admin/skills/image-inspect/scripts/fetch_rhsa_advisory.py create mode 120000 ocp-admin/skills/image-inspect/scripts/generate_sbom_syft.py create mode 120000 ocp-admin/skills/image-inspect/scripts/inspect_image.py create mode 120000 ocp-admin/skills/image-inspect/scripts/scan_newer_images.py create mode 120000 ocp-admin/skills/image-inspect/scripts/validate_input.py create mode 120000 rh-ai-engineer/skills/ai-observability/references/common-issues.md create mode 120000 rh-ai-engineer/skills/ai-observability/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/ai-observability/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/ai-observability/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/debug-inference/references/common-issues.md create mode 120000 rh-ai-engineer/skills/debug-inference/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/debug-inference/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/debug-inference/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/ds-project-setup/references/common-issues.md create mode 120000 rh-ai-engineer/skills/ds-project-setup/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/ds-project-setup/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/ds-project-setup/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/guardrails-config/references/common-issues.md create mode 120000 rh-ai-engineer/skills/guardrails-config/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/guardrails-config/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/guardrails-config/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/model-deploy/references/common-issues.md create mode 120000 rh-ai-engineer/skills/model-deploy/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/model-deploy/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/model-deploy/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/model-monitor/references/common-issues.md create mode 120000 rh-ai-engineer/skills/model-monitor/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/model-monitor/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/model-monitor/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/model-registry/references/common-issues.md create mode 120000 rh-ai-engineer/skills/model-registry/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/model-registry/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/model-registry/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/nim-setup/references/common-issues.md create mode 120000 rh-ai-engineer/skills/nim-setup/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/nim-setup/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/nim-setup/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/pipeline-manage/references/common-issues.md create mode 120000 rh-ai-engineer/skills/pipeline-manage/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/pipeline-manage/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/pipeline-manage/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/serving-runtime-config/references/common-issues.md create mode 120000 rh-ai-engineer/skills/serving-runtime-config/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/serving-runtime-config/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/serving-runtime-config/references/skill-conventions.md create mode 120000 rh-ai-engineer/skills/workbench-manage/references/common-issues.md create mode 120000 rh-ai-engineer/skills/workbench-manage/references/live-doc-lookup.md create mode 120000 rh-ai-engineer/skills/workbench-manage/references/openshift-fallback-templates.md create mode 120000 rh-ai-engineer/skills/workbench-manage/references/skill-conventions.md create mode 120000 rh-sre/skills/remediation/references/01-remediation-indicators.md diff --git a/ocp-admin/skills/cluster-creator/SKILL.md b/ocp-admin/skills/cluster-creator/SKILL.md index 0f832060..cfc0a3a9 100644 --- a/ocp-admin/skills/cluster-creator/SKILL.md +++ b/ocp-admin/skills/cluster-creator/SKILL.md @@ -42,7 +42,7 @@ metadata: ## Prerequisites -**Required MCP Servers**: `openshift-self-managed` ([setup guide](../README.md#environment-setup)) +**Required MCP Servers**: `openshift-self-managed` **MCP Server Architecture**: This skill uses `openshift-self-managed` MCP server exclusively. This server connects to Red Hat Assisted Installer API to create self-managed OpenShift clusters. @@ -440,7 +440,7 @@ Congratulations! ## Dependencies ### Required MCP Servers -- `openshift-self-managed` - Red Hat Assisted Installer service for self-managed clusters ([setup](../README.md#environment-setup)) +- `openshift-self-managed` - Red Hat Assisted Installer service for self-managed clusters **Important**: This skill uses ONLY `openshift-self-managed` MCP server. Do NOT use `openshift-ocm-managed` (that server is for ROSA/ARO/OSD managed service clusters, not for OCP/SNO self-managed clusters). diff --git a/ocp-admin/skills/cluster-inventory/SKILL.md b/ocp-admin/skills/cluster-inventory/SKILL.md index 8eea57cc..ad6ecb40 100644 --- a/ocp-admin/skills/cluster-inventory/SKILL.md +++ b/ocp-admin/skills/cluster-inventory/SKILL.md @@ -47,7 +47,7 @@ List and inspect OpenShift clusters across all types (OCP, SNO, ROSA, ARO, OSD). ## Prerequisites -**Required MCP Servers**: `openshift-self-managed`, `openshift-ocm-managed` ([setup guide](../../README.md)) +**Required MCP Servers**: `openshift-self-managed`, `openshift-ocm-managed` **Required MCP Tools**: - `list_clusters` (from both servers) - Lists clusters (auto-routes to correct API) @@ -224,8 +224,8 @@ Execute when user requests events, troubleshoots errors, or needs installation l ## Dependencies ### Required MCP Servers -- `openshift-self-managed` - Assisted Installer service for OCP/SNO ([setup](../../README.md)) -- `openshift-ocm-managed` - OCM service for ROSA/ARO/OSD ([setup](../../README.md)) +- `openshift-self-managed` - Assisted Installer service for OCP/SNO +- `openshift-ocm-managed` - OCM service for ROSA/ARO/OSD ### Required MCP Tools - `list_clusters` (from both servers) - Lists clusters (auto-routes to correct API) diff --git a/ocp-admin/skills/cluster-report/SKILL.md b/ocp-admin/skills/cluster-report/SKILL.md index c8a56989..eae01917 100644 --- a/ocp-admin/skills/cluster-report/SKILL.md +++ b/ocp-admin/skills/cluster-report/SKILL.md @@ -38,7 +38,7 @@ Generate a unified health and resource report across multiple OpenShift/Kubernet ## Prerequisites -**Required MCP Servers**: `openshift-administration` ([setup guide](../../README.md#environment-setup)) +**Required MCP Servers**: `openshift-administration` **MCP Server Architecture**: This skill uses `openshift-administration` MCP server exclusively. This server provides multi-cluster administration and reporting capabilities for both OpenShift and Kubernetes clusters. @@ -60,11 +60,11 @@ This skill uses `openshift-administration` MCP server exclusively. This server p **Required Environment Variables**: `KUBECONFIG` — must contain at least one cluster context. Two or more recommended for comparison. -**Multi-Cluster Setup**: For large-scale deployments using service account tokens instead of interactive `oc login`, see [multi-cluster-auth.md](docs/multi-cluster-auth.md) and the [build-kubeconfig.py](../../scripts/cluster-report/build-kubeconfig.py) helper script. +**Multi-Cluster Setup**: For large-scale deployments using service account tokens instead of interactive `oc login`, see [multi-cluster-auth.md](docs/multi-cluster-auth.md) and the [build-kubeconfig.py](scripts/build-kubeconfig.py) helper script. **Helper Scripts** (Python 3, stdlib only — auditable, do not reimplement): -- [`assemble.py`](../../scripts/cluster-report/assemble.py) — resolves `$file` references into complete raw data JSON -- [`aggregate.py`](../../scripts/cluster-report/aggregate.py) — aggregates raw data into structured report JSON +- [`assemble.py`](scripts/assemble.py) — resolves `$file` references into complete raw data JSON +- [`aggregate.py`](scripts/aggregate.py) — aggregates raw data into structured report JSON **Script Usage Rules**: - Invoke scripts via the documented pipeline (Step 3) — do NOT reimplement their logic inline @@ -265,7 +265,7 @@ Fields may also be inlined as raw text strings or set to `null` for failed/unava Run the assembly and aggregation pipeline: ```bash -python3 ocp-admin/scripts/cluster-report/assemble.py --aggregate < /tmp/cluster-report-manifest.json +python3 scripts/assemble.py --aggregate < /tmp/cluster-report-manifest.json ``` If the pipeline exits with code 1, display the error JSON to the user and stop. @@ -357,7 +357,7 @@ Would you like to: ## Dependencies ### Required MCP Servers -- `openshift-administration` - Multi-cluster administration and reporting ([setup](../../README.md#environment-setup)) +- `openshift-administration` - Multi-cluster administration and reporting **Important**: This skill uses ONLY `openshift-administration` MCP server for querying existing cluster resources via KUBECONFIG. The cluster creation/inventory servers (`openshift-self-managed`, `openshift-ocm-managed`) are not needed for this skill as it operates on already-configured clusters. @@ -377,8 +377,8 @@ Would you like to: - Parameters: `context` ### Helper Scripts -- [`ocp-admin/scripts/cluster-report/assemble.py`](../../scripts/cluster-report/assemble.py) -- [`ocp-admin/scripts/cluster-report/aggregate.py`](../../scripts/cluster-report/aggregate.py) +- [`assemble.py`](scripts/assemble.py) +- [`aggregate.py`](scripts/aggregate.py) ### Related Skills - `/cluster-inventory` - List and inspect individual clusters diff --git a/ocp-admin/skills/cluster-report/scripts/aggregate.py b/ocp-admin/skills/cluster-report/scripts/aggregate.py new file mode 120000 index 00000000..1c35fe01 --- /dev/null +++ b/ocp-admin/skills/cluster-report/scripts/aggregate.py @@ -0,0 +1 @@ +../../../scripts/cluster-report/aggregate.py \ No newline at end of file diff --git a/ocp-admin/skills/cluster-report/scripts/assemble.py b/ocp-admin/skills/cluster-report/scripts/assemble.py new file mode 120000 index 00000000..b1c52b60 --- /dev/null +++ b/ocp-admin/skills/cluster-report/scripts/assemble.py @@ -0,0 +1 @@ +../../../scripts/cluster-report/assemble.py \ No newline at end of file diff --git a/ocp-admin/skills/cluster-report/scripts/build-kubeconfig.py b/ocp-admin/skills/cluster-report/scripts/build-kubeconfig.py new file mode 120000 index 00000000..dc7bc55c --- /dev/null +++ b/ocp-admin/skills/cluster-report/scripts/build-kubeconfig.py @@ -0,0 +1 @@ +../../../scripts/cluster-report/build-kubeconfig.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/SKILL.md b/ocp-admin/skills/container-cve-validator/SKILL.md index f0d74a14..29797471 100644 --- a/ocp-admin/skills/container-cve-validator/SKILL.md +++ b/ocp-admin/skills/container-cve-validator/SKILL.md @@ -88,9 +88,9 @@ Do NOT use `version` or `release` labels to reconstruct the image tag. ## Prerequisites -**Step 0 — Resolve scripts directory.** Before anything else, locate the helper scripts. They are at `../scripts/` relative to this project's root directory. Run: +**Step 0 — Resolve scripts directory.** Before anything else, locate the helper scripts. They are inside the skill's `scripts/` subfolder. Run: ```bash -SCRIPTS_DIR="$(git rev-parse --show-toplevel)/ocp-admin/scripts/security-validation" +SCRIPTS_DIR="scripts" test -f "$SCRIPTS_DIR/validate_input.py" || { echo "Error: Scripts directory not found at $SCRIPTS_DIR"; exit 1; } ``` Use `$SCRIPTS_DIR` in all subsequent script calls. The scripts handle tool checks internally (regctl, cosign, syft) and return clear errors if tools are missing. diff --git a/ocp-admin/skills/container-cve-validator/scripts/download_sbom.py b/ocp-admin/skills/container-cve-validator/scripts/download_sbom.py new file mode 120000 index 00000000..faaf1637 --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/download_sbom.py @@ -0,0 +1 @@ +../../../scripts/security-validation/download_sbom.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/fetch_coreos_metadata.py b/ocp-admin/skills/container-cve-validator/scripts/fetch_coreos_metadata.py new file mode 120000 index 00000000..0445da3d --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/fetch_coreos_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_coreos_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/fetch_cve_metadata.py b/ocp-admin/skills/container-cve-validator/scripts/fetch_cve_metadata.py new file mode 120000 index 00000000..b95316da --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/fetch_cve_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_cve_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/fetch_redhat_vex.py b/ocp-admin/skills/container-cve-validator/scripts/fetch_redhat_vex.py new file mode 120000 index 00000000..2ab73990 --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/fetch_redhat_vex.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_redhat_vex.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/fetch_rhsa_advisory.py b/ocp-admin/skills/container-cve-validator/scripts/fetch_rhsa_advisory.py new file mode 120000 index 00000000..9ac8172c --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/fetch_rhsa_advisory.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_rhsa_advisory.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/generate_sbom_syft.py b/ocp-admin/skills/container-cve-validator/scripts/generate_sbom_syft.py new file mode 120000 index 00000000..a285e4ed --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/generate_sbom_syft.py @@ -0,0 +1 @@ +../../../scripts/security-validation/generate_sbom_syft.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/inspect_image.py b/ocp-admin/skills/container-cve-validator/scripts/inspect_image.py new file mode 120000 index 00000000..0f94cb52 --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/inspect_image.py @@ -0,0 +1 @@ +../../../scripts/security-validation/inspect_image.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/scan_newer_images.py b/ocp-admin/skills/container-cve-validator/scripts/scan_newer_images.py new file mode 120000 index 00000000..62b81600 --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/scan_newer_images.py @@ -0,0 +1 @@ +../../../scripts/security-validation/scan_newer_images.py \ No newline at end of file diff --git a/ocp-admin/skills/container-cve-validator/scripts/validate_input.py b/ocp-admin/skills/container-cve-validator/scripts/validate_input.py new file mode 120000 index 00000000..224323d7 --- /dev/null +++ b/ocp-admin/skills/container-cve-validator/scripts/validate_input.py @@ -0,0 +1 @@ +../../../scripts/security-validation/validate_input.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/SKILL.md b/ocp-admin/skills/coreos-cve-validator/SKILL.md index 1bd105d1..101a2e0a 100644 --- a/ocp-admin/skills/coreos-cve-validator/SKILL.md +++ b/ocp-admin/skills/coreos-cve-validator/SKILL.md @@ -20,9 +20,9 @@ Two required inputs: ## Prerequisites -**Resolve scripts directory** — the helper scripts are at `../scripts/` relative to this project's root: +**Resolve scripts directory** — the helper scripts are inside the skill's `scripts/` subfolder: ```bash -SCRIPTS_DIR="$(git rev-parse --show-toplevel)/ocp-admin/scripts/security-validation" +SCRIPTS_DIR="scripts" test -f "$SCRIPTS_DIR/validate_input.py" || { echo "Error: Scripts directory not found at $SCRIPTS_DIR"; exit 1; } ``` The scripts check internally for `oc` and `podman`. diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/download_sbom.py b/ocp-admin/skills/coreos-cve-validator/scripts/download_sbom.py new file mode 120000 index 00000000..faaf1637 --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/download_sbom.py @@ -0,0 +1 @@ +../../../scripts/security-validation/download_sbom.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/fetch_coreos_metadata.py b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_coreos_metadata.py new file mode 120000 index 00000000..0445da3d --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_coreos_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_coreos_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/fetch_cve_metadata.py b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_cve_metadata.py new file mode 120000 index 00000000..b95316da --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_cve_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_cve_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/fetch_redhat_vex.py b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_redhat_vex.py new file mode 120000 index 00000000..2ab73990 --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_redhat_vex.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_redhat_vex.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/fetch_rhsa_advisory.py b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_rhsa_advisory.py new file mode 120000 index 00000000..9ac8172c --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/fetch_rhsa_advisory.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_rhsa_advisory.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/generate_sbom_syft.py b/ocp-admin/skills/coreos-cve-validator/scripts/generate_sbom_syft.py new file mode 120000 index 00000000..a285e4ed --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/generate_sbom_syft.py @@ -0,0 +1 @@ +../../../scripts/security-validation/generate_sbom_syft.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/inspect_image.py b/ocp-admin/skills/coreos-cve-validator/scripts/inspect_image.py new file mode 120000 index 00000000..0f94cb52 --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/inspect_image.py @@ -0,0 +1 @@ +../../../scripts/security-validation/inspect_image.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/scan_newer_images.py b/ocp-admin/skills/coreos-cve-validator/scripts/scan_newer_images.py new file mode 120000 index 00000000..62b81600 --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/scan_newer_images.py @@ -0,0 +1 @@ +../../../scripts/security-validation/scan_newer_images.py \ No newline at end of file diff --git a/ocp-admin/skills/coreos-cve-validator/scripts/validate_input.py b/ocp-admin/skills/coreos-cve-validator/scripts/validate_input.py new file mode 120000 index 00000000..224323d7 --- /dev/null +++ b/ocp-admin/skills/coreos-cve-validator/scripts/validate_input.py @@ -0,0 +1 @@ +../../../scripts/security-validation/validate_input.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/SKILL.md b/ocp-admin/skills/cve-recon/SKILL.md index 9cd0b5f4..8c9055d1 100644 --- a/ocp-admin/skills/cve-recon/SKILL.md +++ b/ocp-admin/skills/cve-recon/SKILL.md @@ -31,9 +31,9 @@ If the CVE ID is missing or does not match the format, ask the user to provide i ## Prerequisites -**Resolve scripts directory** — the helper scripts are at `../scripts/` relative to this project's root: +**Resolve scripts directory** — the helper scripts are inside the skill's `scripts/` subfolder: ```bash -SCRIPTS_DIR="$(git rev-parse --show-toplevel)/ocp-admin/scripts/security-validation" +SCRIPTS_DIR="scripts" test -f "$SCRIPTS_DIR/fetch_cve_metadata.py" || { echo "Error: Scripts directory not found at $SCRIPTS_DIR"; exit 1; } ``` diff --git a/ocp-admin/skills/cve-recon/scripts/download_sbom.py b/ocp-admin/skills/cve-recon/scripts/download_sbom.py new file mode 120000 index 00000000..faaf1637 --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/download_sbom.py @@ -0,0 +1 @@ +../../../scripts/security-validation/download_sbom.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/fetch_coreos_metadata.py b/ocp-admin/skills/cve-recon/scripts/fetch_coreos_metadata.py new file mode 120000 index 00000000..0445da3d --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/fetch_coreos_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_coreos_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/fetch_cve_metadata.py b/ocp-admin/skills/cve-recon/scripts/fetch_cve_metadata.py new file mode 120000 index 00000000..b95316da --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/fetch_cve_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_cve_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/fetch_redhat_vex.py b/ocp-admin/skills/cve-recon/scripts/fetch_redhat_vex.py new file mode 120000 index 00000000..2ab73990 --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/fetch_redhat_vex.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_redhat_vex.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/fetch_rhsa_advisory.py b/ocp-admin/skills/cve-recon/scripts/fetch_rhsa_advisory.py new file mode 120000 index 00000000..9ac8172c --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/fetch_rhsa_advisory.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_rhsa_advisory.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/generate_sbom_syft.py b/ocp-admin/skills/cve-recon/scripts/generate_sbom_syft.py new file mode 120000 index 00000000..a285e4ed --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/generate_sbom_syft.py @@ -0,0 +1 @@ +../../../scripts/security-validation/generate_sbom_syft.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/inspect_image.py b/ocp-admin/skills/cve-recon/scripts/inspect_image.py new file mode 120000 index 00000000..0f94cb52 --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/inspect_image.py @@ -0,0 +1 @@ +../../../scripts/security-validation/inspect_image.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/scan_newer_images.py b/ocp-admin/skills/cve-recon/scripts/scan_newer_images.py new file mode 120000 index 00000000..62b81600 --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/scan_newer_images.py @@ -0,0 +1 @@ +../../../scripts/security-validation/scan_newer_images.py \ No newline at end of file diff --git a/ocp-admin/skills/cve-recon/scripts/validate_input.py b/ocp-admin/skills/cve-recon/scripts/validate_input.py new file mode 120000 index 00000000..224323d7 --- /dev/null +++ b/ocp-admin/skills/cve-recon/scripts/validate_input.py @@ -0,0 +1 @@ +../../../scripts/security-validation/validate_input.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/SKILL.md b/ocp-admin/skills/image-inspect/SKILL.md index e3ec99db..7637fd50 100644 --- a/ocp-admin/skills/image-inspect/SKILL.md +++ b/ocp-admin/skills/image-inspect/SKILL.md @@ -35,7 +35,7 @@ If the image reference is missing or invalid, ask the user to provide it. Do not **Resolve scripts directory:** ```bash -SCRIPTS_DIR="$(git rev-parse --show-toplevel)/ocp-admin/scripts/security-validation" +SCRIPTS_DIR="scripts" test -f "$SCRIPTS_DIR/inspect_image.py" || { echo "Error: Scripts directory not found at $SCRIPTS_DIR"; exit 1; } ``` The scripts handle tool checks internally (regctl, cosign) and return clear errors if tools are missing. diff --git a/ocp-admin/skills/image-inspect/scripts/download_sbom.py b/ocp-admin/skills/image-inspect/scripts/download_sbom.py new file mode 120000 index 00000000..faaf1637 --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/download_sbom.py @@ -0,0 +1 @@ +../../../scripts/security-validation/download_sbom.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/fetch_coreos_metadata.py b/ocp-admin/skills/image-inspect/scripts/fetch_coreos_metadata.py new file mode 120000 index 00000000..0445da3d --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/fetch_coreos_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_coreos_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/fetch_cve_metadata.py b/ocp-admin/skills/image-inspect/scripts/fetch_cve_metadata.py new file mode 120000 index 00000000..b95316da --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/fetch_cve_metadata.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_cve_metadata.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/fetch_redhat_vex.py b/ocp-admin/skills/image-inspect/scripts/fetch_redhat_vex.py new file mode 120000 index 00000000..2ab73990 --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/fetch_redhat_vex.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_redhat_vex.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/fetch_rhsa_advisory.py b/ocp-admin/skills/image-inspect/scripts/fetch_rhsa_advisory.py new file mode 120000 index 00000000..9ac8172c --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/fetch_rhsa_advisory.py @@ -0,0 +1 @@ +../../../scripts/security-validation/fetch_rhsa_advisory.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/generate_sbom_syft.py b/ocp-admin/skills/image-inspect/scripts/generate_sbom_syft.py new file mode 120000 index 00000000..a285e4ed --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/generate_sbom_syft.py @@ -0,0 +1 @@ +../../../scripts/security-validation/generate_sbom_syft.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/inspect_image.py b/ocp-admin/skills/image-inspect/scripts/inspect_image.py new file mode 120000 index 00000000..0f94cb52 --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/inspect_image.py @@ -0,0 +1 @@ +../../../scripts/security-validation/inspect_image.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/scan_newer_images.py b/ocp-admin/skills/image-inspect/scripts/scan_newer_images.py new file mode 120000 index 00000000..62b81600 --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/scan_newer_images.py @@ -0,0 +1 @@ +../../../scripts/security-validation/scan_newer_images.py \ No newline at end of file diff --git a/ocp-admin/skills/image-inspect/scripts/validate_input.py b/ocp-admin/skills/image-inspect/scripts/validate_input.py new file mode 120000 index 00000000..224323d7 --- /dev/null +++ b/ocp-admin/skills/image-inspect/scripts/validate_input.py @@ -0,0 +1 @@ +../../../scripts/security-validation/validate_input.py \ No newline at end of file diff --git a/rh-ai-engineer/skills/ai-observability/SKILL.md b/rh-ai-engineer/skills/ai-observability/SKILL.md index 22af178e..e5e9a502 100644 --- a/rh-ai-engineer/skills/ai-observability/SKILL.md +++ b/rh-ai-engineer/skills/ai-observability/SKILL.md @@ -61,7 +61,7 @@ Analyze AI model inference performance, GPU utilization, OpenShift cluster healt - `resources_list` (from openshift) - List InferenceServices, Namespaces (fallback for rhoai tools) - `pods_list` (from openshift) - List predictor pods for correlation context -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). **Additional environment variables**: - `AI_OBSERVABILITY_MCP_URL` - URL for the AI Observability MCP server (e.g., `http://aiobs-mcp.apps.cluster.example.com`) @@ -416,7 +416,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After triage (Step 1): confirm analysis scope (model, namespace, time range) before running queries diff --git a/rh-ai-engineer/skills/ai-observability/references/common-issues.md b/rh-ai-engineer/skills/ai-observability/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/ai-observability/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ai-observability/references/live-doc-lookup.md b/rh-ai-engineer/skills/ai-observability/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/ai-observability/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ai-observability/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/ai-observability/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/ai-observability/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ai-observability/references/skill-conventions.md b/rh-ai-engineer/skills/ai-observability/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/ai-observability/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/debug-inference/SKILL.md b/rh-ai-engineer/skills/debug-inference/SKILL.md index 399878ae..580ef4bb 100644 --- a/rh-ai-engineer/skills/debug-inference/SKILL.md +++ b/rh-ai-engineer/skills/debug-inference/SKILL.md @@ -55,9 +55,9 @@ Troubleshoot failed, stuck, or slow InferenceService deployments on Red Hat Open - `execute_promql` - Run custom PromQL queries for metrics not covered by standard analysis - `korrel8r_get_correlated` - Correlate signals (logs, traces, metrics, alerts) across a pod/namespace for root cause analysis -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - An existing InferenceService deployment to debug @@ -196,7 +196,7 @@ Present log analysis: - GPU compatibility messages **If the error is unrecognized -> Trigger live doc lookup:** -1. **Action**: Read [live-doc-lookup.md](../references/live-doc-lookup.md) using the Read tool +1. **Action**: Read [live-doc-lookup.md](references/live-doc-lookup.md) using the Read tool 2. Use **WebFetch** to look up the error message in RHOAI documentation 3. **Output to user**: "I looked up this error on [source]: [explanation and fix]" @@ -304,7 +304,7 @@ Would you like me to: ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: S3 Storage Access Denied @@ -344,11 +344,11 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ### Reference Documentation - [known-model-profiles.md](docs/references/known-model-profiles.md) - Correct resource sizing for common models - [supported-runtimes.md](docs/references/supported-runtimes.md) - Runtime capabilities and known limitations -- [live-doc-lookup.md](../references/live-doc-lookup.md) - Protocol for looking up unrecognized errors +- [live-doc-lookup.md](references/live-doc-lookup.md) - Protocol for looking up unrecognized errors ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After identifying target (Step 1): confirm which InferenceService to debug diff --git a/rh-ai-engineer/skills/debug-inference/references/common-issues.md b/rh-ai-engineer/skills/debug-inference/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/debug-inference/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/debug-inference/references/live-doc-lookup.md b/rh-ai-engineer/skills/debug-inference/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/debug-inference/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/debug-inference/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/debug-inference/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/debug-inference/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/debug-inference/references/skill-conventions.md b/rh-ai-engineer/skills/debug-inference/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/debug-inference/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ds-project-setup/SKILL.md b/rh-ai-engineer/skills/ds-project-setup/SKILL.md index 0c30759f..85527c19 100644 --- a/rh-ai-engineer/skills/ds-project-setup/SKILL.md +++ b/rh-ai-engineer/skills/ds-project-setup/SKILL.md @@ -51,9 +51,9 @@ Bootstrap a Red Hat OpenShift AI Data Science Project from scratch. Creates a na Note: `create_pipeline_server` is intentionally excluded — it constructs invalid DSPA manifests. Pipeline server creation always uses OpenShift direct. -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - Cluster admin or namespace creation privileges for the user @@ -120,7 +120,7 @@ Note: `create_pipeline_server` is intentionally excluded — it constructs inval - `display_name`: human-readable display name - REQUIRED - `description`: project description - OPTIONAL -**If rhoai unavailable or returns error**: Use `resources_create_or_update` (from openshift) to create the Namespace with RHOAI labels. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#data-science-project-namespace) for the YAML template. +**If rhoai unavailable or returns error**: Use `resources_create_or_update` (from openshift) to create the Namespace with RHOAI labels. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#data-science-project-namespace) for the YAML template. **Verify creation:** @@ -178,7 +178,7 @@ Skip this step if user declined data connections in Step 1. - `secret_key`: secret access key - REQUIRED - `region`: AWS region - OPTIONAL (omit for non-AWS S3) -**If rhoai unavailable or returns error**: Use `resources_create_or_update` (from openshift) to create the Secret with S3 annotations. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#s3-data-connection-secret) for the YAML template. +**If rhoai unavailable or returns error**: Use `resources_create_or_update` (from openshift) to create the Secret with S3 annotations. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#s3-data-connection-secret) for the YAML template. **Verify creation:** @@ -225,7 +225,7 @@ If pipeline server already exists, report its status and ask if user wants to re **MCP Tool**: `resources_create_or_update` (from openshift) -Create a DataSciencePipelinesApplication CR using the template from [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#datasciencepipelinesapplication-dspa). +Create a DataSciencePipelinesApplication CR using the template from [openshift-fallback-templates.md](references/openshift-fallback-templates.md#datasciencepipelinesapplication-dspa). **Parameters to fill in the template:** - `namespace`: target namespace @@ -352,7 +352,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option - `/serving-runtime-config` - Configure custom serving runtimes in the project ### Reference Documentation -- [skill-conventions.md](../references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions +- [skill-conventions.md](references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions ## Example Usage @@ -362,7 +362,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After project name existence check (Step 1): if project exists, confirm whether to configure existing or choose new name diff --git a/rh-ai-engineer/skills/ds-project-setup/references/common-issues.md b/rh-ai-engineer/skills/ds-project-setup/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/ds-project-setup/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ds-project-setup/references/live-doc-lookup.md b/rh-ai-engineer/skills/ds-project-setup/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/ds-project-setup/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ds-project-setup/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/ds-project-setup/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/ds-project-setup/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/ds-project-setup/references/skill-conventions.md b/rh-ai-engineer/skills/ds-project-setup/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/ds-project-setup/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/guardrails-config/SKILL.md b/rh-ai-engineer/skills/guardrails-config/SKILL.md index f0d1e4c1..60953e36 100644 --- a/rh-ai-engineer/skills/guardrails-config/SKILL.md +++ b/rh-ai-engineer/skills/guardrails-config/SKILL.md @@ -53,9 +53,9 @@ allowed-tools: resources_get resources_list resources_create_or_update resources - `execute_promql` - Query guardrails metrics (request counts, block rates) - `analyze_vllm` - Verify guarded endpoint performance impact -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - TrustyAI operator installed with guardrails support (RHOAI 2.14+) @@ -258,7 +258,7 @@ Present summary showing: guarded vs original endpoint URLs, active detectors tab ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: Detector Model Deployment Fails @@ -323,7 +323,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After gathering requirements (Step 2): confirm guardrails configuration diff --git a/rh-ai-engineer/skills/guardrails-config/references/common-issues.md b/rh-ai-engineer/skills/guardrails-config/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/guardrails-config/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/guardrails-config/references/live-doc-lookup.md b/rh-ai-engineer/skills/guardrails-config/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/guardrails-config/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/guardrails-config/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/guardrails-config/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/guardrails-config/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/guardrails-config/references/skill-conventions.md b/rh-ai-engineer/skills/guardrails-config/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/guardrails-config/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-deploy/SKILL.md b/rh-ai-engineer/skills/model-deploy/SKILL.md index c3aaf891..f191eaa6 100644 --- a/rh-ai-engineer/skills/model-deploy/SKILL.md +++ b/rh-ai-engineer/skills/model-deploy/SKILL.md @@ -54,9 +54,9 @@ Deploy AI/ML models on Red Hat OpenShift AI using KServe. Supports vLLM, NVIDIA - `get_deployment_info` - Post-deployment validation - `analyze_vllm` - Verify metrics are flowing after deployment -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - For NIM runtime: NIM platform set up via `/nim-setup` @@ -153,7 +153,7 @@ After the environment is validated, collect remaining deployment configuration. - Present to user **If model is NOT in known-model-profiles.md -> Trigger live doc lookup:** -1. **Action**: Read [live-doc-lookup.md](../references/live-doc-lookup.md) using the Read tool for the lookup protocol +1. **Action**: Read [live-doc-lookup.md](references/live-doc-lookup.md) using the Read tool for the lookup protocol 2. **Output to user**: "Model [model-name] is not in my cached profiles. I'll look up its hardware requirements." 3. Use **WebFetch** tool to retrieve specs from: - For NIM models: `https://build.nvidia.com/models` or `https://docs.nvidia.com/nim/large-language-models/latest/supported-models.html` @@ -281,13 +281,13 @@ Add tolerations to `spec.predictor.tolerations` matching the discovered taints. After patching, delete the stuck Pending pod to force rescheduling with the new tolerations. -See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#toleration-post-deploy-patch) for the complete pattern. +See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#toleration-post-deploy-patch) for the complete pattern. #### NIM Deployment via OpenShift When deploying with NIM runtime and `deploy_model` does not support NIM-specific env vars (NGC_API_KEY secretKeyRef, NIM_MAX_MODEL_LEN, image pull secrets): -Use `resources_create_or_update` (from openshift) with the NIM InferenceService template from [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#inferenceservice-nim). +Use `resources_create_or_update` (from openshift) with the NIM InferenceService template from [openshift-fallback-templates.md](references/openshift-fallback-templates.md#inferenceservice-nim). **Key NIM-specific fields:** - `spec.predictor.containers[0].env` with NGC_API_KEY from secretKeyRef @@ -343,7 +343,7 @@ Show deployment progress tracking: Pod Scheduled, Image Pulled, Container Starte ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: InferenceService Stuck in "Unknown" @@ -407,7 +407,7 @@ For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [com **Cause**: `deploy_model` does not support tolerations. GPU nodes in production clusters are almost always tainted. -**Solution**: Patch InferenceService with tolerations matching the GPU node taints, then delete the stuck pod. See [common-issues.md](../references/common-issues.md#deploy-model-missing-gpu-tolerations) for details. +**Solution**: Patch InferenceService with tolerations matching the GPU node taints, then delete the stuck pod. See [common-issues.md](references/common-issues.md#deploy-model-missing-gpu-tolerations) for details. ### Issue: NIM CUDA Driver Incompatibility @@ -443,11 +443,11 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ### Reference Documentation - [known-model-profiles.md](docs/references/known-model-profiles.md) - Hardware profiles for common models - [supported-runtimes.md](docs/references/supported-runtimes.md) - Runtime capabilities and selection criteria -- [live-doc-lookup.md](../references/live-doc-lookup.md) - Protocol for fetching specs for unknown models +- [live-doc-lookup.md](references/live-doc-lookup.md) - Protocol for fetching specs for unknown models ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After pre-flight validation (Step 1): confirm if significant adjustments were needed (deployment mode, tolerations, resource changes) diff --git a/rh-ai-engineer/skills/model-deploy/references/common-issues.md b/rh-ai-engineer/skills/model-deploy/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/model-deploy/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-deploy/references/live-doc-lookup.md b/rh-ai-engineer/skills/model-deploy/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/model-deploy/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-deploy/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/model-deploy/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/model-deploy/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-deploy/references/skill-conventions.md b/rh-ai-engineer/skills/model-deploy/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/model-deploy/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-monitor/SKILL.md b/rh-ai-engineer/skills/model-monitor/SKILL.md index a75e393e..1b6ad769 100644 --- a/rh-ai-engineer/skills/model-monitor/SKILL.md +++ b/rh-ai-engineer/skills/model-monitor/SKILL.md @@ -48,9 +48,9 @@ allowed-tools: resources_get resources_list resources_create_or_update pods_list **Optional MCP Tools** (from ai-observability): - `execute_promql` - Custom PromQL queries for TrustyAI metrics validation -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - TrustyAI operator enabled in the DataScienceCluster CR @@ -210,7 +210,7 @@ Present summary showing: TrustyAI status, configured metrics with thresholds, Pr ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: TrustyAI Pod CrashLoopBackOff @@ -262,7 +262,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After gathering requirements (Step 2): confirm monitoring configuration diff --git a/rh-ai-engineer/skills/model-monitor/references/common-issues.md b/rh-ai-engineer/skills/model-monitor/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/model-monitor/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-monitor/references/live-doc-lookup.md b/rh-ai-engineer/skills/model-monitor/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/model-monitor/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-monitor/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/model-monitor/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/model-monitor/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-monitor/references/skill-conventions.md b/rh-ai-engineer/skills/model-monitor/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/model-monitor/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-registry/SKILL.md b/rh-ai-engineer/skills/model-registry/SKILL.md index 06217366..746b6802 100644 --- a/rh-ai-engineer/skills/model-registry/SKILL.md +++ b/rh-ai-engineer/skills/model-registry/SKILL.md @@ -46,9 +46,9 @@ Register, version, and manage ML models in the Red Hat OpenShift AI Model Regist - `list_data_science_projects` - Validate namespace is an RHOAI Data Science Project - `list_data_connections` - Verify S3 data connections exist in target namespace (for promotion) -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/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: 1. Check if an external Route exists: `resources_list` (from openshift) Routes in the model registry namespace @@ -206,7 +206,7 @@ Delegate to `/model-deploy` with the extracted storage URI and model format. **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](../references/common-issues.md#model-registry-internal-dns-unreachable) for port-forwarding and Route-based solutions. +**Solution**: See [common-issues.md](references/common-issues.md#model-registry-internal-dns-unreachable) for port-forwarding and Route-based solutions. ### Issue 3: Artifact Storage Inaccessible During Promotion **Cause**: PVC-based storage is namespace-local; S3 credentials may not exist in the target namespace. @@ -225,11 +225,11 @@ See [Prerequisites](#prerequisites) for the complete list of required MCP tools. - `/pipeline-manage` - Automate model training and registration pipelines ### Reference Documentation -- [skill-conventions.md](../references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions +- [skill-conventions.md](references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - Before registering a model (Step 4): display metadata table, confirm diff --git a/rh-ai-engineer/skills/model-registry/references/common-issues.md b/rh-ai-engineer/skills/model-registry/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/model-registry/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-registry/references/live-doc-lookup.md b/rh-ai-engineer/skills/model-registry/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/model-registry/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-registry/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/model-registry/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/model-registry/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/model-registry/references/skill-conventions.md b/rh-ai-engineer/skills/model-registry/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/model-registry/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/nim-setup/SKILL.md b/rh-ai-engineer/skills/nim-setup/SKILL.md index 1d6bc161..a877ef49 100644 --- a/rh-ai-engineer/skills/nim-setup/SKILL.md +++ b/rh-ai-engineer/skills/nim-setup/SKILL.md @@ -41,7 +41,7 @@ Configure the NVIDIA NIM platform on OpenShift AI. This is a one-time setup that **Optional MCP Server**: `ai-observability` (for `get_gpu_info` to verify GPU availability) -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). **Required User Input**: - NGC API key (from https://ngc.nvidia.com) @@ -307,7 +307,7 @@ If `ai-observability` MCP server is available, use `get_gpu_info` to report clus ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: Account CR Stuck in "Pending" @@ -364,11 +364,11 @@ When handing off to `/model-deploy` after NIM setup, note these NIM-specific con ### Reference Documentation - [supported-runtimes.md](docs/references/supported-runtimes.md) - NIM runtime capabilities and requirements -- [live-doc-lookup.md](../references/live-doc-lookup.md) - Protocol for fetching current RHOAI/NIM documentation +- [live-doc-lookup.md](references/live-doc-lookup.md) - Protocol for fetching current RHOAI/NIM documentation ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - Before creating each Secret: display manifest (credentials REDACTED), confirm diff --git a/rh-ai-engineer/skills/nim-setup/references/common-issues.md b/rh-ai-engineer/skills/nim-setup/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/nim-setup/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/nim-setup/references/live-doc-lookup.md b/rh-ai-engineer/skills/nim-setup/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/nim-setup/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/nim-setup/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/nim-setup/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/nim-setup/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/nim-setup/references/skill-conventions.md b/rh-ai-engineer/skills/nim-setup/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/nim-setup/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/pipeline-manage/SKILL.md b/rh-ai-engineer/skills/pipeline-manage/SKILL.md index bba1d7bb..00506d19 100644 --- a/rh-ai-engineer/skills/pipeline-manage/SKILL.md +++ b/rh-ai-engineer/skills/pipeline-manage/SKILL.md @@ -53,9 +53,9 @@ Create, run, schedule, and monitor Data Science Pipelines (Kubeflow Pipelines 2. - `list_data_connections` - Verify S3 data connections for pipeline artifact storage - `project_summary` - Project overview including pipeline status -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Additional cluster requirements**: - Target namespace is an RHOAI Data Science Project (label: `opendatahub.io/dashboard: "true"`) @@ -107,7 +107,7 @@ Check via `get_pipeline_server` (from rhoai) with `namespace`. If healthy, proce **MCP Tool**: `resources_create_or_update` (from openshift) -Create a DataSciencePipelinesApplication CR. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#datasciencepipelinesapplication-dspa) for the YAML template. +Create a DataSciencePipelinesApplication CR. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#datasciencepipelinesapplication-dspa) for the YAML template. **Parameters to fill in the template:** - `namespace`: target namespace @@ -245,7 +245,7 @@ Display warning: deleting the DSPA removes all pipeline runs, history, API/UI en ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: Pipeline Server Not Ready **Cause**: Invalid S3 credentials, unreachable S3 endpoint, or database connectivity issues. @@ -280,11 +280,11 @@ See [Prerequisites](#prerequisites) for the complete list of required MCP tools. - `/debug-inference` - Debug models deployed from pipeline outputs ### Reference Documentation -- [skill-conventions.md](../references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions +- [skill-conventions.md](references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - Before creating pipeline server (Step 2): display S3 storage configuration, confirm diff --git a/rh-ai-engineer/skills/pipeline-manage/references/common-issues.md b/rh-ai-engineer/skills/pipeline-manage/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/pipeline-manage/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/pipeline-manage/references/live-doc-lookup.md b/rh-ai-engineer/skills/pipeline-manage/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/pipeline-manage/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/pipeline-manage/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/pipeline-manage/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/pipeline-manage/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/pipeline-manage/references/skill-conventions.md b/rh-ai-engineer/skills/pipeline-manage/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/pipeline-manage/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/serving-runtime-config/SKILL.md b/rh-ai-engineer/skills/serving-runtime-config/SKILL.md index 84a22df3..f2d29b55 100644 --- a/rh-ai-engineer/skills/serving-runtime-config/SKILL.md +++ b/rh-ai-engineer/skills/serving-runtime-config/SKILL.md @@ -45,9 +45,9 @@ Configure custom ServingRuntime custom resources on Red Hat OpenShift AI. Use wh **Optional MCP Tools** (from ai-observability): - `list_models` - Verify deployed models use the new runtime -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, KServe, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. ## When to Use This Skill @@ -129,7 +129,7 @@ Based on the user's framework and model requirements, determine the ServingRunti Extract the current spec as a starting point. Present the current configuration and ask what the user wants to change. **If the user requests a runtime for an unfamiliar framework -> Trigger live doc lookup:** -1. **Action**: Read [live-doc-lookup.md](../references/live-doc-lookup.md) using the Read tool for the lookup protocol +1. **Action**: Read [live-doc-lookup.md](references/live-doc-lookup.md) using the Read tool for the lookup protocol 2. **Output to user**: "Framework [name] is not in my cached runtimes. I'll look up its serving requirements." 3. Use **WebFetch** to retrieve specs from Red Hat OpenShift AI documentation 4. Extract: container image, model format name, supported protocols, required env vars @@ -213,7 +213,7 @@ Display the ServingRuntime YAML to the user, **redacting any sensitive values**. The response includes the created runtime name, display name, and supported model formats. -**If rhoai unavailable or returns error**: Use `resources_get` (from openshift) to fetch the ClusterServingRuntime template, copy its spec to a namespace-scoped ServingRuntime, and create via `resources_create_or_update` (from openshift). See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#servingruntime) for the pattern. +**If rhoai unavailable or returns error**: Use `resources_get` (from openshift) to fetch the ClusterServingRuntime template, copy its spec to a namespace-scoped ServingRuntime, and create via `resources_create_or_update` (from openshift). See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#servingruntime) for the pattern. **If creating a fully custom runtime** (custom container image, non-template configuration): @@ -255,7 +255,7 @@ For detailed inspection: ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: InferenceService Cannot Find Runtime @@ -291,11 +291,11 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ### Reference Documentation - [supported-runtimes.md](docs/references/supported-runtimes.md) - Runtime capabilities and model format names -- [live-doc-lookup.md](../references/live-doc-lookup.md) - Protocol for fetching specs for unknown frameworks +- [live-doc-lookup.md](references/live-doc-lookup.md) - Protocol for fetching specs for unknown frameworks ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - After namespace validation (Step 1): confirm namespace or redirect to `/ds-project-setup` diff --git a/rh-ai-engineer/skills/serving-runtime-config/references/common-issues.md b/rh-ai-engineer/skills/serving-runtime-config/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/serving-runtime-config/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/serving-runtime-config/references/live-doc-lookup.md b/rh-ai-engineer/skills/serving-runtime-config/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/serving-runtime-config/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/serving-runtime-config/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/serving-runtime-config/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/serving-runtime-config/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/serving-runtime-config/references/skill-conventions.md b/rh-ai-engineer/skills/serving-runtime-config/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/serving-runtime-config/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/workbench-manage/SKILL.md b/rh-ai-engineer/skills/workbench-manage/SKILL.md index cde5aa74..8846c3c1 100644 --- a/rh-ai-engineer/skills/workbench-manage/SKILL.md +++ b/rh-ai-engineer/skills/workbench-manage/SKILL.md @@ -56,9 +56,9 @@ Create and manage Jupyter notebook workbenches on Red Hat OpenShift AI. Handles - `delete_storage` - Delete a PVC - `list_data_connections` - List data connections available to attach -**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](../references/skill-conventions.md). +**Common prerequisites** (KUBECONFIG, OpenShift+RHOAI cluster, verification protocol): See [skill-conventions.md](references/skill-conventions.md). -**Fallback templates**: See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. +**Fallback templates**: See [openshift-fallback-templates.md](references/openshift-fallback-templates.md) for OpenShift YAML templates used when RHOAI tools are unavailable. **Important**: Do NOT use `list_notebook_images` (from rhoai) — it returns incorrect hardcoded image names that cause broken deployments. Always use the ImageStream lookup pattern described below. @@ -128,7 +128,7 @@ Extract from each ImageStream: **Present to user** as a selection table showing Image Name, Tag, and Display Name. -See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#notebook-image-discovery-imagestream-lookup) for the complete pattern. +See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#notebook-image-discovery-imagestream-lookup) for the complete pattern. **Present available images** in a table: @@ -167,7 +167,7 @@ See [openshift-fallback-templates.md](../references/openshift-fallback-templates **Parameters**: - `namespace`: target namespace - REQUIRED -**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#pvc-for-workbench-storage). +**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#pvc-for-workbench-storage). If a suitable PVC already exists, ask user if they want to reuse it or create a new one. @@ -181,7 +181,7 @@ If a suitable PVC already exists, ask user if they want to reuse it or create a - `size`: storage size from Step 2 (e.g., `"20Gi"`) - REQUIRED - `access_mode`: `"ReadWriteOnce"` - REQUIRED (default, single-pod access) -**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#pvc-for-workbench-storage). +**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#pvc-for-workbench-storage). **Verify creation:** @@ -272,7 +272,7 @@ Confirm the workbench is currently stopped. If already running, report its URL a - `namespace`: target namespace - REQUIRED - `name`: workbench name - REQUIRED -**If rhoai unavailable or returns error (e.g., "Unsupported Media Type")**: Patch the Notebook CR annotation via `resources_create_or_update` (from openshift) to remove the `kubeflow-resource-stopped` annotation (set to null or empty). See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#workbench-startstop-annotation-patch). +**If rhoai unavailable or returns error (e.g., "Unsupported Media Type")**: Patch the Notebook CR annotation via `resources_create_or_update` (from openshift) to remove the `kubeflow-resource-stopped` annotation (set to null or empty). See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#workbench-startstop-annotation-patch). **MCP Tool**: `get_workbench_url` (from rhoai) @@ -292,7 +292,7 @@ Confirm the workbench is currently stopped. If already running, report its URL a - `namespace`: target namespace - REQUIRED - `name`: workbench name - REQUIRED -**If rhoai unavailable or returns error**: Patch the Notebook CR via `resources_create_or_update` (from openshift) to set annotation `kubeflow-resource-stopped: "true"`. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#workbench-startstop-annotation-patch). +**If rhoai unavailable or returns error**: Patch the Notebook CR via `resources_create_or_update` (from openshift) to set annotation `kubeflow-resource-stopped: "true"`. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#workbench-startstop-annotation-patch). **Verify state change:** @@ -359,7 +359,7 @@ If user confirms PVC deletion: - `namespace`: target namespace - REQUIRED - `name`: PVC name - REQUIRED -**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](../references/openshift-fallback-templates.md#pvc-for-workbench-storage). +**If rhoai unavailable or returns error**: Use `resources_list`/`resources_create_or_update`/`resources_delete` (from openshift) for PersistentVolumeClaim resources. See [openshift-fallback-templates.md](references/openshift-fallback-templates.md#pvc-for-workbench-storage). If user declines, report: "PVC `[pvc_name]` preserved. It can be reattached to a new workbench." @@ -367,7 +367,7 @@ If user declines, report: "PVC `[pvc_name]` preserved. It can be reattached to a ## Common Issues -For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](../references/common-issues.md). +For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [common-issues.md](references/common-issues.md). ### Issue 1: Notebook Image Not Found @@ -388,7 +388,7 @@ For common issues (GPU scheduling, OOMKilled, image pull errors, RBAC), see [com **Solution**: This tool has been replaced. Use the ImageStream lookup pattern via OpenShift MCP to discover correct image names. Patch the stuck Notebook CR with the correct image reference from the ImageStream, then delete the stuck pod to force rescheduling. -See [common-issues.md](../references/common-issues.md#notebook-image-names-mismatch) for details. +See [common-issues.md](references/common-issues.md#notebook-image-names-mismatch) for details. ### Issue 2: PVC Binding Failure @@ -427,7 +427,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option - `/ai-observability` - Check GPU inventory before requesting GPU workbenches ### Reference Documentation -- [skill-conventions.md](../references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions +- [skill-conventions.md](references/skill-conventions.md) - Shared prerequisite, HITL, and security conventions ## Example Usage @@ -437,7 +437,7 @@ See [Prerequisites](#prerequisites) for the complete list of required and option ## Critical: Human-in-the-Loop Requirements -See [skill-conventions.md](../references/skill-conventions.md) for general HITL and security conventions. +See [skill-conventions.md](references/skill-conventions.md) for general HITL and security conventions. **Skill-specific checkpoints:** - Before creating workbench (Step 4): display full configuration table, confirm diff --git a/rh-ai-engineer/skills/workbench-manage/references/common-issues.md b/rh-ai-engineer/skills/workbench-manage/references/common-issues.md new file mode 120000 index 00000000..6f75f48d --- /dev/null +++ b/rh-ai-engineer/skills/workbench-manage/references/common-issues.md @@ -0,0 +1 @@ +../../references/common-issues.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/workbench-manage/references/live-doc-lookup.md b/rh-ai-engineer/skills/workbench-manage/references/live-doc-lookup.md new file mode 120000 index 00000000..6e74d58b --- /dev/null +++ b/rh-ai-engineer/skills/workbench-manage/references/live-doc-lookup.md @@ -0,0 +1 @@ +../../references/live-doc-lookup.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/workbench-manage/references/openshift-fallback-templates.md b/rh-ai-engineer/skills/workbench-manage/references/openshift-fallback-templates.md new file mode 120000 index 00000000..83178dcd --- /dev/null +++ b/rh-ai-engineer/skills/workbench-manage/references/openshift-fallback-templates.md @@ -0,0 +1 @@ +../../references/openshift-fallback-templates.md \ No newline at end of file diff --git a/rh-ai-engineer/skills/workbench-manage/references/skill-conventions.md b/rh-ai-engineer/skills/workbench-manage/references/skill-conventions.md new file mode 120000 index 00000000..2aea3458 --- /dev/null +++ b/rh-ai-engineer/skills/workbench-manage/references/skill-conventions.md @@ -0,0 +1 @@ +../../references/skill-conventions.md \ No newline at end of file diff --git a/rh-sre/skills/cve-impact/SKILL.md b/rh-sre/skills/cve-impact/SKILL.md index 33f896c9..ab192614 100644 --- a/rh-sre/skills/cve-impact/SKILL.md +++ b/rh-sre/skills/cve-impact/SKILL.md @@ -44,7 +44,7 @@ When invoked by another skill (e.g. remediation), use the Skill tool—do NOT us **CRITICAL**: Before executing any operations, execute the `/mcp-lightspeed-validator` skill to verify MCP server availability. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. **How to invoke**: Execute the `/mcp-lightspeed-validator` skill @@ -109,7 +109,7 @@ How would you like to proceed? (first page / all pages / N pages) **Action**: Execute the `/mcp-lightspeed-validator` skill -**Note**: Can skip if validation was performed earlier in this session and succeeded. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Note**: Can skip if validation was performed earlier in this session and succeeded.. **How to invoke**: Execute the `/mcp-lightspeed-validator` skill diff --git a/rh-sre/skills/cve-validation/SKILL.md b/rh-sre/skills/cve-validation/SKILL.md index 5ce9c6c0..cd56e2c0 100644 --- a/rh-sre/skills/cve-validation/SKILL.md +++ b/rh-sre/skills/cve-validation/SKILL.md @@ -48,7 +48,7 @@ When invoked by another skill (e.g. remediation), use the Skill tool—do NOT us **CRITICAL**: Before executing any operations, execute the `/mcp-lightspeed-validator` skill to verify MCP server availability. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. **How to invoke**: Execute the `/mcp-lightspeed-validator` skill @@ -84,7 +84,7 @@ When invoked by another skill (e.g. remediation), use the Skill tool—do NOT us **Action**: Execute the `/mcp-lightspeed-validator` skill -**Note**: Can skip if validation was performed earlier in this session and succeeded. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Note**: Can skip if validation was performed earlier in this session and succeeded.. **How to invoke**: Execute the `/mcp-lightspeed-validator` skill diff --git a/rh-sre/skills/fleet-inventory/SKILL.md b/rh-sre/skills/fleet-inventory/SKILL.md index e58334c3..7baeca27 100644 --- a/rh-sre/skills/fleet-inventory/SKILL.md +++ b/rh-sre/skills/fleet-inventory/SKILL.md @@ -47,7 +47,7 @@ This skill queries Red Hat Lightspeed to retrieve and display information about See **Step 0** in the Workflow section below for implementation details. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. ## When to Use This Skill @@ -73,7 +73,7 @@ See **Step 0** in the Workflow section below for implementation details. **Action**: Execute the `/mcp-lightspeed-validator` skill -**Note**: Can skip if validation was performed earlier in this session and succeeded. See [Validation Freshness Policy](../mcp-lightspeed-validator/SKILL.md#validation-freshness-policy). +**Note**: Can skip if validation was performed earlier in this session and succeeded.. **How to invoke**: Execute the `/mcp-lightspeed-validator` skill diff --git a/rh-sre/skills/job-template-creator/SKILL.md b/rh-sre/skills/job-template-creator/SKILL.md index 6a72a99c..79cab6c7 100644 --- a/rh-sre/skills/job-template-creator/SKILL.md +++ b/rh-sre/skills/job-template-creator/SKILL.md @@ -46,7 +46,7 @@ This skill helps SREs create AAP job templates for executing Ansible playbooks, **CRITICAL**: Before executing operations, execute the `/mcp-aap-validator` skill to verify AAP MCP server availability. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-aap-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. **How to invoke**: Execute the `/mcp-aap-validator` skill @@ -81,7 +81,7 @@ This skill documents both the **current manual workflow** and the **intended aut ## Invocation from playbook-executor -When invoked from the [playbook-executor](../playbook-executor/SKILL.md) skill (Scenario 3 - No suitable template), this skill receives playbook content in context. The playbook-executor invokes with an instruction such as: +When invoked from the `playbook-executor` skill (Scenario 3 - No suitable template), this skill receives playbook content in context. The playbook-executor invokes with an instruction such as: ``` Create a job template for this remediation playbook. Playbook: [content]. Filename: [filename]. Path: [our_playbook_path]. CVE: [cve_id]. Target systems: [list]. @@ -102,7 +102,7 @@ Create a job template for this remediation playbook. Playbook: [content]. Filena **Action**: Execute the `/mcp-aap-validator` skill -**Note**: Can skip if validation was performed earlier in this session and succeeded. See [Validation Freshness Policy](../mcp-aap-validator/SKILL.md#validation-freshness-policy). +**Note**: Can skip if validation was performed earlier in this session and succeeded.. **How to invoke**: Execute the `/mcp-aap-validator` skill diff --git a/rh-sre/skills/job-template-remediation-validator/SKILL.md b/rh-sre/skills/job-template-remediation-validator/SKILL.md index cfea4a36..00379399 100644 --- a/rh-sre/skills/job-template-remediation-validator/SKILL.md +++ b/rh-sre/skills/job-template-remediation-validator/SKILL.md @@ -38,7 +38,7 @@ This skill verifies that an AAP (Ansible Automation Platform) job template meets **CRITICAL**: Before executing, execute the `/mcp-aap-validator` skill to verify AAP MCP server availability. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-aap-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. **How to invoke**: Execute the `/mcp-aap-validator` skill @@ -69,7 +69,7 @@ If prerequisites are not met: ## Remediation Template Requirements -This skill validates against the requirements documented in [playbook-executor](../playbook-executor/SKILL.md) and [job-template-creator](../job-template-creator/SKILL.md). +This skill validates against the requirements documented in the `playbook-executor` and `job-template-creator` skills. ### Required (Must Pass) @@ -278,8 +278,8 @@ recommended_checks.append(("Ask Inventory on Launch", template.get("ask_inventor - `job-template-creator` - Creates templates that this skill validates ### Reference Documentation -- [playbook-executor/SKILL.md](../playbook-executor/SKILL.md) - Template compatibility requirements (Phase 1 Step 1.2, Scenario 3 validation) -- [job-template-creator/SKILL.md](../job-template-creator/SKILL.md) - Template configuration for remediation +- `playbook-executor` skill - Template compatibility requirements (Phase 1 Step 1.2, Scenario 3 validation) +- `job-template-creator` skill - Template configuration for remediation - [AAP Job Templates](https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/using_automation_execution/controller-job-templates) ## Critical: Human-in-the-Loop Requirements diff --git a/rh-sre/skills/playbook-executor/SKILL.md b/rh-sre/skills/playbook-executor/SKILL.md index 1498469a..e2f3f009 100644 --- a/rh-sre/skills/playbook-executor/SKILL.md +++ b/rh-sre/skills/playbook-executor/SKILL.md @@ -48,7 +48,7 @@ This skill executes Ansible remediation playbooks through AAP (Ansible Automatio **CRITICAL**: Before executing operations, execute the `/mcp-aap-validator` skill to verify AAP MCP server availability. -**Validation freshness**: Can skip if already validated in this session. See [Validation Freshness Policy](../mcp-aap-validator/SKILL.md#validation-freshness-policy). +**Validation freshness**: Can skip if already validated in this session.. **How to invoke**: Execute the `/mcp-aap-validator` skill diff --git a/rh-sre/skills/remediation/SKILL.md b/rh-sre/skills/remediation/SKILL.md index 6d1678a2..57a2c83b 100644 --- a/rh-sre/skills/remediation/SKILL.md +++ b/rh-sre/skills/remediation/SKILL.md @@ -106,7 +106,7 @@ Execute skills in this order. **MANDATORY**: Use actual Skill tool invocations, **Expected**: Validation status including `remediation_status.automated_remediation_available` or `validation_status`. -**Remediatable Gate** (MANDATORY): Trust cve-validation skill output. Do NOT re-interpret raw get_cve response—cve-validation uses advisory_available, remediation, advisories_list (not rules[]). See [cve-validation references/01-remediation-indicators.md](../cve-validation/references/01-remediation-indicators.md). +**Remediatable Gate** (MANDATORY): Trust cve-validation skill output. Do NOT re-interpret raw get_cve response—cve-validation uses advisory_available, remediation, advisories_list (not rules[]). See [cve-validation references/01-remediation-indicators.md](references/01-remediation-indicators.md). - **If remediatable** (`remediation_available: true` or `validation_status: "valid"`): Proceed to Step 3. - **If NOT remediatable** (`remediation_available: false` or `validation_status: "not_remediable"`): 1. Explain: "CVE-XXXX-YYYY has no automated remediation in Red Hat Lightspeed. Execution may have no effect." diff --git a/rh-sre/skills/remediation/references/01-remediation-indicators.md b/rh-sre/skills/remediation/references/01-remediation-indicators.md new file mode 120000 index 00000000..d9727f14 --- /dev/null +++ b/rh-sre/skills/remediation/references/01-remediation-indicators.md @@ -0,0 +1 @@ +../../cve-validation/references/01-remediation-indicators.md \ No newline at end of file From f3d395dda7d5497bf80e37a0eb11c0707a7960fb Mon Sep 17 00:00:00 2001 From: Daniele Martinoli Date: Thu, 9 Jul 2026 08:57:17 +0200 Subject: [PATCH 2/2] Fix link in SKILL.md to correctly reference the remediation indicators document. Ensure clarity in the documentation regarding the remediatable gate process. Signed-off-by: Daniele Martinoli --- rh-sre/skills/remediation/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rh-sre/skills/remediation/SKILL.md b/rh-sre/skills/remediation/SKILL.md index 57a2c83b..c783a965 100644 --- a/rh-sre/skills/remediation/SKILL.md +++ b/rh-sre/skills/remediation/SKILL.md @@ -106,7 +106,7 @@ Execute skills in this order. **MANDATORY**: Use actual Skill tool invocations, **Expected**: Validation status including `remediation_status.automated_remediation_available` or `validation_status`. -**Remediatable Gate** (MANDATORY): Trust cve-validation skill output. Do NOT re-interpret raw get_cve response—cve-validation uses advisory_available, remediation, advisories_list (not rules[]). See [cve-validation references/01-remediation-indicators.md](references/01-remediation-indicators.md). +**Remediatable Gate** (MANDATORY): Trust cve-validation skill output. Do NOT re-interpret raw get_cve response—cve-validation uses advisory_available, remediation, advisories_list (not rules[]). See [references/01-remediation-indicators.md](references/01-remediation-indicators.md). - **If remediatable** (`remediation_available: true` or `validation_status: "valid"`): Proceed to Step 3. - **If NOT remediatable** (`remediation_available: false` or `validation_status: "not_remediable"`): 1. Explain: "CVE-XXXX-YYYY has no automated remediation in Red Hat Lightspeed. Execution may have no effect."