Svelte Core Best Practices
rilldata/rill
Rules for writing idiomatic Svelte 5 code: when to reach for runes like state, derived and effect, and how to handle props, attachments and bindings.
State management for agentic payload triage actions — you must use this skill whenever reading or writing the payload results YAML file
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openshift-eng/ai-helpers payload-results-yaml --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .claude/skills/payload-results-yaml && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .claude/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yamlType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openshift-eng/ai-helpers payload-results-yaml --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .agents/skills/payload-results-yaml && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .agents/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openshift-eng/ai-helpers payload-results-yaml --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .cursor/skills/payload-results-yaml && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .cursor/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openshift-eng/ai-helpers.git --path plugins/ci/skills/payload-results-yaml--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openshift-eng/ai-helpers payload-results-yaml --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .gemini/skills/payload-results-yaml && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .gemini/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openshift-eng/ai-helpers payload-results-yamlInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .github/skills/payload-results-yaml && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .github/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openshift-eng/ai-helpers payload-results-yaml --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/ci/skills/payload-results-yaml .opencode/skills/payload-results-yaml && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "payload-results-yaml" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/payload-results-yaml into .opencode/skills/payload-results-yaml/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "payload-results-yaml", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
payload-results-yamlState management for agentic payload triage actions — you must use this skill whenever reading or writing the payload results YAML file
Payload Results YAML is an agent skill from openshift-eng/ai-helpers. State management for agentic payload triage actions — you must use this skill whenever reading or writing the payload results YAML file
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts (for example `scripts/test_validate.py`, `scripts/testdata/invalid_candidate_type_not_string.yaml` and `scripts/testdata/invalid_flat_schema.yaml`).
It sits in Frontend & Design, covering State management. The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 14 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
prow.ci.openshift.orggithub.comamd64.ocp.releases.ci.openshift.orgredhat.atlassian.netpr-payload-tests.ci.openshift.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Payload Results YAML loads about 3.7k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 1,368 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 1,368 words, ~3,675 tokens.
.claude/skills/payload-results-yaml/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.This skill defines the schema for the payload-results-{tag}.yaml file and provides the operations for reading and writing it. All skills in the payload triage pipeline must use this skill when interacting with the results file.
Use this skill whenever you need to:
payload-analysis)payload-revert, payload-experiment)stage-payload-reverts, payload-experimental-reverts)payload-experimental-reverts Phase 2)The file is always written to and read from the current working directory:
payload-results-{tag}.yamlWhere {tag} is the full payload tag with colons and slashes replaced by hyphens (e.g., payload-results-4.22.0-0.nightly-2026-02-25-152806.yaml).
metadata:
payload_tag: "4.22.0-0.nightly-2026-02-25-152806"
version: "4.22"
stream: "nightly"
architecture: "amd64"
release_controller_url: "https://amd64.ocp.releases.ci.openshift.org/..."
analyzed_at: "2026-02-26T10:30:00Z"
force_accept_recommended: false
failing_jobs:
- job_name: "periodic-ci-...-e2e-aws-ovn"
prow_url: "https://prow.ci.openshift.org/..."
is_aggregated: false
underlying_job_name: ""
failure_type: "test"
root_cause_summary: "OVN gateway mode selection regression"
streak_length: 5
originating_payload_tag: "4.22.0-0.nightly-2026-02-20-150000"
failure_pattern: "F F F F F S S"
- job_name: "periodic-ci-...-e2e-gcp-ovn-techpreview"
prow_url: "https://prow.ci.openshift.org/..."
is_aggregated: false
underlying_job_name: ""
failure_type: "infra"
root_cause_summary: "Step pod unschedulable on build04: DiskPressure, 0/N nodes available"
cluster_profile: "gcp"
streak_length: 1
originating_payload_tag: "4.22.0-0.nightly-2026-02-25-152806"
failure_pattern: "F"
ship_status:
component_slug: build-farm
sub_component_slug: build04
cluster_profile: "gcp"
window_start: "2026-02-25T14:00:00Z"
window_end: "2026-02-25T15:30:00Z"
observed_health: healthy
existing_outage_id: null
queried_at: "2026-02-25T16:00:00Z"
action: pending
outage_id: null
dashboard_url: null
reason: ""
candidates:
- type: "pr"
pr_url: "https://github.com/openshift/cno/pull/2037"
pr_number: 2037
component: "cluster-network-operator"
title: "Fix OVN gateway mode selection"
confidence_score: 95
rationale: "temporal match + component match + error references code changed"
failing_jobs:
- "periodic-ci-...-e2e-aws-ovn"
actions:
- type: "revert"
status: "staged"
revert_pr_url: "https://github.com/openshift/cno/pull/2038"
revert_pr_state: "open"
result_summary: "Revert PR opened and payload jobs triggered"
jira_key: "TRT-1234"
jira_url: "https://redhat.atlassian.net/browse/TRT-1234"
payload_jobs:
- command: "/payload-job periodic-ci-...-e2e-aws-ovn"
test_url: "https://pr-payload-tests.ci.openshift.org/runs/ci/..."
test_prow_url: "https://prow.ci.openshift.org/view/gs/..."
- type: "rhcos_rpm"
rhcos_tag: "rhel-coreos-10"
rhcos_name: "Red Hat Enterprise Linux CoreOS 10.2"
package: "systemd"
old_version: "257-23.el10"
new_version: "257-23.el10_2.2"
confidence_score: 70
changelog_evidence: "systemd 257-23.el10_2.2: fix boot ordering race with local-fs-pre.target"
rationale: "systemd update correlates with variant-isolated boot timeout in RHCOS 10 jobs"
failing_jobs:
- "periodic-ci-...-e2e-metal-ipi-ovn-ipv4"
actions: []metadataWritten once by payload-analysis. Never modified by downstream skills.
| Field | Type | Description |
|---|---|---|
payload_tag | string | Full payload tag being analyzed |
version | string | OCP version (e.g., "4.22") |
stream | string | "nightly" or "ci" |
architecture | string | "amd64", "arm64", "multi", etc. |
release_controller_url | string | URL to the payload on the release controller |
analyzed_at | string | ISO 8601 timestamp of when the analysis was performed |
force_accept_recommended | bool | true when all failures are temporary infrastructure issues, no more than 2 blocking jobs failed, and no payload has been accepted in the stream for 18+ hours. Determined by payload-analysis Step 6.4. |
failing_jobs[]All failed blocking jobs in the payload. Written once by payload-analysis. Never modified by downstream skills. This is the authoritative list of failures — every failed blocking job appears here regardless of whether a candidate PR has been identified.
| Field | Type | Description |
|---|---|---|
job_name | string | Full periodic job name |
prow_url | string | Prow URL for the failing run |
is_aggregated | bool | Whether this is an aggregated job |
underlying_job_name | string | For aggregated jobs, the underlying periodic job name; "" otherwise |
failure_type | string | "test", "install", "upgrade", or "infra" |
root_cause_summary | string | Brief description of the failure mode |
streak_length | int | Consecutive payloads this job has been failing |
originating_payload_tag | string | The payload where this job first started failing in the current streak |
failure_pattern | string | Pass/fail history across the lookback window, most recent first (e.g., "F F F S F F") |
cluster_profile | string | Optional. Exact CI cluster profile name (for example azure4, hypershift-aws, hypershift-aks). Required on infra jobs. Copy it from the job's cluster_profile; do not invent a name from the cloud vendor or the job name. |
ship_status | object | Optional. SHIP Status observation for failure_type: infra jobs (and when infra is suspected). Omit the key entirely when SHIP read tools (get_outages_during / list_components) are not in the tool list. Do not write action: skipped as a stand-in for missing tools. |
failing_jobs[].ship_status (optional)Recorded by payload-analysis steps 6.5 (read) and 6.6 (write, only when record_payload_infra_outage exists). Downstream skills must not invent slugs.
| Field | Type | Description |
|---|---|---|
component_slug | string | SHIP Status component from the root-cause map (e.g. downstream-ci, boskos, boskos-hypershift, prow, build-farm). build-farm only when that CI cluster itself failed, never as a default from spec.cluster. |
sub_component_slug | string | SHIP Status sub-component (e.g. ci-config, gcp, build04) |
cluster_profile | string | Optional. Same exact cluster profile as on the job. Required on every infra ship_status observation. |
window_start | string | RFC3339 UTC start of the job's Prow run (same bound passed to get_outages_during) |
window_end | string | RFC3339 UTC end of the job's Prow run (job completion, or --as-of if missing) |
observed_health | string | Health overlapping the job run window from get_outages_during (healthy if none; otherwise the overlapping outage severity). Never live "now" status from get_infrastructure_status. |
existing_outage_id | int or null | Outage id overlapping the job window, or null if none |
queried_at | string | RFC3339 UTC timestamp of the read |
action | string | Required when ship_status is present. pending | created | linked | skipped |
outage_id | int or null | Filled after a Chai-hosted write |
dashboard_url | string or null | Outage URL after create/link |
reason | string | Skip/error detail (unmapped, already_recorded, …) |
candidates[]Each entry represents a PR or an RHCOS RPM change identified as a candidate cause of payload failures. Top-level candidate fields are written once by payload-analysis and are read-only to downstream skills. The actions sub-array is mutable (see below).
Candidates reference failing jobs by job_name via the failing_jobs string array, linking back to the top-level failing_jobs[] entries.
Common fields (required on every candidate, regardless of type):
| Field | Type | Description |
|---|---|---|
type | string | "pr" or "rhcos_rpm" — determines which type-specific fields below apply |
confidence_score | int | 0-100 confidence that this candidate caused the failures |
rationale | string | Explanation of why this candidate is suspected, with itemized rubric signals |
failing_jobs | array of strings | Job names from the top-level failing_jobs[] that this candidate is blamed for |
actions | array | Actions taken on this candidate (see below). rhcos_rpm candidates cannot be reverted, so this is normally [] for them |
type: "pr" fields:
| Field | Type | Description |
|---|---|---|
pr_url | string | GitHub PR URL |
pr_number | int | PR number |
component | string | OCP component name |
title | string | PR title |
type: "rhcos_rpm" fields:
| Field | Type | Description |
|---|---|---|
rhcos_tag | string | RHCOS image stream tag (rhel-coreos or rhel-coreos-10) |
rhcos_name | string | Human-readable RHCOS version name |
package | string | RPM package name (or the logical source package when subpackages are deduped) |
old_version | string | Previous RPM version |
new_version | string | New RPM version |
changelog_evidence | string | The specific changelog entry or entries relating to the failure, or "none" |
RHCOS RPM candidates cannot be reverted through the normal PR process — downstream skills that stage or filter reverts (e.g. stage-payload-reverts, /ci:payload-revert) MUST exclude candidates with type: "rhcos_rpm", regardless of confidence_score.
candidates[].actions[]Actions taken on a candidate. New entries are appended by downstream skills. Existing entries may be updated in place (e.g., status, result_summary, payload_jobs) by the Update Action Status operation. An empty array means no action has been taken.
| Field | Type | Description |
|---|---|---|
type | string | "revert" or "experiment" |
status | string | See status values below |
revert_pr_url | string | URL of the revert PR (draft or real) |
revert_pr_state | string | "draft", "open", "merged", "closed" |
result_summary | string | Brief description of the outcome |
jira_key | string | TRT JIRA key (e.g., "TRT-1234"), or "" |
jira_url | string | TRT JIRA URL, or "" |
payload_jobs | array | Payload validation jobs triggered (see below) |
Status values:
| Status | Meaning |
|---|---|
"open" | Pre-existing revert PR found open during analysis |
"merged" | Pre-existing revert PR already merged |
"staged" | Revert PR and JIRA created, payload jobs triggered (used by type: "revert") |
"pending" | Experiment dispatched, payload jobs running, results not yet collected |
"passed" | Payload jobs passed with the revert — candidate confirmed as cause |
"failed" | Payload jobs still fail with the revert — candidate is innocent |
"inconclusive" | Mixed or unfinished results |
"skipped_conflict" | Revert has merge conflicts, skipped |
"deferred" | Jobs skipped due to triggering limits, or candidate exceeded max experiment count |
candidates[].actions[].payload_jobs[]Payload validation jobs triggered against the revert PR.
| Field | Type | Description |
|---|---|---|
command | string | The payload command posted on the PR (e.g., /payload-job periodic-ci-...-e2e-aws-ovn) |
test_url | string | pr-payload-tests URL for the run |
test_prow_url | string | Prow URL for the resulting test run |
payload-analysis)Write a new payload-results-{tag}.yaml with metadata, failing_jobs, and candidates populated. All failed blocking jobs are recorded in failing_jobs. Every candidate carries a type ("pr" or "rhcos_rpm"). Candidates with no pre-existing revert start with actions: []. If a pre-existing revert PR is discovered during analysis for a type: "pr" candidate, append an action with type: "revert" and status: "open" or "merged".
payload-revert, payload-experiment)Read the file. Filter candidates by type: "pr" and confidence_score range — rhcos_rpm candidates cannot be reverted or experimented on and MUST be excluded. Exclude candidates that already have an action with status of "open" or "merged" (pre-existing revert). Return matching candidates. Use the top-level failing_jobs[] to look up full job details for each candidate's failing_jobs references.
stage-payload-reverts, payload-experimental-reverts)For a given type: "pr" candidate (matched by pr_url), append a new entry to its actions array. Do not modify existing action entries.
payload-experimental-reverts Phase 2)For a given candidate's action entry (matched by pr_url and type), update its status, result_summary, revert_pr_state, jira_key, jira_url, and payload_jobs fields in place.
payload-experiment)Scan all candidates. If any candidate has an action with type: "experiment" and status: "pending", the file has in-progress experiments awaiting Phase 2 collection. Phase 2 processes only pending experiments — candidates with other statuses are left unchanged.
Validator: run python3 plugins/ci/skills/payload-results-yaml/scripts/validate.py <payload-results-file> to check a generated YAML file against this schema.
Related Skill: payload-analysis — creates the results file
Related Skill: stage-payload-reverts — appends type: "revert" actions
Related Skill: payload-experimental-reverts — appends type: "experiment" actions, updates status in Phase 2
Related Command: /ci:payload-revert — stages reverts for high-confidence candidates
Related Command: /ci:payload-experiment — experimentally tests medium-confidence candidates
© openshift-eng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 14 other files (scripts) in plugins/ci/skills/payload-results-yaml of openshift-eng/ai-helpers.
Open the folder on GitHubat commit a627176
Payload Results YAML next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Payload Results YAML this skillopenshift-eng/ai-helpers | 120 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Svelte Core Best Practicesrilldata/rill | 2.9k | 4 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Dify Component Writing Guidelanggenius/dify | 158k | — | ~626 | Automated safety check: Pass | Custom licence | |
| React State Managementinvolvex/youtube-music-cli | 456 | 13 repos | ~3k | Automated safety check: Pass | MIT | |
| Pierre Theming Librarypierrecomputer/pierre | 6.3k | — | ~661 | Automated safety check: Pass | Apache-2.0 | |
| Frontend Patternskurealnum/dotfiles | 290 | 19 repos | ~3.7k | Automated safety check: Pass | None |
rilldata/rill
Rules for writing idiomatic Svelte 5 code: when to reach for runes like state, derived and effect, and how to handle props, attachments and bindings.
langgenius/dify
Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…
involvex/youtube-music-cli
Master modern React state management with Redux Toolkit, Zustand, Jotai, and React Query.
pierrecomputer/pierre
Explains how to use the @pierre/theming package to list, resolve, select, switch and persist themes, with controller, color and React references.
kurealnum/dotfiles
Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.
lobehub/lobehub
Explains how LobeHub client code fetches data through services, SWR store hooks and cache keys, and when to avoid useEffect fetching or duplicated state.
openshift-eng/ai-helpers
Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.
openshift-eng/ai-helpers
Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.
openshift-eng/ai-helpers
Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.
openshift-eng/ai-helpers
Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.
openshift-eng/ai-helpers
Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.
openshift-eng/ai-helpers
Schema for the autodl JSON data file produced by payload-analysis for database ingestion — you must use this skill whenever generating the autodl JSON file
Categories
State management for agentic payload triage actions — you must use this skill whenever reading or writing the payload results YAML file. Payload Results YAML is an agent skill from openshift-eng/ai-helpers.
Payload Results YAML fits situations like: writing the payload results YAML file; tasks that involve State management.
Run `npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a claude-code`. Or copy the skill folder (plugins/ci/skills/payload-results-yaml in openshift-eng/ai-helpers) into .claude/skills/payload-results-yaml in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a codex`. Or copy the skill folder (plugins/ci/skills/payload-results-yaml in openshift-eng/ai-helpers) into .agents/skills/payload-results-yaml in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openshift-eng/ai-helpers --skill payload-results-yaml -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/payload-results-yaml, .gemini/skills/payload-results-yaml, .github/skills/payload-results-yaml and .opencode/skills/payload-results-yaml in your project.
Going by SKILL.md and its folder, Payload Results YAML needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 5 domains. In commands or code: prow.ci.openshift.org, github.com, amd64.ocp.releases.ci.openshift.org, redhat.atlassian.net and pr-payload-tests.ci.openshift.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Payload Results YAML is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Payload Results YAML: Svelte Core Best Practices (rilldata/rill, 2.9k stars), Dify Component Writing Guide (langgenius/dify, 158k stars), React State Management (involvex/youtube-music-cli, 456 stars) and Pierre Theming Library (pierrecomputer/pierre, 6.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openshift-eng (a GitHub organization) maintains it in openshift-eng/ai-helpers, which has 120 GitHub stars. The repository holds 118 skills in this directory. The repository was last updated on October 6, 2026.
Source: openshift-eng/ai-helpers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.