{"skill":{"slug":"github-actions-queue-latency-audit","displayName":"GitHub Actions Queue Latency Audit","summary":"Audit GitHub Actions queue wait hotspots from run/job JSON so CI bottlenecks are visible before they stall merges.","description":"---\nname: github-actions-queue-latency-audit\ndescription: Audit GitHub Actions queue wait hotspots from run/job JSON so CI bottlenecks are visible before they stall merges.\nversion: 1.0.0\nmetadata: {\"openclaw\":{\"requires\":{\"bins\":[\"bash\",\"python3\"]}}}\n---\n\n# GitHub Actions Queue Latency Audit\n\nUse this skill to quantify where workflows are waiting in queue before jobs start.\n\n## What this skill does\n- Reads one or more GitHub Actions run JSON exports (from `gh run view --json ...`)\n- Computes per-job queue wait (`startedAt - createdAt`) and runtime duration (`completedAt - startedAt`)\n- Groups repeated jobs by repository + workflow + job name\n- Ranks hotspots by worst queue wait and average queue wait\n- Flags warning/critical queue waits with configurable thresholds\n- Emits output as human-readable text or machine-readable JSON\n\n## Inputs\nOptional:\n- `RUN_GLOB` (default: `artifacts/github-actions/*.json`)\n- `TOP_N` (default: `20`)\n- `OUTPUT_FORMAT` (`text` or `json`, default: `text`)\n- `QUEUE_WARN_SECONDS` (default: `120`)\n- `QUEUE_CRITICAL_SECONDS` (default: `300`)\n- `FAIL_ON_CRITICAL` (`0` or `1`, default: `0`) — exit non-zero when any job instance hits/exceeds critical queue wait\n- `WORKFLOW_MATCH` (regex, optional)\n- `WORKFLOW_EXCLUDE` (regex, optional)\n- `JOB_MATCH` (regex, optional)\n- `JOB_EXCLUDE` (regex, optional)\n- `REPO_MATCH` (regex, optional)\n- `REPO_EXCLUDE` (regex, optional)\n\n## Collect run JSON\n\n```bash\ngh run view <run-id> --json databaseId,workflowName,headBranch,headSha,url,repository,jobs \\\n  > artifacts/github-actions/run-<run-id>.json\n```\n\n## Run\n\nText report:\n\n```bash\nRUN_GLOB='artifacts/github-actions/*.json' \\\nTOP_N=15 \\\nQUEUE_WARN_SECONDS=180 \\\nQUEUE_CRITICAL_SECONDS=420 \\\nbash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh\n```\n\nJSON output for dashboards:\n\n```bash\nRUN_GLOB='artifacts/github-actions/*.json' \\\nOUTPUT_FORMAT=json \\\nFAIL_ON_CRITICAL=1 \\\nbash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh\n```\n\nFilter to one repo/workflow family:\n\n```bash\nRUN_GLOB='artifacts/github-actions/*.json' \\\nREPO_MATCH='^flowcreatebot/' \\\nWORKFLOW_MATCH='(CI|Build|Test)' \\\nbash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh\n```\n\nRun with bundled fixtures:\n\n```bash\nRUN_GLOB='skills/github-actions-queue-latency-audit/fixtures/*.json' \\\nbash skills/github-actions-queue-latency-audit/scripts/queue-latency-audit.sh\n```\n\n## Output contract\n- Exit `0` in reporting mode (default)\n- Exit `1` if `FAIL_ON_CRITICAL=1` and at least one job instance has queue wait `>= QUEUE_CRITICAL_SECONDS`\n- In `text` mode: prints summary + top queue hotspots\n- In `json` mode: prints summary + grouped hotspot records + raw offending instances\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":523,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1772781446190,"updatedAt":1778491748674},"latestVersion":{"version":"1.0.0","createdAt":1772781446190,"changelog":"Initial release.\n\n- Audits GitHub Actions queue latency from exported run/job JSON files.\n- Computes and ranks job queue wait times to identify CI bottlenecks.\n- Supports filtering by repository, workflow, and job with regex options.\n- Flags and optionally fails on jobs exceeding configurable queue wait thresholds.\n- Outputs results as human-readable text or machine-readable JSON.\n- Includes example usage for various reporting and filtering needs.","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"daniellummis","userId":"s17fw617wehb1y9a026bgg9yed885cv7","displayName":"Daniel Lummis","image":"https://avatars.githubusercontent.com/u/65238171?v=4"},"moderation":null}