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
All 158 lock files use a concurrency: block. Every workflow is auto-generated by gh aw compile from .md source files and uses dynamic model selection via steps.generate_aw_info.outputs.model.
Full event suite (discussion + issue + PR + review)
3
1.9%
issue_comment + issues + pull_request
2
1.3%
issue_comment only
2
1.3%
workflow_run only
2
1.3%
issue_comment + pull_request_review_comment
2
1.3%
Schedule Patterns
117 workflows use schedule triggers, with 101 unique cron expressions.
Schedule Frequency Breakdown:
Pattern
Count
Description
0 14 * * 1-5
4
Weekdays 14:00 UTC
0 13 * * 1-5
4
Weekdays 13:00 UTC
0 11 * * 1-5
4
Weekdays 11:00 UTC
0 9 * * 1-5
3
Weekdays 9:00 UTC
0 15 * * 1-5
2
Weekdays 15:00 UTC
0 10 * * 1-5
2
Weekdays 10:00 UTC
0 16 * * 1-5
2
Weekdays 16:00 UTC
0 */6 * * *
2
Every 6 hours
Other unique patterns
~82
Various
Schedule type distribution: weekday-only (23), daily (75), every-N-hours (4+), weekly (15), other (4).
Safe Outputs Analysis
All 158 workflows include noop, missing_data, and missing_tool as baseline safe output capabilities. The following counts reflect additional action-oriented outputs:
Safe Output Types Distribution
Output Type
Count
% of Workflows
create_discussion
151
95.6%
create_issue
121
76.6%
create_pull_request
60
38.0%
add_comment
40
25.3%
create_pull_request_review_comment
36
22.8%
add_labels
14
8.9%
update_issue
8
5.1%
close_issue
8
5.1%
push_to_pull_request_branch
6
3.8%
close_discussion
6
3.8%
submit_pull_request_review
6
3.8%
remove_labels
4
2.5%
close_pull_request
3
1.9%
link_sub_issue
3
1.9%
dispatch_workflow
3
1.9%
hide_comment
2
1.3%
update_pull_request
2
1.3%
create_code_scanning_alert
2
1.3%
create_agent_session
2
1.3%
create_project_status_update
2
1.3%
update_project
2
1.3%
assign_to_user
1
0.6%
update_release
1
0.6%
add_reviewer
1
0.6%
resolve_pull_request_review_thread
1
0.6%
unassign_from_user
1
0.6%
Discussion Categories (create_discussion)
Category
Count
audits
43
announcements
3
reports
3
artifacts
2
dev
2
research
2
agent-research
1
daily-news
1
security
1
audits dominates at 73.3% of categorized discussion outputs (43 of 58 with explicit categories). The remaining 93 create_discussion workflows use dynamic or unconstrained categories.
Structural Characteristics
Job Complexity
Metric
Value
Average steps per workflow
75.0
Maximum steps
104 (daily-copilot-token-report.lock.yml)
Minimum steps
37
Average jobs per workflow
~1.01
Maximum jobs
2
Workflows with pre_activation job
53 (33.5%)
Top 5 Most Complex Workflows (by step count)
Workflow
Steps
daily-copilot-token-report.lock.yml
104
audit-workflows.lock.yml
98
deep-report.lock.yml
98
copilot-pr-nlp-analysis.lock.yml
96
smoke-copilot-arm.lock.yml
96
Timeout Patterns
458 total timeout-minutes declarations across 158 files (average ~2.9 per file).
Timeout
Count
%
5 min
11
2.4%
10 min
46
10.0%
15 min
176
38.4%
20 min
174
38.0%
30 min
33
7.2%
45 min
12
2.6%
60 min
4
0.9%
90 min
1
0.2%
180 min
1
0.2%
Average timeout: 18.9 minutes
Mode: 15 minutes (38.4%)
15 + 20 min combined: 76.4% of all timeout declarations
Concurrency
Metric
Value
Workflows with concurrency:
158 (100%)
Workflows with cancel-in-progress: true
14 (8.9%)
All workflows use the standard pattern group: "gh-aw-$\{\{ github.workflow }}".
Permission Patterns
Job-Level Permission Distribution
Permission
Read
Write
contents
633
153
issues
142
334
discussions
34
234
pull-requests
141
144
actions
73
6
security-events
10
4
copilot-requests
—
1
attestations
—
1
id-token
—
1
packages
1
1
statuses
—
1
Workflows with any write permissions: 149 (94.3%)
Read-only workflows: 9 (5.7%)
Top-level permissions: {} (empty object) is used in all workflows, with job-level permissions declared per job for least-privilege access.
MCP Server & Tool Patterns
MCP Server Usage
MCP Server
Count
% of Workflows
github (github-mcp-server)
167*
~100%
safeoutputs
162*
~100%
playwright
45
28.5%
serena
24
15.2%
tavily
5
3.2%
agenticworkflows
2
1.3%
safeinputs
2
1.3%
*Counts include duplicate references within files; represents near-universal adoption.
All 158 workflows use the dynamic model selector (steps.generate_aw_info.outputs.model). The engine is determined at compile time from the source .md workflow definition:
Workflows with static model overrides: 7 files use gpt-5.1-codex-mini (6) or gpt-5 (1).
Historical Trends
Comparing with previous analysis (2026-02-23):
Metric
2026-02-23
2026-02-24
Change
Total files
158
158
—
Total size
9,971,866 bytes
10,267,918 bytes
+296 KB (+3.0%)
Average size
61.6 KB
63.5 KB
+1.9 KB (+3.1%)
Avg timeout
16.8 min
18.9 min
+2.1 min
Avg steps
78.1
75.0
-3.1
The repository has remained at 158 lock files for multiple consecutive days. The ~3% size increase suggests workflows are getting richer content (larger prompts, more tool schemas). The decrease in average steps from 78.1 to 75.0 may reflect step-level optimizations or restructuring.
Interesting Findings
Universal concurrency locking: 100% of workflows declare a concurrency: block, preventing duplicate runs — but only 8.9% use cancel-in-progress: true, meaning most queue rather than cancel.
Audits category dominance: audits accounts for 73% of explicit discussion category assignments — this repository uses GitHub Discussions primarily as an audit/reporting surface rather than community Q&A.
Dynamic model architecture: All 158 workflows use a deferred model resolution pattern (generate_aw_info.outputs.model), enabling model swaps without recompiling lock files. Only 7 workflows hardcode a specific model (gpt-5.1-codex-mini/gpt-5).
Playwright is widely instrumented: 45 workflows (28.5%) include the Playwright MCP server, indicating significant browser-automation or web-scraping capabilities across the workflow fleet.
15 and 20-minute timeouts dominate: 76.4% of all timeout declarations fall at exactly 15 or 20 minutes, reflecting a deliberate standardization (likely a platform default) with 15-min steps for lightweight tasks and 20-min for heavier agent runs.
create_issue growth: The safe output count for create_issue grew from 47 (2026-02-23) to 121 (2026-02-24), a 157% increase — suggesting a wave of newly compiled workflows gained issue-creation capabilities.
Recommendations
Review cancel-in-progress coverage: Only 8.9% of workflows cancel in-progress runs on new triggers. For schedule-triggered workflows, consider enabling this to avoid stale report accumulation.
Standardize discussion categories: With 43/58 categorized workflows using audits, consider consolidating the other categories (reports, dev, research) into a taxonomy that better reflects the repository's discussion structure.
Audit Playwright usage: 45 workflows include playwright MCP — verify all have legitimate browser-interaction use cases and appropriate security review, as browser automation carries elevated risk.
Track size growth: A 3% single-day size increase is notable. Monitor whether prompt/schema inflation continues, as lock files approaching 150 KB may indicate bloat from inlined imports.
Consider model pinning audit: The 101 "dynamic model" workflows rely on runtime model selection. Consider documenting or auditing what models are actually resolved to ensure cost and capability expectations are met.
Methodology
Analysis Tool: Python 3 with regex-based YAML parsing
Lock Files Analyzed: 158
Cache Memory: Historical data loaded from /tmp/gh-aw/cache-memory/history/2026-02-23.json
Data Sources: .github/workflows/*.lock.yml
Known Limitations: Discussion categories for 93 of 151 create_discussion workflows could not be statically determined (dynamic/unconstrained configuration)
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.
-
Analysis of all 158
.lock.ymlfiles in.github/workflows/as of 2026-02-24.Executive Summary
All 158 lock files use a
concurrency:block. Every workflow is auto-generated bygh aw compilefrom.mdsource files and uses dynamic model selection viasteps.generate_aw_info.outputs.model.File Size Distribution
Extremes:
codex-github-remote-mcp-test.lock.yml(24.5 KB)smoke-claude.lock.yml(142.7 KB)Top 10 Largest Lock Files
Top 10 Smallest Lock Files
Trigger Analysis
Most Popular Triggers
workflow_dispatchschedulepull_requestissue_commentissuespull_request_review_commentdiscussion_commentdiscussionworkflow_runpushCommon Trigger Combinations
schedule+workflow_dispatchworkflow_dispatchonlypull_request+schedule+workflow_dispatchpull_request+workflow_dispatchissuesonlyissue_comment+issues+pull_requestissue_commentonlyworkflow_runonlyissue_comment+pull_request_review_commentSchedule Patterns
117 workflows use
scheduletriggers, with 101 unique cron expressions.Schedule Frequency Breakdown:
0 14 * * 1-50 13 * * 1-50 11 * * 1-50 9 * * 1-50 15 * * 1-50 10 * * 1-50 16 * * 1-50 */6 * * *Schedule type distribution: weekday-only (23), daily (75), every-N-hours (4+), weekly (15), other (4).
Safe Outputs Analysis
All 158 workflows include
noop,missing_data, andmissing_toolas baseline safe output capabilities. The following counts reflect additional action-oriented outputs:Safe Output Types Distribution
create_discussioncreate_issuecreate_pull_requestadd_commentcreate_pull_request_review_commentadd_labelsupdate_issueclose_issuepush_to_pull_request_branchclose_discussionsubmit_pull_request_reviewremove_labelsclose_pull_requestlink_sub_issuedispatch_workflowhide_commentupdate_pull_requestcreate_code_scanning_alertcreate_agent_sessioncreate_project_status_updateupdate_projectassign_to_userupdate_releaseadd_reviewerresolve_pull_request_review_threadunassign_from_userDiscussion Categories (create_discussion)
auditsannouncementsreportsartifactsdevresearchagent-researchdaily-newssecurityStructural Characteristics
Job Complexity
daily-copilot-token-report.lock.yml)pre_activationjobTop 5 Most Complex Workflows (by step count)
Timeout Patterns
458 total
timeout-minutesdeclarations across 158 files (average ~2.9 per file).Concurrency
concurrency:cancel-in-progress: trueAll workflows use the standard pattern
group: "gh-aw-$\{\{ github.workflow }}".Permission Patterns
Job-Level Permission Distribution
contentsissuesdiscussionspull-requestsactionssecurity-eventscopilot-requestsattestationsid-tokenpackagesstatusesTop-level
permissions: {}(empty object) is used in all workflows, with job-level permissions declared per job for least-privilege access.MCP Server & Tool Patterns
MCP Server Usage
github(github-mcp-server)safeoutputsplaywrightserenatavilyagenticworkflowssafeinputs*Counts include duplicate references within files; represents near-universal adoption.
Tool Configurations (Claude-engine workflows, n=38)
GlobEdit/MultiEditBashTaskTodoWriteGrepWebFetchRunner Types
ubuntu-slimubuntu-latestubuntu-24.04-armubuntu-slimis the dominant runtime runner.Engine / Model Distribution
All 158 workflows use the dynamic model selector (
steps.generate_aw_info.outputs.model). The engine is determined at compile time from the source.mdworkflow definition:Workflows with static model overrides: 7 files use
gpt-5.1-codex-mini(6) orgpt-5(1).Historical Trends
Comparing with previous analysis (2026-02-23):
The repository has remained at 158 lock files for multiple consecutive days. The ~3% size increase suggests workflows are getting richer content (larger prompts, more tool schemas). The decrease in average steps from 78.1 to 75.0 may reflect step-level optimizations or restructuring.
Interesting Findings
Universal concurrency locking: 100% of workflows declare a
concurrency:block, preventing duplicate runs — but only 8.9% usecancel-in-progress: true, meaning most queue rather than cancel.Audits category dominance:
auditsaccounts for 73% of explicit discussion category assignments — this repository uses GitHub Discussions primarily as an audit/reporting surface rather than community Q&A.Dynamic model architecture: All 158 workflows use a deferred model resolution pattern (
generate_aw_info.outputs.model), enabling model swaps without recompiling lock files. Only 7 workflows hardcode a specific model (gpt-5.1-codex-mini/gpt-5).Playwright is widely instrumented: 45 workflows (28.5%) include the Playwright MCP server, indicating significant browser-automation or web-scraping capabilities across the workflow fleet.
15 and 20-minute timeouts dominate: 76.4% of all timeout declarations fall at exactly 15 or 20 minutes, reflecting a deliberate standardization (likely a platform default) with 15-min steps for lightweight tasks and 20-min for heavier agent runs.
create_issuegrowth: The safe output count forcreate_issuegrew from 47 (2026-02-23) to 121 (2026-02-24), a 157% increase — suggesting a wave of newly compiled workflows gained issue-creation capabilities.Recommendations
Review
cancel-in-progresscoverage: Only 8.9% of workflows cancel in-progress runs on new triggers. For schedule-triggered workflows, consider enabling this to avoid stale report accumulation.Standardize discussion categories: With 43/58 categorized workflows using
audits, consider consolidating the other categories (reports,dev,research) into a taxonomy that better reflects the repository's discussion structure.Audit Playwright usage: 45 workflows include
playwrightMCP — verify all have legitimate browser-interaction use cases and appropriate security review, as browser automation carries elevated risk.Track size growth: A 3% single-day size increase is notable. Monitor whether prompt/schema inflation continues, as lock files approaching 150 KB may indicate bloat from inlined imports.
Consider model pinning audit: The 101 "dynamic model" workflows rely on runtime model selection. Consider documenting or auditing what models are actually resolved to ensure cost and capability expectations are met.
Methodology
/tmp/gh-aw/cache-memory/history/2026-02-23.json.github/workflows/*.lock.ymlcreate_discussionworkflows could not be statically determined (dynamic/unconstrained configuration)References:
Beta Was this translation helpful? Give feedback.
All reactions