You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Top combinations: schedule + workflow_dispatch (190), workflow_dispatch only (48), pull_request + workflow_dispatch (32). Manual dispatch is near-universal, almost always paired with a schedule.
Cron frequency: 106 distinct cron expressions, mostly unique per-workflow (daily cadence staggered by minute/hour to spread load); a handful repeat 2–3× (e.g. 7 5 * * * ×3). A few run more often than daily (*/6, */4 hour patterns).
Safe outputs analysis
Extracted from each workflow's GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG (the compiled handler config), not text mentions — this avoids false positives from embedded documentation.
issues:write (634) and contents:read (1,235) are the most common permission grants — expected given the create-issue/create-discussion output mix and near-universal repo-content reads for context gathering.
Tool & MCP patterns
Timeout distribution (job-level timeout-minutes): 45 min dominates (283 job declarations), 10 min (29), 5 min (2) — the 45-minute ceiling is effectively the house default.
Engine distribution (approximate — derived from engine identifiers found per file, may include minor double-counts where an engine is referenced in multiple env blocks): copilot 167, claude 59, codex 32, pi 22, crush/aider/cursor/kiro/opencode/goose 3 each, gemini 1. Copilot is the dominant engine (~59% of workflows).
MCP tooling: the github MCP server is configured in 97 workflows; safeoutputs (133) and agenticworkflows (40) are the other common custom servers. GitHub MCP tool surface is broad — actions_get/actions_list/get_code_scanning_alert/get_commit appear most (up to 112 workflow configs), with ~40 other github__* read tools each appearing in 58-59 configs. A long tail of specialty servers appears in just 1 workflow each: mempalace, graft, agentdb, open-ontologies, ast-grep, ruflo, arxiv, datadog, plus playwright, grafana, deepwiki tool families at very low counts (1-3). Note: this reflects configured tool availability, not runtime call counts.
Interesting findings
Universal safety net: 276/282 workflows (98%) ship the same five fallback safe-output handlers (noop, missing-data, missing-tool, report-incomplete, create-report-incomplete-issue) — this is baked into the compiler's default output set, not something authors opt into individually.
audits is the dominant discussion category (78 of 91, 86%) — this workflow itself publishes there, confirming the category is a de facto standard for periodic reporting agents.
workflow_dispatch is nearly ubiquitous (97.5%) even on scheduled workflows — manual re-run capability is treated as a required safety valve, not an occasional add-on.
Permission asymmetry: issues skews heavily toward write (634 write vs 239 read) while contents skews heavily toward read (1,235 read vs 393 write) — consistent with an issue/discussion-reporting fleet that reads repo state but rarely writes source.
Copilot is now the majority engine (167/282, 59%), well ahead of Claude (59) and Codex (32), suggesting most of this workflow fleet has migrated off Claude-only defaults.
Historical trends
No prior history found — this is the first recorded baseline (2026-08-07). Future runs will compare against this snapshot.
Recommendations
Consider consolidating the largest smoke-test lockfiles (200K+ bytes) if they're not exercising meaningfully different code paths — they account for a disproportionate share of total repo size.
The heavy skew toward the audits discussion category suggests room for sub-categorization (e.g. by domain) if discussion volume grows.
Given 59% Copilot adoption, verify MCP/tool parity across engines so workflows aren't accidentally engine-locked by tool availability.
Methodology: single-script compact JSON analysis — one Python analyzer (lockfile_stats_v1.py, cached at /tmp/gh-aw/cache-memory/scripts/) parsed all lockfiles via yaml.safe_load, extracting safe-output types from each workflow's GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG and permissions from job-level permissions: blocks (not text/regex heuristics) for the metrics that support it. Engine and MCP-server-name detection remain regex-based and are noted as approximate above.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Executive summary
.github/workflows/*.lock.yml), 0 skippedFile size distribution
notion-issue-summary.lock.yml)smoke-copilot-aoai-entra.lock.yml)Largest 5:
smoke-copilot-aoai-entra(215.7K),smoke-copilot(214.8K),smoke-copilot-aoai-apikey(213.2K),deep-report(186.8K),smoke-claude(183.1K) — dominated by smoke-test workflows with heavy inline engine/MCP scaffolding.Smallest 5:
notion-issue-summary(81.8K),example-permissions-warning(82.0K),codex-github-remote-mcp-test(82.0K),firewall(82.9K),hippo-embed(88.1K).Trigger analysis
Top combinations:
schedule + workflow_dispatch(190),workflow_dispatchonly (48),pull_request + workflow_dispatch(32). Manual dispatch is near-universal, almost always paired with a schedule.Cron frequency: 106 distinct cron expressions, mostly unique per-workflow (daily cadence staggered by minute/hour to spread load); a handful repeat 2–3× (e.g.
7 5 * * *×3). A few run more often than daily (*/6,*/4hour patterns).Safe outputs analysis
Extracted from each workflow's
GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG(the compiled handler config), not text mentions — this avoids false positives from embedded documentation.Discussion categories (from
create_discussion.category):audits78,announcements5,artifacts2,dev2,research2,general1,daily-news1 — sums exactly to the 91 create-discussion workflows, confirming extraction consistency.audits(this category) accounts for 86% of discussion-producing workflows.Structural characteristics
Permission patterns
Aggregated across all job-level
permissions:blocks (282 workflows × multiple jobs each):issues:write(634) andcontents:read(1,235) are the most common permission grants — expected given the create-issue/create-discussion output mix and near-universal repo-content reads for context gathering.Tool & MCP patterns
Timeout distribution (job-level
timeout-minutes): 45 min dominates (283 job declarations), 10 min (29), 5 min (2) — the 45-minute ceiling is effectively the house default.Engine distribution (approximate — derived from engine identifiers found per file, may include minor double-counts where an engine is referenced in multiple env blocks): copilot 167, claude 59, codex 32, pi 22, crush/aider/cursor/kiro/opencode/goose 3 each, gemini 1. Copilot is the dominant engine (~59% of workflows).
MCP tooling: the
githubMCP server is configured in 97 workflows;safeoutputs(133) andagenticworkflows(40) are the other common custom servers. GitHub MCP tool surface is broad —actions_get/actions_list/get_code_scanning_alert/get_commitappear most (up to 112 workflow configs), with ~40 othergithub__*read tools each appearing in 58-59 configs. A long tail of specialty servers appears in just 1 workflow each:mempalace,graft,agentdb,open-ontologies,ast-grep,ruflo,arxiv,datadog, plusplaywright,grafana,deepwikitool families at very low counts (1-3). Note: this reflects configured tool availability, not runtime call counts.Interesting findings
auditsis the dominant discussion category (78 of 91, 86%) — this workflow itself publishes there, confirming the category is a de facto standard for periodic reporting agents.workflow_dispatchis nearly ubiquitous (97.5%) even on scheduled workflows — manual re-run capability is treated as a required safety valve, not an occasional add-on.issuesskews heavily toward write (634 write vs 239 read) whilecontentsskews heavily toward read (1,235 read vs 393 write) — consistent with an issue/discussion-reporting fleet that reads repo state but rarely writes source.Historical trends
No prior history found — this is the first recorded baseline (
2026-08-07). Future runs will compare against this snapshot.Recommendations
auditsdiscussion category suggests room for sub-categorization (e.g. by domain) if discussion volume grows.Methodology: single-script compact JSON analysis — one Python analyzer (
lockfile_stats_v1.py, cached at/tmp/gh-aw/cache-memory/scripts/) parsed all lockfiles viayaml.safe_load, extracting safe-output types from each workflow'sGH_AW_SAFE_OUTPUTS_HANDLER_CONFIGand permissions from job-levelpermissions:blocks (not text/regex heuristics) for the metrics that support it. Engine and MCP-server-name detection remain regex-based and are noted as approximate above.All reactions