Fetch component names from Sippy component readiness API
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
list_components.pyThis skill provides functionality to fetch a list of all component names tracked in the Sippy component readiness system for a specific OpenShift release.
Use this skill when you need to:
Python 3 Installation
which python3Network Access
sippy.dptools.openshift.orgFirst, ensure Python 3 is available:
python3 --version
If Python 3 is not installed, guide the user through installation for their platform.
The script is located at:
plugins/component-health/skills/list-components/list_components.py
Execute the script with the release parameter:
# Get components for release 4.21
python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21
# Get components for release 4.20
python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.20
Important: The script automatically appends "-main" to the release version to construct the view parameter (e.g., "4.21" becomes "4.21-main").
The script outputs JSON data with the following structure:
{
"release": "4.21",
"view": "4.21-main",
"component_count": 42,
"components": [
"API",
"Build",
"Cloud Compute",
"Cluster Version Operator",
"Etcd",
"Image Registry",
"Installer",
"Kubernetes",
"Management Console",
"Monitoring",
"Networking",
"OLM",
"Storage",
"etcd",
"kube-apiserver",
"..."
]
}
Field Descriptions:
release: The release identifier that was queriedview: The constructed view parameter used in the API call (release + "-main")component_count: Total number of unique components foundcomponents: Alphabetically sorted array of unique component namesIf View Not Found:
If the release view doesn't exist, the script will return an HTTP 404 error:
HTTP Error 404: Not Found
View '4.99-main' not found. Please check the release version.
Based on the component list, you can:
The script handles several error scenarios:
Network Errors: If unable to reach Sippy API
Error: URL Error: [reason]
HTTP Errors: If API returns an error status
Error: HTTP Error 404: Not Found
View '4.99-main' not found. Please check the release version.
Invalid Release: Script returns exit code 1 with error message
Parsing Errors: If API response is malformed
Error: Failed to fetch components: [details]
The script outputs JSON to stdout with:
Diagnostic messages (like "Fetching components from...") are written to stderr, so they don't interfere with JSON parsing.
The script queries the Sippy component readiness API:
https://sippy.dptools.openshift.org/api/component_readiness?view={release}-mainThe API response structure includes:
{
"rows": [
{
"component": "Networking",
...
},
{
"component": "Monitoring",
...
}
],
...
}
The script:
component field from each rowpython3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21
Output:
{
"release": "4.21",
"view": "4.21-main",
"component_count": 42,
"components": ["API", "Build", "Etcd", "..."]
}
python3 plugins/component-health/skills/list-components/list_components.py \
--release 99.99
Output (to stderr):
Fetching components from: https://sippy.dptools.openshift.org/api/component_readiness?view=99.99-main
HTTP Error 404: Not Found
View '99.99-main' not found. Please check the release version.
Failed to fetch components: HTTP Error 404: Not Found
Exit code: 1
This skill can be used in conjunction with other component-health skills:
Example Integration:
# Get all components for 4.21
COMPONENTS=$(python3 plugins/component-health/skills/list-components/list_components.py \
--release 4.21 | jq -r '.components[]')
# Analyze each component
for component in $COMPONENTS; do
echo "Analyzing $component..."
# Use component in other commands
done
plugins/component-health/skills/list-regressions/SKILL.mdplugins/component-health/skills/get-release-dates/SKILL.md/component-health:list-regressions (for regression data)/component-health:analyze (for health grading)plugins/component-health/README.md