GitHub Actions Retry Recovery Audit
v1.0.0Audit GitHub Actions runs for fail-then-success retry recovery patterns to quantify flaky rerun waste.
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description align with the included script: it parses GitHub Actions run JSON files and computes wasted minutes. Required binaries (bash, python3) are appropriate. SKILL.md examples show using the 'gh' CLI to export runs, but 'gh' is not listed in the declared required binaries — this is a minor mismatch the user should be aware of.
Instruction Scope
Runtime instructions and the script operate on local JSON files (RUN_GLOB), apply regex filters, compute metrics, and emit text or JSON. The instructions do not instruct the agent to read unrelated system files, environment secrets, or to transmit data to external endpoints.
Install Mechanism
No install spec — code is shipped as a script and the Python snippet is embedded. That minimizes install risk; there are no downloads or archive extraction steps. The script runs in-process via bash/python3 here-doc.
Credentials
The skill declares no environment variables or credentials and the script only reads environment variables documented as optional inputs (RUN_GLOB, TOP_N, etc.). It does not require tokens or other secrets. Note: running 'gh run view' (suggested to collect JSON) requires the user to have GitHub CLI and authenticated credentials locally, but those are not required by the skill itself.
Persistence & Privilege
always is false and the skill does not request persistent presence or modify other skill/system configs. It simply reads local artifact files and writes to stdout/exit codes.
Assessment
This skill appears to do exactly what it says: read local GitHub Actions JSON exports and report retry->success recovery waste. Before running it: 1) ensure your artifacts directory (default artifacts/github-actions/*.json) contains only the files you intend to analyze (no sensitive secrets baked into JSON). 2) Install and authenticate the GitHub CLI if you plan to use the SKILL.md's gh run view commands (the script itself does not require gh but examples assume it). 3) Review the output (it prints run URLs and IDs) before sharing externally. 4) Use FAIL_ON_CRITICAL cautiously in automation, since it causes a non-zero exit when critical waste is found.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
Binsbash, python3
latest
GitHub Actions Retry Recovery Audit
Use this skill to find workflow/job slices that repeatedly fail before eventually succeeding, so teams can target flaky reruns with the biggest minute waste.
What this skill does
- Reads one or more GitHub Actions workflow run JSON exports
- Groups attempts by repository/workflow/branch/commit (
headSha) - Detects recovery sequences where one or more failure-like attempts are followed by success
- Calculates wasted minutes consumed before first success in each sequence
- Emits text or JSON output for triage dashboards and CI fail gates
Inputs
Optional:
RUN_GLOB(default:artifacts/github-actions/*.json)TOP_N(default:20)OUTPUT_FORMAT(textorjson, default:text)WARN_WASTE_MINUTES(default:20)CRITICAL_WASTE_MINUTES(default:60)FAIL_ON_CRITICAL(0or1, default:0)WORKFLOW_MATCH,WORKFLOW_EXCLUDE(regex, optional)BRANCH_MATCH,BRANCH_EXCLUDE(regex, optional)REPO_MATCH,REPO_EXCLUDE(regex, optional)
Collect run JSON
gh run view <run-id> --json databaseId,workflowName,headBranch,headSha,conclusion,createdAt,updatedAt,url,repository \
> artifacts/github-actions/run-<run-id>.json
Run
Text report:
RUN_GLOB='artifacts/github-actions/*.json' \
WARN_WASTE_MINUTES=20 \
CRITICAL_WASTE_MINUTES=60 \
bash skills/github-actions-retry-recovery-audit/scripts/retry-recovery-audit.sh
JSON output + fail gate:
RUN_GLOB='artifacts/github-actions/*.json' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-retry-recovery-audit/scripts/retry-recovery-audit.sh
Output contract
- Exit
0in report mode - Exit
1whenFAIL_ON_CRITICAL=1and critical recoveries are present - Text output includes summary plus top recovery groups ranked by wasted minutes
- JSON output includes
summary, rankedrecoveries, andcritical_recoveries
Comments
Loading comments...
