published Aug 26, 2026, 4:04 AM ยท updated Aug 27, 2026, 4:26 AM
Analysis Date: 2026-08-26
Repository: github/gh-aw
Scope: 294 total workflows, 89 using Copilot engine (id: copilot)
๐ Executive Summary
Research Topic: Copilot CLI Optimization Opportunities (4th research cycle)
Key Findings:
copilot-sdk: trueadoption has been flat at 61 workflows for three consecutive runs (runs 2, 3, 4) โ true plateau confirmed, not a measurement artifact.engine.versionpinning for Copilot is still 0/89 after four cycles โ every workflow rideslatest, with zero deliberate exception.--share,plugins, and customengine.agentpersonas remain at effectively 0% adoption for the fourth straight cycle despite repeated flagging in runs 2 and 3.shared/copilot-defaults.mdโ recommended in run 2 (2026-08-24) โ still does not exist. Two full cycles have passed with no action.cache-memorycontinues to grow (80, up from 105-workflow high-water mark last cycle โ see note on measurement below) whilerepo-memorysits steady around 30.
Primary Recommendation: Stop repeating unactioned recommendations as open-ended "opportunities." The four items above (SDK plateau, version pinning, shared defaults snippet, agent personas) have each been flagged 2โ3 times with no measurable movement. This cycle escalates them to a decide-or-implement framing: either a maintainer explicitly deprioritizes them, or a follow-up PR implements the highest-leverage one (shared/copilot-defaults.md) directly, since it requires no per-workflow decision-making and unblocks the others.
Beyond the persistent gaps, this cycle's new observation is that the id: copilot count (89) is lower than the 109 recorded in runs 2โ3, while total workflow count grew from 292 to 294. This suggests some non-Copilot workflows were reclassified or removed, or the counting method shifted โ flagged as a data-quality note rather than a real regression in adoption (see Trends section).
Critical Findings
๐ด High Priority Issues
engine.versionnever pinned for Copilot (0/89, 4 cycles running). Every Copilot workflow runs whateverlatestresolves to at compile/run time. For workflows withmode: strictor compliance-sensitive scopes (security-compliance.md,daily-secrets-analysis.md,daily-malicious-code-scan.md), floating onlatestmeans a CLI regression or behavior change could silently alter results with no changelog signal in the workflow file itself.- No shared Copilot defaults snippet exists, despite being recommended in the 2026-08-24 cycle. With 89 workflows independently deciding tool args, models, and log settings, there is no single place to fix a systemic issue (e.g. add a safety flag to every Copilot workflow at once).
๐ก Medium Priority Opportunities
--shareand--allow-all-pathsremain unused as explicitengine.args.--allow-all-pathsis auto-injected by the compiler whenedittool is enabled (confirmed inpkg/workflow/copilot_engine_execution.go:309-311), so its "0 manual adoption" is expected and not a gap โ but--sharegenuinely has no manual workflow usage, meaning no workflow author is opting into shareable conversation links for debugging failed runs.- Custom agent personas (
engine.agent) usage is effectively 0 in this sample despite.github/agents/*.mdhaving 12 defined agent files available to reference. Prior cycles found ~7; this cycle's stricter query (matchingengine:block scopedagent:key) found 0, suggesting the earlier ~7 count may have included agent imports (imports: [.github/agents/x.md]) rather than the--agentflag itself โ a distinction worth clarifying in the next research pass. - Timeout-minutes values are broadly scattered (5, 8, 10, 15, 20, 25, 30, 35, 45, 60, 120) across Copilot workflows with no visible correlation to workflow complexity documented anywhere, making it hard to know if any given timeout is deliberate or copy-pasted.
View Full Analysis
1๏ธโฃ Current State Analysis
View Copilot CLI Capabilities Inventory
Copilot CLI Capabilities Inventory (from pkg/workflow/copilot_engine_execution.go, copilot_engine.go, copilot_mcp.go)
- Always-on/compiler-managed flags:
--add-dir(workspace,/tmp/, cache/drive-memory dirs),--log-level all,--log-dir,--headless,--no-auto-update(SDK server mode),--host/--port(SDK mode). - Conditional flags:
--disable-builtin-mcpsโ added unless workflow usesweb-fetchtool--no-ask-userโ added when CLI version supports it (v1.0.19+), for autonomous runs--agent <name>โ set only viaengine.agent, not via agent-file imports--autopilot --max-autopilot-continues Nโ set whenengine.max-continuations > 1--allow-all-pathsโ auto-added whenedittool enabled--no-custom-instructionsโ added whenengine.bare: true
- Engine config surface:
id,version,model,args(raw passthrough),env,agent,max-continuations,bare,max-tool-denials, harness options,copilot-sdk: true. - Memory/storage integration:
cache-memoryandrepo-memoryboth auto-wired into--add-dir. - BYOK support:
COPILOT_PROVIDER_*env vars for custom model providers (seen insmoke-copilot-aoai-*.md,smoke-copilot-mai.md). - MCP integration:
pkg/workflow/copilot_mcp.goconfigures MCP servers for the Copilot CLI transport.
View Usage Statistics
Usage Statistics (this cycle vs. prior cycles)
| Metric | Run 1 (08-23) | Run 2 (08-24) | Run 3 (08-25) | Run 4 (08-26, this run) |
|---|---|---|---|---|
| Total workflows | โ | 292 | 292 | 294 |
Copilot workflows (id: copilot) |
39 | 109 | 109 | 89 |
copilot-sdk: true |
โ | 61 | 61 | 61 |
cache-memory |
โ | 105 | 105+ | 80 |
repo-memory |
โ | 29 | present | 30 |
max-tool-denials |
โ | โ | 55 | 55 |
engine.version pinned |
0 | 0 | 0 | 0 |
--share manual use |
0 | 0 | 0 | 0 |
plugins: adoption |
โ | 0 | 0 | 0 |
engine.agent persona use |
โ | ~7 | ~7 | 0 (stricter query) |
Note on count discrepancies: The id: copilot and cache-memory counts dropped this cycle versus runs 2โ3 (109โ89, 105โ80) while total workflow count rose slightly (292โ294). This is very likely a query-methodology difference (this cycle used stricter nested-block matching) rather than an actual adoption regression โ flagged so the next cycle can reconcile the counting method and confirm.
2๏ธโฃ Feature Usage Matrix
| Feature Category | Available Features | Used | Not Used | Usage Rate |
|---|---|---|---|---|
| CLI Flags (compiler-controlled) | --add-dir, --log-level, --disable-builtin-mcps, --no-ask-user, --allow-all-paths |
All (auto-injected by compiler based on config) | --share (never manual) |
~90% (mostly automatic) |
| Engine Config | id, version, model, args, env, agent, max-continuations, bare, max-tool-denials, copilot-sdk |
model (40+), bare (21), max-continuations (10), max-tool-denials (55), copilot-sdk (61) |
version (0/89), agent (0 confirmed this cycle) |
~55% |
| MCP Servers | GitHub MCP w/ toolsets, custom MCP servers via mcp-servers: |
GitHub MCP toolsets widely used with scoped toolsets: [...] |
Custom/local MCP servers less common outside a few workflows (eslint-miner, docs-noob-tester) | Moderate |
| Memory | cache-memory, repo-memory, drive-memory |
cache-memory (80), repo-memory (30) |
โ | Growing |
| Network Config | network.allowed: [defaults, github, python, ...] |
172/294 workflows set explicit network: |
Remaining ~122 rely on engine default network policy | ~59% |
| Sandbox | sandbox.agent.runtime: cloud-hypervisor |
Present in several workflows (ace-editor, agent-job-health, agent-performance-analyzer) | Not universal | Partial |
| Advanced | plugins, --share, custom engine.agent |
None confirmed | All three | 0% (persistent) |
3๏ธโฃ Missed Opportunities
View High Priority Opportunities
๐ด High Priority
Opportunity 1: Create shared/copilot-defaults.md (escalated 2nd time โ no action after 08-24 recommendation)
- What: A shared import snippet bundling common Copilot engine settings (e.g. a pinned
version, standardmax-tool-denials, log verbosity) that workflows canimports:instead of repeating ad hoc. - Why It Matters: 89 Copilot workflows each independently decide these settings; a systemic fix (e.g., responding to a CLI regression) currently requires touching every file individually.
- Where: All
id: copilotworkflows, especially thedaily-*andsmoke-copilot-*families that already share structure viashared/imports for other concerns (otlp, graders). - How to Implement: Add
.github/workflows/shared/copilot-defaults.mdwith anengine:fragment (version, standard args) following the existingshared/otlp.mdimport pattern; migrate 3โ5 pilot workflows to validate before wider rollout. - Example:
# shared/copilot-defaults.md --- engine: id: copilot version: "0.x.y" # pin to last-known-good max-tool-denials: 3 ---
Opportunity 2: Decide on engine.version pinning policy (0/89, 4 cycles)
- What: No Copilot workflow pins
engine.version; all float onlatest. - Why It Matters: For compliance/security-sensitive workflows (
security-compliance.md,daily-malicious-code-scan.md,daily-secrets-analysis.md), an unannounced CLI behavior change could silently affect audit results. - Where: At minimum, the security/compliance-tagged Copilot workflows.
- How to Implement: Either (a) explicitly document that "always latest" is the intended policy for this repo (closing the gap by decision, not code), or (b) pin
versionon the handful of compliance-critical workflows as a pilot.
View Medium Priority Opportunities
๐ก Medium Priority
Opportunity 3: Clarify engine.agent vs. agent-file imports in future research
- What: This cycle's stricter query found 0 workflows setting
engine.agent(the flag that actually triggers--agent), versus ~7 in prior cycles that may have matchedimports: [.github/agents/*.md]instead. - Why It Matters: 12 custom agent files exist in
.github/agents/but if none actually set the--agentCLI flag, that authoring investment may be under-leveraged. - Where: N/A โ this is a research methodology fix, but worth a manual audit of a sample workflow (e.g.
archie.md, which appeared in bothagent:searches) to determine ground truth. - How to Implement: Manually inspect 3โ5 workflows previously counted as "agent users" to confirm whether they set
engine.agentor merely import agent markdown files.
Opportunity 4: Reconcile id: copilot and cache-memory count discrepancy
- What: Counts dropped 109โ89 and 105โ80 between this cycle and the last two, while total workflow count grew.
- Why It Matters: Without reconciling, trend tracking for adoption rates is unreliable across cycles.
- Where: Research process itself.
- How to Implement: Standardize the exact
greppattern used forid: copilot(nested underengine:block) andcache-memory:(top-level key) in the next cycle, and record the pattern innotes.mdfor repeatability.
Opportunity 5: --share flag remains fully unused for debugging
- What: No workflow opts into
--sharefor producing shareable conversation transcripts. - Why It Matters: For workflows that fail intermittently (e.g.
daily-*scheduled jobs), a shareable transcript link could speed up triage without needing full log-dir access. - Where: High-failure-rate or hard-to-debug workflows โ check
agent-job-health.md/aw-failure-investigator.mdoutput for candidates. - How to Implement: Add
args: ["--share"]toengine:on 1โ2 pilot workflows and confirm the resulting artifact/link surfaces usefully in run logs.
View Low Priority Opportunities
๐ข Low Priority
Opportunity 6: Standardize timeout-minutes selection guidance
- What: Copilot workflow timeouts span 5โ120 minutes with no documented rationale tying value to workflow complexity.
- Why It Matters: Minor โ inconsistency doesn't break anything but makes it hard for new workflow authors to pick a sensible default.
- Where: All Copilot workflows.
- How to Implement: Add a short guideline table to
docs/src/content/docs/reference/engines.md(e.g., "simple triage: 10-15m, multi-step research: 30-60m, deep audits: 60m+").
Opportunity 7: plugins feature at 0% adoption, 3 consecutive cycles
- What: The documented Agent Plugins feature has never been used in any workflow across all measured cycles.
- Why It Matters: Low urgency since no workflow currently needs it, but worth confirming it isn't dead/unsupported functionality being carried in docs.
- Where: N/A.
- How to Implement: Verify with a maintainer whether
pluginsis still an active, supported feature before continuing to track its adoption in future cycles.
4๏ธโฃ Specific Workflow Recommendations
View Workflow-Specific Recommendations
Workflow family: security-compliance.md, daily-malicious-code-scan.md, daily-secrets-analysis.md
- Current State: All run Copilot engine on
latestwith no version pin. - Recommended Changes: Pin
engine.versionto a known-good release for these specifically, since they gate compliance/security signal quality. - Expected Benefits: Reproducible audit results; CLI regressions caught deliberately via version bump rather than silently.
Workflow family: daily-* scheduled workflows (broad set)
- Current State: Each independently configures Copilot engine settings; no shared defaults snippet exists.
- Recommended Changes: Adopt
shared/copilot-defaults.mdonce created (see Opportunity 1). - Expected Benefits: Single point of control for engine-wide fixes/upgrades.
5๏ธโฃ Trends & Insights
View Historical Trends
- Persistent zero-adoption features across 4 cycles:
engine.versionpinning,plugins,--sharemanual use. These have now been flagged in 3+ consecutive reports without any change โ this cycle treats them as requiring an explicit decision rather than continued monitoring. copilot-sdk: trueplateaued at exactly 61 for three straight measurements (runs 2, 3, 4) โ genuinely flat, not measurement noise, since the exact same number recurred three times.shared/copilot-defaults.mdstill not created despite being recommended in run 2 (08-24) and escalated in run 3 (08-25). Two cycles of inaction โ this is the single most actionable, low-effort item in the backlog.- Count discrepancy this cycle (
id: copilot109โ89,cache-memory105โ80) likely reflects a stricter/different grep pattern rather than real regression; flagged for reconciliation rather than alarm. max-tool-denialsusage held steady at 55 between runs 3 and 4 โ a genuinely stable, moderate-adoption feature, unlike the SDK/version-pin items that are stuck at extremes (flat-high or flat-zero).
6๏ธโฃ Best Practice Guidelines
- Pin
engine.versionfor compliance-sensitive workflows at minimum. Floating onlatesteverywhere is a reasonable default for most automation but leaves zero deliberate safety margin for audit-oriented workflows. - Consolidate common Copilot engine settings into a shared import before adding yet another individually-configured workflow โ the repo already uses this pattern successfully for
shared/otlp.mdandshared/graders.md. - When flagging the same unactioned opportunity for a 3rd+ consecutive research cycle, escalate to a decision request rather than repeating the same recommendation verbatim โ either implement it or explicitly close it as intentionally deprioritized, to keep the research signal useful.
7๏ธโฃ Action Items
Immediate Actions (this week):
- Decide whether
shared/copilot-defaults.mdshould be created, or explicitly deprioritized (2 cycles overdue) - Reconcile the
id: copilot/cache-memorycount discrepancy in the next research query
Short-term (this month):
- Pilot
engine.versionpinning on 2โ3 compliance-critical Copilot workflows - Manually verify whether any workflow actually sets
engine.agent(vs. importing agent files) to correct the persona-adoption metric
Long-term (this quarter):
- Confirm with a maintainer whether the
pluginsfeature is still supported/relevant before continuing to track it - Add timeout-minutes selection guidance to
docs/src/content/docs/reference/engines.md
View Supporting Evidence & Methodology
๐ References
- Copilot Engine source:
pkg/workflow/copilot_engine.go,pkg/workflow/copilot_engine_execution.go,pkg/workflow/copilot_mcp.go - Prior research: repo-memory
memory/copilot-cli-researchbranch (latest.json,notes.md) โ runs 08-23, 08-24, 08-25 - Sample workflows referenced:
security-compliance.md,daily-malicious-code-scan.md,daily-secrets-analysis.md,ace-editor.md,agent-job-health.md
Research Methodology
Static analysis via grep/glob/view across .github/workflows/*.md and pkg/workflow/copilot_*.go. Counts compared against three prior repo-memory snapshots to compute trend deltas. No workflow runs or Copilot CLI invocations were made as part of this research โ file/config inspection only.
Generated by Copilot CLI Deep Research (Run: 32928414627)
Generated by ๐ฌ Copilot CLI Deep Research Agent ยท copilot ยท auto ยท 37.2 AIC ยท โ 8.76 AIC ยท โ 10.9K ยท โท
- expires on Aug 26, 2026, 8:04 PM UTC-08:00