Agent skill

Payload Autodl JSON

by openshift-eng in 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

Apache-2.0Auto-check passed

Install Payload Autodl JSON

skills CLI
$ npx skills add openshift-eng/ai-helpers --skill payload-autodl-json -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openshift-eng/ai-helpers payload-autodl-json --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-autodl-json .claude/skills/payload-autodl-json && rm -rf skills-src

Use ~/.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/

Facts

Skill name
payload-autodl-json
GitHub stars
120
Token cost
~2.6k tokens
SKILL.md length
721 words
Files
11 (incl. scripts)
Skills in repo
118
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Works in 8 steps: All row values MUST be strings — wrap… → Empty/missing values are empty strings… → is_new_failure: "1" for true, "0" for… → …
  • Generating the autodl JSON file
  • SKILL.md covers When to Use This Skill, File Location, Schema and Row Cardinality Rules, plus 4 more sections
  • Runs Python scripts from its folder; calls python3; reaches amd64.ocp.releases.ci.openshift.org and prow.ci.openshift.org

What it does

Payload Autodl JSON is an agent skill from 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

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts (for example `scripts/test_validate.py`, `scripts/testdata/empty_stream.json` and `scripts/testdata/empty_version.json`).

The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.

When your agent uses it

  • Generating the autodl JSON file

Example prompts

  • “/payload-autodl-json”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. All row values MUST be strings — wrap every value in double quotes (e.g., "5" not 5). The schema declares the downstream types.
  2. Empty/missing values are empty strings (""). For int64 fields with no value, use "0".
  3. is_new_failure: "1" for true, "0" for false.
  4. candidate_confidence_score: Integer 0-100, e.g. "95". "0" when no candidate.
  5. revert_pr_url: URL of the revert PR — either a pre-existing revert discovered during analysis, or one created by stage-payload-reverts. ""…
  6. revert_pr_status: "open", "merged", "draft", "closed", or "" if no revert.
  7. schema_mapping is always null.
  8. chunk_size, expiration_days, and partition_column are always 0, 0, and "".

What it can do on your machine

Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 10 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • amd64.ocp.releases.ci.openshift.org
    • prow.ci.openshift.org
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Payload Autodl JSON loads about 2.6k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 721 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 721 words, ~2,588 tokens.

Download SKILL.mdSave it as .claude/skills/payload-autodl-json/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
payload-autodl-json
description
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

Payload Autodl JSON

This skill defines the schema for the payload-analysis-{tag}-autodl.json file. The file is a flat denormalized table designed for database ingestion, with one row per (failed blocking job, candidate PR) pair.

When to Use This Skill

Use this skill when you need to generate the autodl JSON file during payload-analysis (Step 8).

File Location

The file is written to the current working directory:

payload-analysis-<sanitized_tag>-autodl.json

The filename must end with -autodl.json. Sanitize the tag for filename safety (replace colons and slashes with hyphens).

Schema

