[copilot-cli-research] Copilot CLI Deep Research - 2026-05-07 #30757
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Copilot CLI Deep Research Agent. A newer discussion is available at Discussion #30930. |
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.
-
Analysis Date: 2026-05-07
Repository: github/gh-aw
Scope: 217 total workflows, 96 using Copilot engine (44%), 17th consecutive research run
📊 Executive Summary
Research Topic: Copilot CLI Optimization Opportunities
Key Findings:
startup-timeoutandtool-timeoutremain at 0% adoption for 17 consecutive runs — the most persistent unaddressed gap in the repositoryedit/bashtools)max-continuationsadoption is stagnant at 2 workflows despite being a Copilot-exclusive feature with high impact for long-running tasksThis is the 17th consecutive run of this research workflow. Persistent gaps from previous runs remain unaddressed. The repository has grown from 93 to 96 Copilot workflows since last analysis, but feature adoption rates have barely changed.
Critical Findings
🔴 High Priority Issues
1. Timeout Configuration Never Used (17 consecutive runs)
startup-timeoutandtool-timeouthave been at 0% adoption across every single analysis run since this workflow began. These settings control how long Copilot CLI waits for MCP tool responses, directly preventing hung workflow runs that waste GitHub Actions minutes. Every complex workflow that calls external MCP servers is at risk of indefinite hangs.2. 51 Copilot Workflows Without Network Restrictions
Of 96 Copilot workflows, 51 (53%) have no
network:configuration. Critically, 33 of these haveeditorbashtools — meaning the agent can make code changes AND potentially reach arbitrary external endpoints. Only 11 workflows use the AWF sandbox.3. 10 Workflows with Unrestricted
bash: trueThese workflows give Copilot CLI unrestricted shell access:
artifacts-summary.md,daily-cli-performance.md,daily-secrets-analysis.md,daily-sentrux-report.md,daily-workflow-updater.md,dead-code-remover.md,mcp-inspector.md,q.md,refactoring-cadence.md,video-analyzer.md. All should be scoped to specific command patterns.🟡 Medium Priority Opportunities
4.
max-continuationsAdoption at 2/96 (Copilot-exclusive feature)Only
smoke-copilot.mdandtest-quality-sentinel.mdusemax-continuations. This is the only way to allow Copilot to run multi-step tasks beyond a single autopilot continuation. Scheduled analysis workflows likedaily-malicious-code-scan.md,daily-architecture-diagram.md, andrepository-quality-improver.mdcould produce significantly more thorough results.5. 5 Unused Custom Agent Files (Since April)
The following agent files exist in
.github/agents/but are referenced by zero workflows:grumpy-reviewer.agent.md— code review personaw3c-specification-writer.agent.md— spec writingcreate-safe-output-type.agent.md— safe output scaffoldingcustom-engine-implementation.agent.md— engine developmentinteractive-agent-designer.agent.md— interactive agent designThese should either be wired to workflows or removed to reduce confusion.
View Full Analysis
1️⃣ Current State Analysis
View Copilot CLI Capabilities Inventory
Copilot CLI Capabilities Inventory
Engine Configuration Options (from
pkg/workflow/copilot_engine_execution.go):engine.version— Pin CLI version (e.g.,"0.0.422")engine.model— Override model viaCOPILOT_MODELenv varengine.agent— Pass--agent <id>to use a.github/agents/fileengine.args— Additional raw CLI argumentsengine.bare— Add--no-custom-instructionsto skip AGENTS.md/context loadingengine.harness— Replace the built-incopilot_harness.cjsretry wrapperengine.api-target— Custom GHEC/GHES API endpoint hostnameengine.command— Custom executable pathCopilot-Exclusive Features:
max-continuations— Autopilot mode via--autopilot --max-autopilot-continues Ntools.startup-timeout—GH_AW_STARTUP_TIMEOUTenv var (seconds to wait for MCP tools)tools.tool-timeout—GH_AW_TOOL_TIMEOUTenv var (timeout per MCP tool call)agent: awf) — Full network firewall with allowlistCOPILOT_PROVIDER_*env varsAlways-On Flags (set by compiler automatically):
--add-dir /tmp/gh-aw/— Grants access to workflow artifacts--log-level all --log-dir <logsFolder>— Full logging for audit--disable-builtin-mcps— Disables Copilot's own built-in MCPs (uses gh-aw gateway instead)--add-dir "${GITHUB_WORKSPACE}"— Grants access to repo filesView Usage Statistics
Usage Statistics (Copilot workflows, n=96)
2️⃣ Feature Usage Matrix
3️⃣ Missed Opportunities
View High Priority Opportunities
🔴 High Priority
Opportunity 1: Add
startup-timeoutandtool-timeoutto Complex WorkflowsWhat:
tools.startup-timeout(seconds to wait for MCP initialization) andtools.tool-timeout(timeout per tool call) are Copilot CLI features exposed viaGH_AW_STARTUP_TIMEOUTandGH_AW_TOOL_TIMEOUT.Why It Matters: Without these, a single hung MCP server call can cause a workflow to spin at the maximum
timeout-minuteslimit, consuming all GitHub Actions minutes. These settings add graceful error recovery.Where: Every workflow using external MCP servers (brave, playwright, http MCPs) and complex bash operations.
How to Implement:
Opportunity 2: Add Network Restrictions to Code-Editing Workflows
What: 33 workflows with
editorbashtools have nonetwork:configuration. This means the agent can reach any external host during code-editing sessions.Why It Matters: Network restrictions (especially
defaultswhich includes github.com + npm/pip registries) prevent exfiltration during code modification sessions.Where: All workflows with
edit:orbash:tools that lacknetwork:config.How to Implement:
For workflows that only need GitHub access:
Opportunity 3: Scope
bash: trueto Specific CommandsWhat: 10 workflows use
bash: true(unrestricted shell access). The compiler supports per-command scoping.Where:
artifacts-summary.md,daily-cli-performance.md,daily-secrets-analysis.md,daily-sentrux-report.md,daily-workflow-updater.md,dead-code-remover.md,mcp-inspector.md,q.md,refactoring-cadence.md,video-analyzer.mdHow to Implement:
View Medium Priority Opportunities
🟡 Medium Priority
Opportunity 4: Expand
max-continuationsfor Long-Running Scheduled TasksWhat: Only 2 workflows use
max-continuations. This Copilot-exclusive feature lets the CLI chain multiple autopilot runs for tasks too complex for one pass.Why It Matters: Long scheduled workflows hitting
timeout-minuteslimits could instead run multiple focused continuations.Where: Scheduled workflows with timeout ≥ 30 minutes:
daily-malicious-code-scan.md,daily-architecture-diagram.md,repository-quality-improver.md,weekly-blog-post-writer.mdHow to Implement:
Opportunity 5: Wire or Remove 5 Unused Agent Files
What: 5 custom agent files in
.github/agents/have never been referenced by any workflow. They define specialized personas/behaviors but aren't used.Unused files:
grumpy-reviewer.agent.md— useful for PR review workflowsw3c-specification-writer.agent.md— useful for documentation workflowscreate-safe-output-type.agent.md— useful for gh-aw developmentcustom-engine-implementation.agent.md— useful for engine developmentinteractive-agent-designer.agent.md— useful for workflow creationHow to Implement: Either wire
grumpy-reviewerto a PR review workflow:Or delete unused files to reduce repository clutter.
Opportunity 6: Add
cache-memoryto 15+ Scheduled Analysis WorkflowsWhat: 66 copilot workflows run on schedules but don't use
cache-memoryfor state persistence. This means each run starts from scratch, potentially repeating analysis.Where:
architecture-guardian.md,cli-consistency-checker.md,copilot-token-audit.md,daily-assign-issue-to-user.md,daily-compiler-threat-spec-optimizer.mdHow to Implement:
View Low Priority Opportunities
🟢 Low Priority
Opportunity 7: Version Pinning for Production-Critical Workflows
What: 82/96 Copilot workflows use
version: latest(implicit). 14 already pin versions — a healthy practice.Why: Pinning prevents unexpected breakage from CLI updates in stable production workflows.
Where:
auto-triage-issues.md,daily-community-attribution.md,bot-detection.mdOpportunity 8: Explicit Model Selection for Cost-Sensitive Workflows
What: Only 3 Copilot workflows specify a model explicitly. Lightweight tasks could use
gpt-5.4-minito reduce token costs.Where: Read-only analysis workflows, label-only workflows, simple classification tasks.
4️⃣ Specific Workflow Recommendations
View Workflow-Specific Recommendations
auto-triage-issues.mdmodel: gpt-5-mini✅ — good lightweight model choicestartup-timeout/tool-timeouttools.startup-timeout: 60to handle github MCP init delaysdead-code-remover.mdbash: true(unrestricted) + no network config["grep *", "cat *", "git *"]; addnetwork: allowed: [defaults]weekly-blog-post-writer.mdmax-continuations: 2to allow deeper research phasesdaily-malicious-code-scan.mdcache-memoryfor previously scanned patterns +max-continuations: 25️⃣ Trends & Insights
View Historical Trends (17 Runs)
Changes Since Run #16 (2026-05-06)
Multi-Run Persistent Gaps
All of the following have been 0% for every analysis run since this workflow began:
startup-timeout— never used, evertool-timeout— never used, everengine.api-target— never used, everengine.harness— never used, everPositive Trends
[all])6️⃣ Best Practice Guidelines
Based on 17 runs of analysis, recommended best practices:
startup-timeoutandtool-timeout:60sstartup /30sper-tool is a safe default for workflows using external MCPsedit:orbash:should havenetwork: allowed: [defaults]minimumbash:to specific commands: Never usebash: true— enumerate the commands you actually needstrict: trueby default: 35% of Copilot workflows still don't have thisgpt-5.4-minifor classification/labeling workflows to reduce costs7️⃣ Action Items
Immediate Actions (this week):
tools.startup-timeout: 60andtools.tool-timeout: 30to at least 5 complex MCP-heavy workflowsbash: true→ specific commands in the 10 affected workflowsShort-term (this month):
network:configgrumpy-reviewer.agent.mdto a PR review workflow, or delete unused agent filesmax-continuations: 2toweekly-blog-post-writer.mdanddaily-malicious-code-scan.mdLong-term (this quarter):
startup-timeout/tool-timeoutas standard defaults across all MCP-using workflowsengine.harnesscustomization would benefit complex retry scenariosengine.api-targetfor GHE/GHEC deploymentsView Supporting Evidence & Methodology
📚 References
pkg/workflow/copilot_engine_execution.godocs/src/content/docs/reference/engines.md.github/agents//tmp/gh-aw/repo-memory/default/copilot-research-notes.mdResearch Methodology
Analysis performed by:
pkg/workflow/copilot_*.gofiles for available CLI flags and configuration options.github/workflows/*.mdfiles for frontmatter configuration patternsGenerated by Copilot CLI Deep Research (§25476599555) — Run #17
Beta Was this translation helpful? Give feedback.
All reactions