GitHub Actions Timeout Risk Audit
Audit GitHub Actions job runtime risk against timeout thresholds so near-timeout jobs get fixed before they fail CI.
71 downloads
Free
Reviewed
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
Download
ZIP package — ready to use
Skill Info
- Creator
- daniellummis
- Downloads
- 71
- Published
- Mar 15, 2026
- Updated
- Mar 16, 2026