json
{
    "table_name": "payload_triage",
    "schema": {
        "payload_tag": "string",
        "version": "string",
        "stream": "string",
        "architecture": "string",
        "phase": "string",
        "release_controller_url": "string",
        "analyzed_at": "string",
        "rejection_streak": "int64",
        "total_blocking_jobs": "int64",
        "failed_blocking_jobs": "int64",
        "force_accept_recommended": "int64",
        "job_name": "string",
        "prow_url": "string",
        "failure_type": "string",
        "root_cause_summary": "string",
        "streak_length": "int64",
        "is_new_failure": "int64",
        "originating_payload_tag": "string",
        "candidate_pr_url": "string",
        "candidate_title": "string",
        "candidate_repo": "string",
        "candidate_confidence_score": "int64",
        "candidate_rationale": "string",
        "revert_pr_url": "string",
        "revert_pr_status": "string",
        "rhcos_change_suspected": "int64",
        "rhcos_suspect_packages": "string"
    },
    "schema_mapping": null,
    "rows": [
        {
            "payload_tag": "4.22.0-0.nightly-2026-02-25-152806",
            "version": "4.22",
            "stream": "nightly",
            "architecture": "amd64",
            "phase": "Rejected",
            "release_controller_url": "https://amd64.ocp.releases.ci.openshift.org/...",
            "analyzed_at": "2026-02-26T10:30:00Z",
            "rejection_streak": "5",
            "total_blocking_jobs": "42",
            "failed_blocking_jobs": "4",
            "force_accept_recommended": "0",
            "job_name": "periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn",
            "prow_url": "https://prow.ci.openshift.org/view/gs/...",
            "failure_type": "test",
            "root_cause_summary": "OVN gateway mode selection regression",
            "streak_length": "5",
            "is_new_failure": "0",
            "originating_payload_tag": "4.22.0-0.nightly-2026-02-20-150000",
            "candidate_pr_url": "https://github.com/openshift/cno/pull/2037",
            "candidate_title": "Fix OVN gateway mode selection",
            "candidate_repo": "openshift/cluster-network-operator",
            "candidate_confidence_score": "95",
            "candidate_rationale": "Error references code changed by this PR",
            "revert_pr_url": "https://github.com/openshift/cno/pull/2038",
            "revert_pr_status": "open",
            "rhcos_change_suspected": "0",
            "rhcos_suspect_packages": ""
        },
        {
            "payload_tag": "4.22.0-0.nightly-2026-02-25-152806",
            "version": "4.22",
            "stream": "nightly",
            "architecture": "amd64",
            "phase": "Rejected",
            "release_controller_url": "https://amd64.ocp.releases.ci.openshift.org/...",
            "analyzed_at": "2026-02-26T10:30:00Z",
            "rejection_streak": "5",
            "total_blocking_jobs": "42",
            "failed_blocking_jobs": "4",
            "force_accept_recommended": "0",
            "job_name": "periodic-ci-openshift-release-main-ci-4.22-e2e-gcp-ovn",
            "prow_url": "https://prow.ci.openshift.org/view/gs/...",
            "failure_type": "install",
            "root_cause_summary": "Install timeout waiting for etcd quorum",
            "streak_length": "2",
            "is_new_failure": "0",
            "originating_payload_tag": "4.22.0-0.nightly-2026-02-23-080000",
            "candidate_pr_url": "",
            "candidate_title": "",
            "candidate_repo": "",
            "candidate_confidence_score": "0",
            "candidate_rationale": "",
            "revert_pr_url": "",
            "revert_pr_status": "",
            "rhcos_change_suspected": "1",
            "rhcos_suspect_packages": "systemd,glibc"
        }
    ],
    "chunk_size": 0,
    "expiration_days": 0,
    "partition_column": ""
}

Row Cardinality Rules

ScenarioRows for that job
Failed job, no candidate1 row — candidate fields are "" / "0"
Failed job, 1 candidate1 row — candidate fields populated
Failed job, 2+ candidatesN rows — job fields identical, candidate fields differ per candidate
Passed job0 rows — not included

Field Rules

  1. All row values MUST be strings — wrap every value in double quotes (e.g., "5" not 5). The schema declares the downstream types.
  2. Empty/missing values are empty strings (""). For int64 fields with no value, use "0".
  3. is_new_failure: "1" for true, "0" for false.
  4. candidate_confidence_score: Integer 0-100, e.g. "95". "0" when no candidate.
  5. revert_pr_url: URL of the revert PR — either a pre-existing revert discovered during analysis, or one created by stage-payload-reverts. "" if no revert exists.
  6. revert_pr_status: "open", "merged", "draft", "closed", or "" if no revert.
  7. schema_mapping is always null.
  8. chunk_size, expiration_days, and partition_column are always 0, 0, and "".

Field Descriptions

