GitHub Actions Timeout Risk Audit
v1.0.0Audit GitHub Actions job runtime risk against timeout thresholds so near-timeout jobs get fixed before they fail CI.
Security Scan
OpenClaw
Benign
high confidencePurpose & 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
latest
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:
warnwhen runtime exceedsWARN_RATIO * JOB_TIMEOUT_SECONDScriticalwhen runtime exceedsCRITICAL_RATIO * JOB_TIMEOUT_SECONDS- always
criticalfor jobs withconclusion=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(textorjson, default:text)JOB_TIMEOUT_SECONDS(default:3600)WARN_RATIO(default:0.80)CRITICAL_RATIO(default:0.95)FAIL_ON_CRITICAL(0or1, 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
jobsincludesstartedAt,completedAt, andconclusion.
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
0in reporting mode - Exit
1whenFAIL_ON_CRITICAL=1and at least one critical instance exists - Text output includes summary, thresholds, and top timeout-risk jobs
- JSON output includes
summary, rankedgroups, andcritical_instances
Comments
Loading comments...
