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
Analyzed all 298 workflows in .github/workflows/ using the pre-generated workflow-index.json (file, path, imports, engine, tool/safe-output flags, frontmatter preview) plus targeted deep-dives via grep/python3 frontmatter parsing to find exact and near-exact duplicated configuration blocks not already factored into .github/workflows/shared/.
Method
Loaded workflow-index.json and computed import frequency, engine distribution, and tool/safe-output usage across all 298 workflows.
Cross-referenced the 89 existing files in shared/ to exclude patterns already extracted (e.g. otlp.md used 240x, reporting.md used 173x, daily-issue-base.md/daily-pr-base.md already exist but are under-adopted).
Parsed frontmatter blocks (permissions:, network:, tools:, engine:) across all workflow files to find exact-match duplicated blocks, ranked by occurrence count.
Verified sample workflows manually to confirm proposed shared components are drop-in compatible with current merge semantics (permissions: is validation-only; network.allowed unions across imports).
Opportunities identified (by priority)
High — #1: shared/read-permissions.md (new component)
63 of 298 workflows (~21%) declare the identical contents: read / issues: read / pull-requests: read permissions block inline. Since imported permissions: is validation-only under current merge rules, this is a safe, mechanical extraction. Est. ~189 lines saved.
High — #2: Broaden adoption of shared/daily-issue-base.md / shared/daily-pr-base.md (existing components, low adoption)
Only 11 workflows import the existing daily-issue-base.md bundle despite 129 workflows declaring create-issue: directly and 54 declaring create-pull-request: directly. Restricting to the daily-*.md naming convention alone (82 workflows), 53 hand-roll activation/reporting/safe-output config that the bundle already standardizes. This is pure migration effort — no new file needed.
Medium — #3: shared/network-github-defaults.md (new component)
72 workflows use a network.allowed: [defaults, github] baseline; 43 use it exactly with no extra domains. Since network.allowed unions across imports, this extraction is compatible with workflows that layer on additional domains (e.g. node, go).
Impact summary
#
Recommendation
Workflows affected
Est. lines saved
Complexity
1
shared/read-permissions.md
63
~189
Low
2
Adopt daily-issue-base.md/daily-pr-base.md
up to 129/54 (53 in daily-* alone)
500+
Low–Medium (migration, not new code)
3
shared/network-github-defaults.md
72 (43 exact, ~29 partial)
~129+
Medium
Notes on lower-priority findings
Also observed but not escalated to a top-3 recommendation (lower yield or higher complexity):
tools.cli-proxy: true appears in 200+ workflows but is typically paired with per-workflow-specific github:/bash: scoping, making full extraction less mechanical.
A 5-workflow exact-match tools: block (cache-memory, github.toolsets, edit, bash, web-fetch) across smoke-* engine-comparison workflows — likely intentional parallel test fixtures rather than duplication to remove.
engine: blocks cluster heavily (e.g. 55x copilot + copilot-sdk: true, 38x codex + model-provider: openai) but engine selection is inherently per-workflow and not a good extraction candidate.
References
Full evidence and per-file lists are captured in the three issues created from this analysis:
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.
Overview
Analyzed all 298 workflows in
.github/workflows/using the pre-generatedworkflow-index.json(file, path, imports, engine, tool/safe-output flags, frontmatter preview) plus targeted deep-dives viagrep/python3frontmatter parsing to find exact and near-exact duplicated configuration blocks not already factored into.github/workflows/shared/.Method
workflow-index.jsonand computed import frequency, engine distribution, and tool/safe-output usage across all 298 workflows.shared/to exclude patterns already extracted (e.g.otlp.mdused 240x,reporting.mdused 173x,daily-issue-base.md/daily-pr-base.mdalready exist but are under-adopted).permissions:,network:,tools:,engine:) across all workflow files to find exact-match duplicated blocks, ranked by occurrence count.permissions:is validation-only;network.allowedunions across imports).Opportunities identified (by priority)
High — #1:
shared/read-permissions.md(new component)63 of 298 workflows (~21%) declare the identical
contents: read / issues: read / pull-requests: readpermissions block inline. Since importedpermissions:is validation-only under current merge rules, this is a safe, mechanical extraction. Est. ~189 lines saved.High — #2: Broaden adoption of
shared/daily-issue-base.md/shared/daily-pr-base.md(existing components, low adoption)Only 11 workflows import the existing
daily-issue-base.mdbundle despite 129 workflows declaringcreate-issue:directly and 54 declaringcreate-pull-request:directly. Restricting to thedaily-*.mdnaming convention alone (82 workflows), 53 hand-roll activation/reporting/safe-output config that the bundle already standardizes. This is pure migration effort — no new file needed.Medium — #3:
shared/network-github-defaults.md(new component)72 workflows use a
network.allowed: [defaults, github]baseline; 43 use it exactly with no extra domains. Sincenetwork.allowedunions across imports, this extraction is compatible with workflows that layer on additional domains (e.g.node,go).Impact summary
shared/read-permissions.mddaily-issue-base.md/daily-pr-base.mddaily-*alone)shared/network-github-defaults.mdNotes on lower-priority findings
Also observed but not escalated to a top-3 recommendation (lower yield or higher complexity):
tools.cli-proxy: trueappears in 200+ workflows but is typically paired with per-workflow-specificgithub:/bash:scoping, making full extraction less mechanical.tools:block (cache-memory,github.toolsets,edit,bash,web-fetch) acrosssmoke-*engine-comparison workflows — likely intentional parallel test fixtures rather than duplication to remove.engine:blocks cluster heavily (e.g. 55xcopilot + copilot-sdk: true, 38xcodex + model-provider: openai) but engine selection is inherently per-workflow and not a good extraction candidate.References
Full evidence and per-file lists are captured in the three issues created from this analysis:
shared/read-permissions.mdshared/daily-issue-base.mdandshared/daily-pr-base.mdshared/network-github-defaults.mdRun: §35952806154
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
o205451.ingest.us.sentry.ioTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
All reactions