Payload-level fields (denormalized across all rows)
FieldTypeDescription
payload_tagstringFull payload tag
versionstringOCP version (e.g., "4.22")
streamstringCanonical stream type: "nightly" or "ci". For OKD payloads (e.g. okd-scos-nightly, okd-scos), map to the base type: okd-scos-nightly → "nightly", okd-scos → "ci".
architecturestring"amd64", "arm64", "multi", etc.
phasestringPayload phase: "Rejected", "Accepted", "Ready"
release_controller_urlstringURL to the payload on the release controller
analyzed_atstringISO 8601 timestamp of when the analysis was performed
rejection_streakint64Number of consecutive rejected payloads leading up to the target
total_blocking_jobsint64Total number of blocking jobs in the payload
failed_blocking_jobsint64Number of failed blocking jobs
force_accept_recommendedint641 if all failures are temporary infrastructure, no more than 2 blocking jobs failed, and no payload accepted in 18+ hours; 0 otherwise
Job-level fields
FieldTypeDescription
job_namestringFull periodic job name
prow_urlstringProw URL for the failing run
failure_typestring"test", "install", "upgrade", or "infra"
root_cause_summarystringBrief description of the failure mode
streak_lengthint64Consecutive payloads this job has been failing
is_new_failureint641 if the job first started failing in the target payload, 0 otherwise
originating_payload_tagstringThe payload where this job first started failing in the current streak
Show full SKILL.md (280 more words)Show less
Candidate-level fields
FieldTypeDescription
candidate_pr_urlstringGitHub PR URL, or "" if no candidate
candidate_titlestringPR title, or ""
candidate_repostringGitHub org/repo, or ""
candidate_confidence_scoreint640-100 confidence score, 0 when no candidate
candidate_rationalestringExplanation of why this PR is a candidate, or ""
revert_pr_urlstringURL of a revert PR if one exists, or ""
revert_pr_statusstring"open", "merged", "draft", "closed", or ""
RHCOS suspect fields
FieldTypeDescription
rhcos_change_suspectedint64"1" if RHCOS RPM changes are suspected to contribute to this job's failure, "0" otherwise
rhcos_suspect_packagesstringComma-separated RPM package names suspected as causes (e.g., "kernel,systemd"), or "" when not suspected

Operations

Create (used by payload-analysis)

Generate the full autodl JSON file with all rows populated from the analysis results. Each failed blocking job produces at least one row. Candidate fields are populated when a PR is correlated to the failure, otherwise they are empty strings / "0".

Update Revert Status (used by stage-payload-reverts)

After staging reverts, find rows matching candidate_pr_url and set:

  • revert_pr_url: URL of the revert PR (created or pre-existing)
  • revert_pr_status: "open" (or "draft" if draft)
Update Experiment Status (used by payload-experimental-reverts)

Phase 1 (dispatch): After creating draft revert PRs, find rows matching candidate_pr_url and set:

  • revert_pr_url: URL of the draft revert PR
  • revert_pr_status: "draft"

Phase 2 (collection): After collecting experiment results, find rows matching candidate_pr_url and update:

  • PASS (confirmed cause): revert_pr_status: "open"
  • FAIL (innocent): revert_pr_url: "", revert_pr_status: "" (draft was closed)

See Also

  • Validator: run python3 plugins/ci/skills/payload-autodl-json/scripts/validate.py <payload-autodl-file> to check generated JSON for correctness.

  • Related Skill: payload-analysis — creates this file in Step 8

  • Related Skill: stage-payload-reverts — updates revert fields after staging reverts

  • Related Skill: payload-experimental-reverts — updates revert fields after experiments

  • Related Skill: payload-results-yaml — the YAML results file for downstream agentic actions

© 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

Files

SKILL.md and 10 other files (scripts) in plugins/ci/skills/payload-autodl-json of openshift-eng/ai-helpers.

  • SKILL.md
  • scripts/test_validate.py
  • scripts/testdata/empty_stream.json
  • scripts/testdata/empty_version.json
  • scripts/testdata/invalid_empty_rows.json
  • scripts/testdata/invalid_no_table_name.json
  • scripts/testdata/invalid_non_string_values.json
  • scripts/testdata/invalid_stream.json
  • scripts/testdata/invalid_version.json
  • scripts/testdata/valid.json
  • scripts/validate.py

Open the folder on GitHubat commit a627176

Compare with similar skills

Payload Autodl JSON 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.

Payload Autodl JSON compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Payload Autodl JSON this skillopenshift-eng/ai-helpers120—~2.6kAutomated safety check: PassApache-2.0
Payloadpayloadcms/payload45k5 repos~6.2kAutomated safety check: PassMIT
Payload Accessibilitypayloadcms/payload45k—~808Automated safety check: PassMIT
Kafka Producer Consumerjeremylongshore/tons-of-skills-marketplace2.8k—~580Automated safety check: PassMIT
Youtube Producercbrock84/headcount2k—~1.3kAutomated safety check: PassMIT
Builder Payload Smithdiscord-php/DiscordPHP1.1k—~1.8kAutomated safety check: PassMIT

