📊 Agentic Workflow Lock File Statistics - 2025-10-15 #1723
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it was created by an agentic workflow more than 1 month ago. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
📊 Agentic Workflow Lock File Statistics - 2025-10-15
Executive Summary
This report provides comprehensive statistical analysis of all
.lock.ymlfiles in the.github/workflows/directory, revealing usage patterns, structural characteristics, and configuration preferences across agentic workflows.📏 File Size Distribution
Size Statistics:
Key Finding: All workflows are relatively large (>100KB), indicating substantial embedded MCP server code and comprehensive safety/security checks built into each compiled lock file.
🚀 Trigger Analysis
Most Popular Triggers
workflow_dispatchscheduleissue_commentissuesdiscussionpull_requestworkflow_runpushNote: Total percentage exceeds 100% because workflows can have multiple triggers.
Trigger Combinations
The most common trigger combination is:
schedule+workflow_dispatch: Used in 8 workflows (26.7%)This pattern enables workflows to run automatically on a schedule while also allowing manual execution for testing or ad-hoc runs.
Example workflows: artifacts-summary, audit-workflows, cli-version-checker, daily-news, etc.
Manual Execution Capability
workflow_dispatch, enabling manual triggeringSchedule Patterns
0 9 * * 00 9 * * 10 9 * * 1-50 0 * * *0 3 * * *0 10 * * *0 11 * * *Scheduling Insights:
🛡️ Safe Outputs Analysis
Safe outputs enable agents to interact with GitHub in controlled, auditable ways.
Safe Output Types Distribution
create_issueadd_commentcreate_pull_requestcreate_discussionpush_to_pull_request_branchadd_labelsupload_assetupdate_issuecreate_pull_request_review_commentnotion-add-commentNote: The
missing_toolsafe output (present in all workflows) is excluded from this count as it's a utility function, not a GitHub interaction.Safe Output Usage Examples
Issue Creation (12 workflows):
ci-doctor,dev,duplicate-code-detector,example-workflow-analyzer,go-pattern-detectorsmoke-claude,smoke-codex,smoke-copilot,smoke-genaiscript,smoke-opencode)Discussion Creation (6 workflows):
artifacts-summary,audit-workflows,daily-news,github-mcp-tools-report,lockfile-stats,repo-tree-mapPull Request Creation (7 workflows):
cli-version-checker,q,security-fix-pr,technical-doc-writer,tidy,unbloat-docs,poem-botThe Powerhouse: poem-bot
The
poem-botworkflow is the most feature-rich, using 8 different safe output types:add_comment(max: 3)add_labels(allowed: poetry, creative, automation, ai-generated, epic, haiku, sonnet, limerick)create_issue(max: 2)create_pull_requestcreate_pull_request_review_comment(max: 2)push_to_pull_request_branchupdate_issue(max: 2)upload_assetThis demonstrates the power of combining multiple safe outputs for complex agentic behaviors.
🏗️ Structural Characteristics
Job Complexity
Key Insight: The single-job pattern is universal across all workflows, suggesting this is a recommended or enforced architectural pattern for agentic workflows.
Step Complexity
Step Distribution:
Finding: The high average (49.4 steps) reflects the comprehensive nature of agentic workflows, which include:
Average Lock File Structure
Based on statistical analysis, a typical
.lock.ymlfile has:workflow_dispatch+ optionalscheduleor event trigger🔐 Permission Patterns
Most Common Permissions
contents: readissues: writepermissions: readpull-requests: writediscussions: writeactions: readcontents: writepull-requests: readissues: readactions: writemodels: readsecurity-events: readPermission Analysis:
contents: read)Permission Strategy
The permission pattern reveals a security-conscious approach:
contents: write🧩 Tool & MCP Patterns
Most Used MCP Servers
tavilyserenacontext7markitdownbravenotionarxivdeepwikiTotal Unique MCP Servers: 8
MCP Usage Insights:
Workflows without MCP imports: 22 workflows (73.3%) don't explicitly import external MCP servers, relying on built-in capabilities.
Engine Distribution
Note: Engines detected based on heuristic analysis of workflow content. Some workflows may reference multiple engines.
Engine Preferences:
⏱️ Timeout Configuration
Timeout Distribution
Average Timeout: 11.2 minutes
Timeout Strategy:
Finding: The distribution shows a tiered approach to timeouts based on operation complexity.
🔀 Concurrency Patterns
Concurrency Groups
gh-aw-${{ github.workflow }}gh-aw-${{ github.workflow }}-${{ github.event.issue.number || github.event.pull_request.number }}gh-aw-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}gh-aw-${{ github.workflow }}-${{ github.ref }}gh-aw-${{ github.workflow }}-${{ github.event.issue.number }}gh-aw-copilotConcurrency Strategy:
Global Workflow Lock (63.3%): Ensures only one instance of a workflow runs at a time
Per-Issue/PR Lock (23.3%): Allows concurrent runs for different issues/PRs
Specialized Locks (13.3%): Custom concurrency patterns for specific needs
Best Practice: The concurrency patterns prevent duplicate work and resource conflicts while allowing appropriate parallelism.
🔍 Interesting Findings
1. Standardized Architecture
All 30 workflows follow a remarkably consistent structure:
This consistency suggests strong architectural guidelines and tooling that enforces best practices.
2. Security-First Design
Every workflow includes extensive security measures:
Finding: Security is not an afterthought but a foundational design principle.
3. The Rise of Scheduled Automation
26.7% of workflows run on schedules, automating:
This represents a shift toward proactive agentic automation rather than purely reactive workflows.
4. Manual Override is King
80% of workflows support
workflow_dispatch, emphasizing:Insight: Even in automated systems, humans remain firmly in control.
5. The Comprehensive "poem-bot"
The
poem-botworkflow is an outlier in complexity:It serves as a showcase of what's possible when combining multiple safe outputs and complex logic.
6. Smoke Tests Dominate Issue Creation
5 out of 12 "create_issue" workflows are smoke tests (smoke-claude, smoke-codex, smoke-copilot, smoke-genaiscript, smoke-opencode), indicating:
📈 Historical Trends
First analysis run - no historical data available yet.
Future runs of this analysis will track:
Recommendation: Run this analysis monthly to track trends and identify emerging patterns.
💡 Recommendations
1. Optimize File Sizes
Observation: All files are >100KB, primarily due to embedded MCP server code.
Recommendation: Investigate opportunities to:
Potential Impact: 30-50% size reduction, faster parsing, easier maintenance.
2. Expand Safe Output Types
Current State: 10 safe output types in use.
Opportunity: Consider adding:
update_pull_request- Modify PR descriptionscreate_milestone- Project planningcreate_project_card- Project board automationtrigger_workflow- Workflow orchestrationBenefit: Enable more sophisticated automation patterns.
3. Standardize Timeout Patterns
Finding: Wide variation in timeout values (5-20 minutes).
Recommendation: Define timeout tiers:
Document which operations belong in each tier for consistency.
4. Leverage Discussion Categories
Current State: Only 6 workflows use
create_discussion.Opportunity: Discussions are ideal for:
Recommendation: Increase discussion usage for non-actionable outputs (vs. issues for actionable items).
5. Consider Multi-Job Workflows
Current State: 100% single-job workflows.
Opportunity: Multi-job patterns could enable:
Trade-off: Increased complexity vs. improved performance.
6. Expand MCP Server Ecosystem
Current State: 8 MCP servers, 73% of workflows use none.
Opportunity: Develop/adopt MCP servers for:
Benefit: Richer agent capabilities without rebuilding infrastructure.
📊 Methodology
Analysis Tools
Data Sources
All analysis based on 30
.lock.ymlfiles in.github/workflows/:Cache Memory
Analysis scripts and results stored in
/tmp/gh-aw/cache-memory/:scripts/- Reusable analysis toolshistory/- Future historical datapatterns/- Extracted pa[Content truncated due to length]
Beta Was this translation helpful? Give feedback.
All reactions