GitHub Actions Timeout Risk Audit

v1.0.0

Audit GitHub Actions job runtime risk against timeout thresholds so near-timeout jobs get fixed before they fail CI.

0· 237·0 current·0 all-time
byDaniel Lummis@daniellummis
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill's name and description match the included script and fixtures: it parses GitHub Actions run JSON exports and ranks jobs by runtime vs configured thresholds. Minor mismatch: the SKILL.md shows collecting run JSON with the `gh` CLI, but `gh` is not listed in the declared required binaries — the script itself only needs bash and python3 and processes local JSON files.
Instruction Scope
Runtime instructions and the script operate on local JSON files matched by RUN_GLOB, compute durations, apply regex filters, and emit text/JSON reports. There are no instructions to read unrelated system files, access credentials, or transmit data to external endpoints.
Install Mechanism
This is an instruction-only skill with an included script and fixtures and no install spec. Nothing is downloaded or extracted at install time.
Credentials
The skill does not request environment variables, credentials, or config paths beyond optional runtime parameters (RUN_GLOB, thresholds, regex filters). These are proportional to the stated auditing task.
Persistence & Privilege
The skill does not request always:true, does not persist configuration, and does not modify other skills or system-wide settings. It runs on demand and uses only local artifacts.
Assessment
This skill appears coherent and only processes local GitHub Actions run JSON files to report timeout risk. Before installing or running: (1) ensure you have bash and python3 available and, if you intend to collect runs with the `gh` CLI as shown, make sure `gh` is installed (the skill does not declare it as a required binary); (2) verify RUN_GLOB points to only trusted JSON artifacts (do not point it at untrusted directories or sensitive files), and (3) review the included script if you plan to run it in automated CI to confirm the output/exit-code behavior (FAIL_ON_CRITICAL) matches your gating needs.

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

Runtime requirements

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

GitHub Actions Timeout Risk Audit

Use this skill to find GitHub Actions jobs that are timing out or trending dangerously close to timeout limits.

What this skill does

  • Reads one or more run JSON exports (gh run view --json ...)
  • Calculates per-job runtime (completedAt - startedAt)
  • Flags risk severity by configured timeout threshold:
    • warn when runtime exceeds WARN_RATIO * JOB_TIMEOUT_SECONDS
    • critical when runtime exceeds CRITICAL_RATIO * JOB_TIMEOUT_SECONDS
    • always critical for jobs with conclusion=timed_out
  • Groups repeated jobs by repository + workflow + job name
  • Emits text or JSON output for CI gates / dashboards

Inputs

Optional:

  • RUN_GLOB (default: artifacts/github-actions/*.json)
  • TOP_N (default: 20)
  • OUTPUT_FORMAT (text or json, default: text)
  • JOB_TIMEOUT_SECONDS (default: 3600)
  • WARN_RATIO (default: 0.80)
  • CRITICAL_RATIO (default: 0.95)
  • FAIL_ON_CRITICAL (0 or 1, default: 0)
  • WORKFLOW_MATCH, WORKFLOW_EXCLUDE (regex, optional)
  • JOB_MATCH, JOB_EXCLUDE (regex, optional)
  • REPO_MATCH, REPO_EXCLUDE (regex, optional)
  • BRANCH_MATCH, BRANCH_EXCLUDE (regex, optional)

Collect run JSON

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

Ensure jobs includes startedAt, completedAt, and conclusion.

Run

Text report:

RUN_GLOB='artifacts/github-actions/*.json' \
JOB_TIMEOUT_SECONDS=3600 \
WARN_RATIO=0.85 \
CRITICAL_RATIO=0.95 \
bash skills/github-actions-timeout-risk-audit/scripts/timeout-risk-audit.sh

JSON output + fail gate:

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

Repo/workflow filter:

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

Run with bundled fixtures:

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

Output contract

  • Exit 0 in reporting mode
  • Exit 1 when FAIL_ON_CRITICAL=1 and at least one critical instance exists
  • Text output includes summary, thresholds, and top timeout-risk jobs
  • JSON output includes summary, ranked groups, and critical_instances

Comments

Loading comments...