Similar skills

  • Payload

    payloadcms/payload

    A skill your agent uses when working with Payload projects (payload.config.ts, collections, fields, hooks, access control, Payload API).

    45k GitHub starsUsed in 5 repos~6.2k tokens
    Backend & APIsAuto-check passed
  • Payload Accessibility

    payloadcms/payload

    A skill your agent uses when changing or reviewing rendered Payload UI, interaction or focus behavior, semantic markup, accessibility tests, or WCAG/VPAT evidence.

    45k GitHub stars~808 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Kafka Producer Consumer

    jeremylongshore/tons-of-skills-marketplace

    Manage kafka producer consumer operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~580 tokensUpdated today
    Backend & APIsAuto-check passed
  • Youtube Producer

    cbrock84/headcount

    Plans, packages, and scripts long-form video for retention and channel growth — idea selection, titles and thumbnails, script structure, and diagnosing why a video or channel underperforms.

    2k GitHub stars~1.3k tokensUpdated 21 days ago
    Media & CreativeAuto-check passed
  • Builder Payload Smith

    discord-php/DiscordPHP

    Maintain Builder classes — outbound payload construction, validation, serialization, component handling, and fromPart symmetry.

    1.1k GitHub stars~1.8k tokensUpdated 3 days ago
    Auto-check passed
  • Short Drama Produce

    zenstory-ai/drama-skills

    在创作者明确确认后,执行短剧项目的图片、视频、TTS/配音或时间线音乐生产任务,并把结果与精简运行记录落回项目。用户说“生成这张图/这段视频/这句配音/这段配乐”“开始跑图/跑视频/合成语音/生成音乐”“把已确认提示词送去生产”,或要求批量执行已确认媒体任务时使用;不负责创作提示词、镜头、台词、歌词或声音身份,也绝不把预览、继续、预算说明或既有接受状态当作本次付费生产确认。

    2.6k GitHub stars~1.9k tokensUpdated 6 days ago
    Media & CreativeAuto-check passed

More from openshift-eng/ai-helpers

All 118 skills in this repo
  • Investigate CI Reliability

    openshift-eng/ai-helpers

    Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.

    120 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Address Review PR

    openshift-eng/ai-helpers

    Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.

    120 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Categorize Activity Types

    openshift-eng/ai-helpers

    Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.

    120 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Has Review Work

    openshift-eng/ai-helpers

    Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.

    120 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Must Gather Analyzer

    openshift-eng/ai-helpers

    Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.

    120 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Payload Results YAML

    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

    120 GitHub stars~3.7k tokensUpdated 2 days ago
    Auto-check passed

Questions about Payload Autodl JSON

What does Payload Autodl JSON do?

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. Payload Autodl JSON is an agent skill from openshift-eng/ai-helpers.

When should I use Payload Autodl JSON?

Payload Autodl JSON fits situations like: generating the autodl JSON file.

How do I install Payload Autodl JSON in Claude Code?

Run `npx skills add openshift-eng/ai-helpers --skill payload-autodl-json -a claude-code`. Or copy the skill folder (plugins/ci/skills/payload-autodl-json in openshift-eng/ai-helpers) into .claude/skills/payload-autodl-json in your project. Claude Code loads it when a task matches its description.

How do I install Payload Autodl JSON in Codex?

Run `npx skills add openshift-eng/ai-helpers --skill payload-autodl-json -a codex`. Or copy the skill folder (plugins/ci/skills/payload-autodl-json in openshift-eng/ai-helpers) into .agents/skills/payload-autodl-json in your project. Codex loads it when a task matches its description.

Can I use Payload Autodl JSON in Cursor, Gemini CLI or GitHub Copilot?

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-autodl-json -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-autodl-json, .gemini/skills/payload-autodl-json, .github/skills/payload-autodl-json and .opencode/skills/payload-autodl-json in your project.

What does Payload Autodl JSON need to run?

Going by SKILL.md and its folder, Payload Autodl JSON needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Payload Autodl JSON access the network?

SKILL.md names 3 domains. In commands or code: amd64.ocp.releases.ci.openshift.org, prow.ci.openshift.org and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Payload Autodl JSON safe to install?

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.

What licence does Payload Autodl JSON use?

Payload Autodl JSON 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.

How many tokens does Payload Autodl JSON use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Payload Autodl JSON?

Skills that share tags, products or a category with Payload Autodl JSON: Payload (payloadcms/payload, 45k stars), Payload Accessibility (payloadcms/payload, 45k stars), Kafka Producer Consumer (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Youtube Producer (cbrock84/headcount, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Payload Autodl JSON?

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.