GitHub Actions Queue Latency Audit

v1.0.0

Audit GitHub Actions queue wait hotspots from run/job JSON so CI bottlenecks are visible before they stall merges.

0· 254·0 current·0 all-time
byDaniel Lummis@daniellummis
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included script and fixtures. Required binaries (bash, python3) are appropriate for a shell wrapper that runs an embedded Python parser. No unrelated credentials, config paths, or strange binaries are requested.
Instruction Scope
SKILL.md shows examples using the 'gh' CLI to export run JSON, but the skill does not declare 'gh' as a required binary — this is a minor mismatch (the use of 'gh' is optional/example-only). The runtime instructions and script operate only on local JSON files (glob), apply user-provided regex filters, and emit text/JSON; they do not read unrelated system files or transmit data to external endpoints.
Install Mechanism
Instruction-only skill with no install spec and a single script file; nothing is downloaded or written during installation.
Credentials
No required environment variables or credentials. The script reads only the provided RUN_GLOB and other optional input environment variables; it does not access secret-named env vars or external service keys.
Persistence & Privilege
The skill does not request permanent presence (always:false) and does not modify other skills or system-wide agent settings. It runs as a local script on invocation.
Assessment
This skill parses local GitHub Actions run JSON files and produces human-readable or JSON reports — it does not require or exfiltrate credentials. Note: the README examples suggest using the 'gh' CLI to create the JSON exports; install/authenticate gh if you wish to follow those examples. Before running, ensure the artifacts/github-actions/*.json files (or whatever RUN_GLOB you set) are trusted — the script will read and print fields like repository names and job URLs, and you may choose to run it in a sandbox/container if you prefer. If you enable FAIL_ON_CRITICAL=1, the script will exit non-zero on critical findings which may fail CI jobs that invoke it.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsbash, python3
latestvk97c22xtqrt8tafwwyqjcs649h82de0h
254downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

GitHub Actions Queue Latency Audit

Use this skill to quantify where workflows are waiting in queue before jobs start.

What this skill does

  • Reads one or more GitHub Actions run JSON exports (from gh run view --json ...)
  • Computes per-job queue wait (startedAt - createdAt) and runtime duration (completedAt - startedAt)
  • Groups repeated jobs by repository + workflow + job name
  • Ranks hotspots by worst queue wait and average queue wait
  • Flags warning/critical queue waits with configurable thresholds
  • Emits output as human-readable text or machine-readable JSON

Inputs

Optional:

  • RUN_GLOB (default: artifacts/github-actions/*.json)
  • TOP_N (default: 20)
  • OUTPUT_FORMAT (text or json, default: text)
  • QUEUE_WARN_SECONDS (default: 120)
  • QUEUE_CRITICAL_SECONDS (default: 300)
  • FAIL_ON_CRITICAL (0 or 1, default: 0) — exit non-zero when any job instance hits/exceeds critical queue wait
  • WORKFLOW_MATCH (regex, optional)
  • WORKFLOW_EXCLUDE (regex, optional)
  • JOB_MATCH (regex, optional)
  • JOB_EXCLUDE (regex, optional)
  • REPO_MATCH (regex, optional)
  • REPO_EXCLUDE (regex, optional)

Collect run JSON

gh run view <run-id> --json databaseId,workflowName,headBranch,headSha,url,repository,jobs \
  > artifacts/github-actions/run-<run-id>.json

Run

Text report:

RUN_GLOB='artifacts/github-actions/*.json' \
TOP_N=15 \
QUEUE_WARN_SECONDS=180 \
QUEUE_CRITICAL_SECONDS=420 \
bash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh

JSON output for dashboards:

RUN_GLOB='artifacts/github-actions/*.json' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh

Filter to one repo/workflow family:

RUN_GLOB='artifacts/github-actions/*.json' \
REPO_MATCH='^flowcreatebot/' \
WORKFLOW_MATCH='(CI|Build|Test)' \
bash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh

Run with bundled fixtures:

RUN_GLOB='skills/github-actions-queue-latency-audit/fixtures/*.json' \
bash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh

Output contract

  • Exit 0 in reporting mode (default)
  • Exit 1 if FAIL_ON_CRITICAL=1 and at least one job instance has queue wait >= QUEUE_CRITICAL_SECONDS
  • In text mode: prints summary + top queue hotspots
  • In json mode: prints summary + grouped hotspot records + raw offending instances

Comments

Loading comments...