[copilot-cli-research] Copilot CLI Deep Research - 2026-05-04 #30063
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Copilot CLI Deep Research Agent. A newer discussion is available at Discussion #30270. |
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-04
Repository: github/gh-aw
Scope: 211 total workflows, 95 using Copilot engine (+ extended engine object form)
Previous Analysis: 2026-05-03 (Run §25270216421)
📊 Executive Summary
Research Topic: Copilot CLI Optimization Opportunities
Key Findings: 14th consecutive run confirming two critical zero-usage features (
startup-timeout,tool-timeout); 5 custom agent files remain unused;max-continuationsadoption stays at just 2 workflows despite being Copilot-exclusive;mcp-scriptsonly adopted in 1 workflow.Primary Recommendation: Adopt
startup-timeoutandtool-timeout— these protect against hung workflows and have been available since early in the project with zero adoption.This repository has 95 Copilot workflows (45% of 211 total), with solid patterns in GitHub MCP tool usage (59 workflows, 62%), strict mode (59, 62%), and network configuration (45, 47%). However, several powerful Copilot-exclusive features remain completely unused after 14 analysis runs, representing a persistent opportunity gap.
Since the previous analysis (2026-05-03), workflow count has grown by 2 (209→211),
engine.versionpinning showed a small uptick (0→6), andengine.agentusage increased to 7. The fundamental persistent gaps —startup-timeout,tool-timeout,api-target,engine.harness— remain unchanged.Critical Findings
🔴 High Priority Issues
1.
startup-timeout— Zero adoption (14th consecutive run)No workflow sets a
startup-timeoutto limit agent startup time. If the Copilot CLI hangs during initialization (network issue, resource contention), the workflow consumes the fulltimeout-minutesbudget — often 15–45 minutes. A startup cap of 2–5 minutes would fail fast and free resources.2.
tool-timeout— Zero adoption (14th consecutive run)No workflow sets a
tool-timeoutto limit individual tool call duration. Long-runningbashcommands or MCP calls can silently stall without this guard.3.
max-continuations— Only 2 workflowsmax-continuationsis Copilot-exclusive (not available in Claude, Codex, or other engines). It enables autopilot mode where the agent can autonomously chain multiple continuation runs to complete complex, long-horizon tasks. Onlytest-quality-sentinel(max: 40) andsmoke-copilot(max: 2) use this feature — despite many workflows handling multi-step analytical or coding tasks that would benefit.🟡 Medium Priority Opportunities
4. Five unused custom agent files
These
.github/agents/files exist but no workflow references them:grumpy-reviewer.agent.md— code review agentw3c-specification-writer.agent.md— spec writing agentcreate-safe-output-type.agent.md— safe output toolingcustom-engine-implementation.agent.md— engine dev toolinginteractive-agent-designer.agent.md— workflow design assistant5.
mcp-scripts— Only 1 workflowdaily-performance-summaryis the only Copilot workflow usingmcp-scripts. This feature provides richer scripting capabilities (Python, Node, etc.) within agent workflows and is well-suited for data analysis and transformation tasks.View Full Analysis
1️⃣ Current State Analysis
View Copilot CLI Capabilities Inventory
Copilot CLI Capabilities Inventory
Copilot-Exclusive Features (not available in other engines):
engine.agent— Reference a.github/agents/*.agent.mdfor custom persona/instructionsmax-continuations— Autopilot mode: chain multiple consecutive agent runs (--autopilot --max-autopilot-continues N)engine.harness— Replace the built-in retry/harness script wrapping Copilot CLICOPILOT_PROVIDER_BASE_URL) — Route to external LLM provider (OpenAI, Anthropic, Azure, local)General Engine Features (Copilot supports all):
engine.model— Model override (e.g.,gpt-5-mini,gpt-5)engine.version— Pin CLI version (e.g.,"0.0.422")engine.args— Pass raw CLI argumentsengine.env— Custom environment variablesengine.api-target— Custom API endpoint (GHEC/GHES)engine.bare— Disable context loading (--no-custom-instructions)startup-timeout— Limit startup phase durationtool-timeout— Limit individual tool call durationnetwork.allowed— Firewall domain allowlistsandbox.agent: awf— AWF sandbox for process isolationcache-memory— Persist data between runstools.web-fetch— HTTP fetch capabilitytools.mcp-scripts— Scripting via MCPtools.playwright— Browser automationtools.github— GitHub MCP serverView Usage Statistics
Usage Statistics
timeout-minutesstrict:tools.githubnetwork:features.copilot-requestscache-memoryengine.envsandbox.agent: awftools.web-fetchengine.agent(custom)tools.playwrightengine.versionengine.modelengine.baremax-continuationsmcp-scriptsstartup-timeouttool-timeoutengine.api-targetengine.harnessCOPILOT_PROVIDER_*)2️⃣ Feature Usage Matrix
timeout-minutes,startup-timeout,tool-timeouttimeout-minutesstartup-timeout,tool-timeoutmodel,version,args,env,agent,bare,harness,api-targetmodel,version,env,agent,bareargs,harness,api-targetgithub,bash,playwright,web-fetch,mcp-scripts,web-searchgithub,bash,playwright,web-fetch,mcp-scriptsweb-searchmax-continuations,engine.agent,engine.harness, BYOKmax-continuations(2),engine.agent(7)engine.harness, BYOK3️⃣ Missed Opportunities
View High Priority Opportunities
🔴 High Priority
Opportunity 1:
startup-timeout— The Hanging Workflow Risktimeout-minutes(often 15–45 min)timeout-minutes ≥ 15(91 workflows)Opportunity 2:
tool-timeout— Silent Tool Stallsgh apiorjqon large datasets, can stall indefinitely.tool-timeoutkills the stalled call and lets the agent either retry or fail gracefully.bash: "*"or broad shell permissions (11+ workflows), data-heavy analysis workflowsOpportunity 3:
max-continuationsfor Complex Multi-Step WorkflowsNcontinuation runs to complete long-horizon tasksdaily-repo-chronicle,agent-performance-analyzer,code-scanning-fixerdo multi-phase work that would benefit from continuation chainsView Medium Priority Opportunities
🟡 Medium Priority
Opportunity 4: Activate Unused Custom Agent Files
Five agent files in
.github/agents/have no referencing workflows:grumpy-reviewer.agent.mdw3c-specification-writer.agent.mdcreate-safe-output-type.agent.mdcustom-engine-implementation.agent.mdinteractive-agent-designer.agent.mdOpportunity 5: Expand
mcp-scriptsAdoptionmcp-scriptsdaily-repo-chronicle,api-consumption-report,agent-performance-analyzer,ci-coachdaily-performance-summaryuses itOpportunity 6: Selective Model Overrides
gpt-5-minior equivalent for cost-efficient, high-frequency lightweight tasksengine.model;auto-triage-issuescorrectly usesgpt-5-miniView Low Priority Opportunities
🟢 Low Priority
Opportunity 7: Version Pinning for Stability-Critical Workflows
Opportunity 8:
engine.barefor Prompt-Focused WorkflowsAGENTS.md,copilot-instructions.md, and.github/context loading — agent sees only the workflow promptbare: true4️⃣ Specific Workflow Recommendations
View Workflow-Specific Recommendations
daily-repo-chronicle.mdtimeout-minutes: 45, AWF sandbox, github tool, bash:*startup-timeout: 5,tool-timeout: 5, considermax-continuations: 3for large repo dayscode-scanning-fixer.mdmax-continuations— fixing multiple code scanning alerts benefits from chained runsauto-triage-issues.mdmodel: gpt-5-mini— this is the right approach for classification tasksstartup-timeout,tool-timeoutagent-performance-analyzer.mdmcp-scriptsfor data analysis,max-continuationsfor large datasetsFuture PR review workflow using
grumpy-reviewergrumpy-reviewer.agent.mdagent is ready — no workflow uses it. A PR trigger workflow with this agent would fill the gap.5️⃣ Trends & Historical Context
View Historical Trends (14 runs)
startup-timeouttool-timeoutmax-continuationsengine.agent(custom)cache-memorymcp-scriptssandbox AWF*Count methodology varied across runs (some counts included all engine forms)
Key observations:
startup-timeoutandtool-timeouthave been at 0% for 14 consecutive analysis runs spanning ~18 days — this is the longest-running persistent gapmax-continuationsfrozen at exactly 2 workflows since the feature was first tracked6️⃣ Best Practice Guidelines
Based on this research:
Always set
startup-timeoutandtool-timeout: Protect against hung workflows. Recommended:startup-timeout: 5,tool-timeout: 3–5for typical workflows.Use
model: gpt-5-minifor simple tasks: Triage, labeling, classification, and simple summary workflows don't need top-tier models. Seeauto-triage-issues.mdfor the reference pattern.Leverage
max-continuationsfor multi-phase work: When a workflow needs to gather data → analyze → report → act, chain continuations instead of cramming everything in one run.Reference custom agent files for specialized personas: Don't embed agent persona in the workflow markdown — use
.github/agents/files. 5 agent files await workflows.Use
engine.barefor utilities and standalone bots: When the workflow prompt is self-contained (poem-bot, daily-fact, schedulers),bare: truesaves tokens and avoids repo-context confusion.7️⃣ Action Items
Immediate Actions (this week):
startup-timeout: 5andtool-timeout: 5to workflows withtimeout-minutes ≥ 15grumpy-reviewer.agent.mdfor PR code reviewShort-term (this month):
max-continuations: 3–5to complex multi-phase analytical workflows (daily-repo-chronicle,agent-performance-analyzer,code-scanning-fixer)mcp-scriptsto at least 3 data-analysis workflowsmodel: gpt-5-minito all triage/classification/simple-summary workflowsLong-term (this quarter):
engine.barefor all standalone/utility workflowsView Supporting Evidence & Methodology
📚 References
Research Methodology
Analysis performed on all
.mdfiles in.github/workflows/usinggreppattern matching on frontmatter fields. Copilot workflow count uses simpleengine: copilotform only (excludesengine:\n id: copilotobject form). Feature presence detected via substring match. Historical data fromrepo-memorybranch tracking 14 runs.Generated by Copilot CLI Deep Research Agent (Run: §25301640113)
Beta Was this translation helpful? Give feedback.
All reactions