How this skill is triggered — by the user, by Claude, or both
Slash command
/microshift-ci:test-jobThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
```bash
/microshift-ci:test-job <job-url>
The microshift-ci:test-job command fetches comprehensive information from a Prow CI job execution and displays it in both JSON and Markdown formats.
This command provides:
This command is useful for understanding what was tested in a specific job run, identifying failures, and accessing detailed logs and artifacts.
This command works by:
finished.json and started.json to get status, timing, and result informationextract-version.py helper script from build logsmicroshift-ci:test-scenario command to get comprehensive JSON dataThe command integrates with the microshift-ci:test-scenario command to provide detailed per-scenario analysis and aggregates all information into a human-readable report with proper formatting (status icons, duration calculations, failure summaries).
$1 (job-url): URL to the Prow CI job - Required
https://prow.ci.openshift.org/view/gs/test-platform-results/logs/<job-name>/<job-id>https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/<job-name>/<job-id>Goal: Extract the job name, job ID, and job configuration.
Actions:
Example Parsing:
URL: https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic/1979744605507162112
Extracted:
- job_name: "periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic"
- job_id: "1979744605507162112"
- version: "4.20"
- arch: "x86_64"
- image_type: "bootc"
Goal: Get job information (status, timing, result).
Actions:
Construct the GCS URL for the finished.json file:
https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/<job-name>/<job-id>/finished.json
Fetch the finished.json file using curl or WebFetch
Parse the JSON to extract:
Fetch started.json for additional metadata:
curl -s "https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/<job-name>/<job-id>/started.json"
Goal: Determine the exact MicroShift version being tested.
This command includes a Python script that automates version extraction from test logs.
Script Location: plugins/microshift-ci/scripts/extract-version.py
Usage:
python3 plugins/microshift-ci/scripts/extract-version.py <prow_url> <scenario>
Arguments:
prow_url: The full Prow CI job URL (e.g., "https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic/1979744605507162112")scenario: The test scenario name (e.g., "el96-lrel@ipv6")Example:
# Extract version for a specific job and scenario
python3 plugins/microshift-ci/scripts/extract-version.py "https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic/1979744605507162112" "el96-lrel@ipv6"
Output (JSON):
{
"success": true,
"version": "4.20.0-202510161342.p0.g17d1d9a.assembly.4.20.0.el9.x86_64",
"build_type": "zstream",
"url": "https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/...",
"error": null
}
Build Types Detected:
"nightly": Nightly development builds"ec": Engineering Candidate"rc": Release Candidate"zstream": Stable/zstream releaseGoal: Find all test scenarios executed in this job and list them.
Output (JSON):
{
"job_id": "1979744605507162112",
"scenarios": [
"el94-y2@el96-lrel@standard1",
"el96-lrel@standard1",
"el96-lrel@lvm",
"el96-lrel@dual-stack",
"el96-lrel@ipv6"
],
"total_scenarios": 5
}
Goal: Get detailed test execution results for each scenario.
Method: Use the microshift-ci:test-scenario command for each scenario to get comprehensive JSON data.
Actions: For each scenario found in Step 4:
Get scenario details using the microshift-ci:test-scenario command:
/microshift-ci:test-scenario <job-url> <scenario-name>
Parse the JSON response which includes:
Example JSON Response:
{
"scenario": {
"name": "el96-lrel@standard1",
"description": "RHEL 9.6 Latest Release - Standard Tests",
"configuration": {
"rhel_version": "9.6",
"release_type": "latest",
"test_category": "Standard Tests"
}
},
"test_results": {
"status": "passed",
"summary": {
"total": 65,
"passed": 65,
"failed": 0,
"errors": 0,
"skipped": 0
},
"execution_time_seconds": 1234.56,
"test_cases": [
{
"name": "MicroShift boots successfully",
"status": "passed"
}
],
"failures": []
},
"artifacts": {
"junit_xml": "https://...",
"boot_log": "https://...",
"debug_log": "https://..."
}
}
Alternative Manual Method (if microshift-ci:test-scenario command unavailable):
Goal: Provide links to useful artifacts and logs.
Actions:
Compile key artifact URLs:
artifacts/<job-type>/openshift-microshift-infra-iso-build/build-log.txtCategorize artifacts by type:
Goal: Create a comprehensive, well-structured report.
Report Structure:
# MicroShift CI Job Details
## Job Overview
- **Job ID**: <job-id>
- **Job Name**: <job-name>
- **Status**: ✓ SUCCESS / ✗ FAILURE / ⚠️ ABORTED
- **Architecture**: x86_64 / aarch64
- **Image Type**: bootc / rpm-ostree
- **Duration**: Xh Ym Zs
- **Started**: YYYY-MM-DD HH:MM:SS UTC
- **Finished**: YYYY-MM-DD HH:MM:SS UTC
## MicroShift Version
- **Full Version**: <full-version-string>
- **Build Type**: nightly / RC / EC / stable
- **Base Version**: X.Y.Z
- **Commit**: <commit-hash>
- **Build Timestamp**: YYYY-MM-DD-HHMMSS
## Test Scenarios
### Scenario: <scenario-name>
- **Description**: <RHEL version and test type>
- **Status**: ✓ PASS / ✗ FAIL
- **Tests**: X passed, Y failed, Z skipped
- **Duration**: Xm Ys
**Failures** (if any):
- Test: <test-name>
- Error: <error-message>
- Log: [View](<log-url>)
[Repeat for each scenario]
## Build Information
- **Build Status**: SUCCESS / FAILURE
- **Build Log**: [View](<build-log-url>)
- **Build Duration**: Xm Ys
## Artifacts & Logs
- [Build Log](<url>)
- [Test Execution Logs](<url>)
- [Scenario Details](<url>)
- [Full Artifacts](<artifacts-url>)
## Links
- [View on Prow CI](<prow-url>)
- [Browse All Artifacts](<gcsweb-url>)
Goal: Handle errors gracefully.
Common Issues:
Job not found (404):
Artifacts not available:
Invalid job URL:
Version extraction failures:
/microshift-ci:test-job https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic/1979744605507162112
Output:
# MicroShift CI Job Details
## Job Overview
- **Job ID**: 1979744605507162112
- **Job Name**: periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-bootc-release-periodic
- **Status**: ✓ SUCCESS
- **Architecture**: x86_64
- **Image Type**: bootc
- **Duration**: 1h 43m 40s
- **Started**: 2025-10-19 03:01:17 UTC
- **Finished**: 2025-10-19 04:44:57 UTC
## MicroShift Version
- **Full Version**: 4.20.0-0.nightly-2025-10-15-110252-20251017171355-4ad30ab2d
- **Build Type**: nightly
- **Base Version**: 4.20.0
- **Commit**: 4ad30ab2d
- **Build Date**: 2025-10-15
## Test Scenarios
### Scenario: el96-lrel@standard1
- **Description**: RHEL 9.6 Latest Release - Standard Tests
- **Status**: ✓ PASS
- **Tests**: 45 passed, 0 failed, 2 skipped
[Additional sections...]
/microshift-ci:test-job https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-microshift-release-4.20-periodics-e2e-aws-tests-release-arm-periodic/1979744608019550208
/microshift-ci:test-job https://prow.ci.openshift.org/view/gs/test-platform-results/logs/some-failing-job/9876543210
Output would include failure details:
## Job Overview
- **Status**: ✗ FAILURE
...
## Test Scenarios
...
**Failures**:
- Test: <test-name>
- Error: <error-message>
- Log: [View](<log-url>)
/microshift-ci:test-job 1979744605507162112
(May prompt for additional context or attempt to determine job type from recent jobs)
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub openshift-eng/edge-tooling --plugin microshift-ci