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
This report analyzes all 205.lock.yml files in .github/workflows/ as of April 30, 2026. The lock files represent a total of 16.9 MB of workflow configuration, averaging 82.3 KB per file. Every workflow has concurrency controls enabled, and 96.6% have both schedule or event triggers combined with workflow_dispatch for manual execution.
The dominant pattern is schedule + workflow_dispatch (64.4% of all workflows), showing that most agentic workflows run autonomously on a schedule but remain manually triggerable.
Schedule Frequency Breakdown
Frequency Type
Count
Daily (every day)
83
Weekday-only (Mon–Fri)
30
Multiple times per day
6
Monthly
1
View All Schedule Patterns (127 unique cron expressions)
All 127 cron expressions are unique or near-unique, indicating schedules are deliberately staggered. A few shared patterns:
100% concurrency control adoption — Every single workflow has concurrency: configured, preventing queue buildup and duplicate runs. This is a best practice consistently applied across the entire repository.
Staggered schedules at scale — 127 distinct cron expressions are used, and virtually none land on :00 or :30 minute marks. This deliberate spreading reduces burst load on the GitHub Actions scheduler and external APIs.
Universal noop/missing-* coverage — Each workflow configures exactly one noop, one missing-data, and one missing-tool safe output path, suggesting a strict templating standard that ensures agent runs always produce a visible output signal even when nothing actionable occurs.
The memory MCP server split — 52.7% of workflows use the memory MCP server for persistent context between runs, while 47.3% do not. This reflects a split between stateless reporting agents and stateful agents that build knowledge over time.
Playwright at 32.2% — One-third of workflows have browser automation capabilities, indicating a significant portion of agentic tasks require interacting with web UIs, rendering documentation, or capturing visual state.
Recommendations
Audit the 7 read-only workflows — Only 7 workflows lack write permissions. Verify these are intentionally constrained (e.g., pure analysis workflows) rather than missing permissions needed to complete their tasks.
Review the 14 >100 KB workflows — The largest files (Smoke Claude at 172 KB, Smoke Copilot at 133 KB) should be audited for opportunities to reduce lock file size via job deduplication or shared job templates.
Evaluate update-issue adoption — Only 18 workflows (8.8%) use update-issue, which may indicate underuse of issue lifecycle management. Workflows that create issues could benefit from closing or updating them after resolution.
Consider standardizing on Sonnet 4.6 — With claude-sonnet-4-20250514 (5 references) still present alongside claude-sonnet-4.6 (371 references), there may be stale model version pins that should be normalized.
Expand mcpscripts usage — Only 14 workflows (6.8%) use mcpscripts, which enables complex script execution patterns. Workflows currently using multi-step bash workarounds may benefit from this server.
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
This report analyzes all 205
.lock.ymlfiles in.github/workflows/as of April 30, 2026. The lock files represent a total of 16.9 MB of workflow configuration, averaging 82.3 KB per file. Every workflow has concurrency controls enabled, and 96.6% have bothscheduleor event triggers combined withworkflow_dispatchfor manual execution.File Size Distribution
The overwhelming majority (89.8%) fall in the 50–100 KB range, suggesting a very consistent structural template across workflows.
Outliers:
test-workflow.lock.yml— 33.2 KB (Test Workflow)smoke-claude.lock.yml— 172.1 KB (Smoke Claude)Trigger Analysis
Most Popular Triggers
workflow_dispatchschedulepull_requestissue_commentissuespull_request_review_commentdiscussiondiscussion_commentpushworkflow_calldeployment_statusworkflow_runMost Common Trigger Combinations
schedule+workflow_dispatchpull_request+workflow_dispatchworkflow_dispatchonlyissue_commentonlypull_requestonlyissue_comment+issues+pull_requestworkflow_call+workflow_dispatchThe dominant pattern is
schedule + workflow_dispatch(64.4% of all workflows), showing that most agentic workflows run autonomously on a schedule but remain manually triggerable.Schedule Frequency Breakdown
View All Schedule Patterns (127 unique cron expressions)
All 127 cron expressions are unique or near-unique, indicating schedules are deliberately staggered. A few shared patterns:
43 3 * * *— 2 workflows37 2 * * *— 2 workflows48 12 * * *— 2 workflows6 11 * * 1-5— 2 workflows (weekdays at 11:06)*/30 * * * *— 1 workflow (every 30 minutes — most frequent)27 */6 * * *— 1 workflow (every 6 hours)The staggered minute values (rarely landing on :00 or :30) are consistent with rate-limit-conscious scheduling.
Safe Outputs Analysis
Safe Output Types Distribution
upload-artifactcreate-discussionnoopmissing-datamissing-toolcreate-issueadd-commentcreate-pull-requestupdate-issuecreate-pull-request-review-commentMost Common Safe Output Combinations
create-discussion+missing-*+noop+upload-artifactcreate-discussion+create-issue+missing-*+noop+upload-artifactcreate-discussion+create-pull-request+missing-*+noop+upload-artifactadd-comment+create-discussion+missing-*+noop+upload-artifactadd-comment+create-discussion+create-issue+missing-*+noop+upload-artifactDiscussion Categories Used
auditsannouncementsreportsresearchartifactsdevdaily-newsagent-researchThe
auditscategory is by far the most targeted destination for agent-generated discussions (128 occurrences).Structural Characteristics
Job & Step Complexity
copilot-token-audit.lock.yml)Top Actions Used
actions/github-scriptactions/checkout./actions/setupactions/download-artifactactions/upload-artifactactions/setup-nodeactions/cache/restoreactions/cache/saveactions/setup-godocker/build-push-actionTimeout Configuration
All workflows use a conservative maximum of 15 minutes, consistent with agentic task scoping.
Concurrency
All 205 workflows (100%) have concurrency controls configured, preventing parallel runs of the same workflow.
Permission Patterns
Most Common Permissions
contentsissuespull-requestsdiscussionsactionscopilot-requestssecurity-eventsPermission Distribution
Write permissions breakdown:
issues: write— 192 workflows (93.7%)discussions: write— 130 workflows (63.4%)pull-requests: write— 95 workflows (46.3%)contents: write— 85 workflows (41.5%)copilot-requests: write— 51 workflows (24.9%)Permission balance: 1,776 read vs 1,154 write grants across all jobs.
MCP Server & Tool Patterns
MCP Server Usage
githubfetchsafeoutputsmemoryplaywrightmcpscriptssqlitebrave-searchModel Versions Observed
claude-sonnet-4.6claude-codeclaude-haiku-4.5claude-sonnet-4-20250514Sonnet 4.6 is the dominant model, with Haiku 4.5 appearing in faster/lighter tasks.
Key Environment Variables
The top environment variables injected into agent jobs:
GH_AW_AGENT_OUTPUT(1,447) — agent output captureGH_AW_PROMPT(1,421) — the prompt passed to the agentGH_AW_WORKFLOW_NAME(1,296) — workflow identityGH_AW_SAFE_OUTPUTS(1,188) — safe output configurationGITHUB_SERVER_URL,GITHUB_API_URL— GitHub connectivityWorkflow Categories
Interesting Findings
100% concurrency control adoption — Every single workflow has
concurrency:configured, preventing queue buildup and duplicate runs. This is a best practice consistently applied across the entire repository.Staggered schedules at scale — 127 distinct cron expressions are used, and virtually none land on
:00or:30minute marks. This deliberate spreading reduces burst load on the GitHub Actions scheduler and external APIs.Universal
noop/missing-*coverage — Each workflow configures exactly onenoop, onemissing-data, and onemissing-toolsafe output path, suggesting a strict templating standard that ensures agent runs always produce a visible output signal even when nothing actionable occurs.The
memoryMCP server split — 52.7% of workflows use thememoryMCP server for persistent context between runs, while 47.3% do not. This reflects a split between stateless reporting agents and stateful agents that build knowledge over time.Playwright at 32.2% — One-third of workflows have browser automation capabilities, indicating a significant portion of agentic tasks require interacting with web UIs, rendering documentation, or capturing visual state.
Recommendations
Audit the 7 read-only workflows — Only 7 workflows lack write permissions. Verify these are intentionally constrained (e.g., pure analysis workflows) rather than missing permissions needed to complete their tasks.
Review the 14 >100 KB workflows — The largest files (Smoke Claude at 172 KB, Smoke Copilot at 133 KB) should be audited for opportunities to reduce lock file size via job deduplication or shared job templates.
Evaluate
update-issueadoption — Only 18 workflows (8.8%) useupdate-issue, which may indicate underuse of issue lifecycle management. Workflows that create issues could benefit from closing or updating them after resolution.Consider standardizing on Sonnet 4.6 — With
claude-sonnet-4-20250514(5 references) still present alongsideclaude-sonnet-4.6(371 references), there may be stale model version pins that should be normalized.Expand
mcpscriptsusage — Only 14 workflows (6.8%) usemcpscripts, which enables complex script execution patterns. Workflows currently using multi-step bash workarounds may benefit from this server.Methodology
.github/workflows/*.lock.yml)/tmp/gh-aw/cache-memory/scripts/analyze_lockfiles.py; historical snapshot saved to/tmp/gh-aw/cache-memory/history/2026-04-30.jsonReferences:
Beta Was this translation helpful? Give feedback.
All reactions