[copilot-cli-research] Copilot CLI Deep Research - 2026-04-16 #26727
Closed
Replies: 2 comments 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
This discussion was automatically closed because it expired on 2026-04-17T21:15:00.303Z.
|
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-04-16 | Repository: github/gh-aw | Scope: 192 total workflows, ~135 using Copilot engine (90 explicit + 19 object-format + 26 default)
📊 Executive Summary
This is the 4th consecutive daily analysis tracking Copilot CLI feature adoption across this repository. The headline story today is a significant playwright regression (20→12, -40%) alongside a strong improvement in
strictmode adoption (111→126, +13%). Persistent feature gaps — version pinning, token-weights, mcp-gateway, engine.args/env, and the majority of custom agent files — remain unchanged for the fourth day in a row, suggesting these are structural rather than temporary omissions.The overall workflow count grew by 1 (191→192), Claude workflows grew by 1 (45→46), and Codex dropped by 1 (9→8). The most impactful quick win remains deploying the
engine.agentfield to route specialized workflows through the 9 idle custom agent files already committed to.github/agents/.Critical Findings
🔴 High Priority
playwrightdropbash:['*']wildcardengine.args/envunused🟡 Medium Priority
max-continuationsengine.agentcustom filesbare: truefor analyticstoken-weights1️⃣ Current State Analysis
View Copilot CLI Capabilities Inventory
Copilot CLI Capabilities Inventory (v1.0.21)
Engine Configuration Fields:
engine.version— Pin Copilot CLI version (e.g."0.0.369")engine.model— Override model (e.g.gpt-5.1-codex-mini,claude-haiku-4-5)engine.agent— Load custom.github/agents/*.agent.mdfileengine.args— Pass extra CLI flags (array of strings)engine.env— Inject environment variables into the Copilot processengine.api-target— Custom API endpoint for enterprise GHEengine.command— Custom executable path (skip installation)engine.token-weights— Override model cost multipliersengine.bare— Pass--no-custom-instructionsto suppress AGENTS.mdExecution Features:
max-continuations→--autopilot --max-autopilot-continues N(Copilot-only)sandbox.awf/agent: awf— Network firewall with AWF binarybare: true— Suppress custom instruction loading--disable-builtin-mcps— Always applied; no per-workflow override needed--no-ask-user— Autonomous mode (v1.0.19+, always applied)--add-dir— Directory access (auto-configured from cache-memory)--allow-all-paths— Enabled whenedittool is presentTool & MCP Features:
tools.bash,tools.edit,tools.github,tools.playwright,tools.web-fetchmcp-scripts— Custom MCP server scriptscache-memory— Cross-run persistent storagerepo-memory— Git-branch persistent storagestrict— Enable safe-inputs sanitizationFeature Flags:
features.copilot-requests: true— Show Copilot request countsfeatures.mcp-gateway— MCP gateway routing (unused)features.copilot-integration-id— Integration telemetry (unused)features.disable-xpia-prompt— Disable XPIA defense prompt (unused)features.cli-proxy— CLI proxy routing (unused)Available Custom Agents (
.github/agents/):adr-writer,agentic-workflows,ci-cleaner,contribution-checker,create-safe-output-type,custom-engine-implementation,developer.instructions,grumpy-reviewer,interactive-agent-designer,technical-doc-writer,w3c-specification-writerView Usage Statistics
Usage Statistics
Engine Distribution (192 workflows):
Copilot effective total: ~135 workflows (70%)
2️⃣ Feature Usage Matrix
engine.versionengine.modelengine.agentengine.argsengine.envengine.api-targetengine.bareengine.token-weightsmax-continuationssandbox.awfcache-memoryweb-fetchplaywrightmcp-scriptsstrictsafe-outputsfeatures.copilot-requestsfeatures.mcp-gatewaytools.timeoutbash:['*']wildcard3️⃣ Missed Opportunities
View High Priority Opportunities
🔴 High Priority
Opportunity 1: Playwright Regression (-40%)
Opportunity 2:
bash:['*']Wildcard Security (37 workflows, 19%)--allow-all-tools) instead of specifying exact tool permissionsOpportunity 3: Version Pinning at 0% (4-day persistent gap)
View Medium Priority Opportunities
🟡 Medium Priority
Opportunity 4:
max-continuationsUnderuse (1%)smoke-copilot(2) andtest-quality-sentinel(40) use--autopilotarchitecture-guardian,code-scanning-fixer,jsweep,issue-monsterOpportunity 5: 9/11 Custom Agent Files Unused
technical-doc-writer(2 workflows) andci-cleaner(1 workflow) are active; 9 agent files sit idleadr-writer→ ADR creation taskscontribution-checker→ PR review workflows (currently via generic Copilot)grumpy-reviewer→ Code review workflows (already exists!)agentic-workflows→ Workflow generation/editing tasksw3c-specification-writer→ Documentation standardsOpportunity 6:
bare: truefor Analytics Workflowssmoke-copilotusesbare: true(--no-custom-instructions)daily-fact,poem-bot,daily-news,daily-hippo-learn,constraint-solving-potdOpportunity 7:
engine.token-weightsat 0%api-consumption-reportandagent-performance-analyzerworkflows analyze token costs but use built-in model multipliers. Custom weights would make these reports accurate for non-standard modelsView Low Priority Opportunities
🟢 Low Priority
Opportunity 8:
engine.envfor Workflow-Specific Configurationengine.envto inject custom env varsCOPILOT_MODELdynamically) or inject feature flags via environmentOpportunity 9:
tools.startup-timeoutfor MCP-Heavy Workflowsstartup-timeout(only 8 set any timeout)Opportunity 10:
features.copilot-integration-idfor Telemetry4️⃣ Specific Workflow Recommendations
View Workflow-Specific Recommendations
architecture-guardian.mdmax-continuations: 8(architectural analysis benefits from iterative refinement) + consideragent: grumpy-reviewerfor consistencycode-scanning-fixer.mdmax-continuations: 5, restrictbashto['git *', 'grep *']daily-fact.md/poem-bot.md/constraint-solving-potd.mdbaremode; these load all project instructions needlesslybare: truecontribution-check.mdagent: contribution-checker— a purpose-built agent file already exists!archie.md/adr-writer-adjacent workflowsagent: adr-writerfor architectural documentation tasksWorkflows with
copilot-requests: true(46 workflows)engine.token-weightsoverride to at leastapi-consumption-report.mdfor accurate cost reporting5️⃣ Trends & Insights
View 4-Day Historical Trends (Apr 13–16)
Key Observations:
6️⃣ Best Practice Guidelines
Based on 4 days of research, here are the recommended best practices:
Use
engine.agentfor specialized workflows: The.github/agents/directory has 11 purpose-built agents. Route appropriate workflows through them for consistent, specialized behavior.Avoid
bash:['*']: Replace with explicit allowed patterns. This is the single highest-impact security improvement available — affects 37 workflows (19%).Enable
stricton all input-triggered workflows: Already at 66% and improving. The remaining 34% (66 workflows) that receive untrusted input (issues, PRs, comments) without strict mode are potential injection vectors.Use
bare: truefor non-code workflows: Workflows that don't need project context (entertainment, analysis, standalone tools) shouldn't load AGENTS.md — it costs tokens and can confuse the agent.Pin version for production workflows: At minimum, workflows in the critical path (CI, release, triage) should pin
engine.versionso they don't silently break on Copilot CLI upgrades.Use
max-continuationsfor complex tasks: If a task regularly hits the continuation limit, addmax-continuations: 5-10. It's a Copilot-unique capability not available in Claude or Codex.7️⃣ Action Items
Immediate Actions (this week):
agent: contribution-checkertocontribution-check.md(zero-effort win)bare: truetodaily-fact.md,poem-bot.md,constraint-solving-potd.mdShort-term (this month):
bash:['*']workflows and replace wildcards with specific patternsmax-continuations: 5-10to complex workflows (architecture-guardian, code-scanning-fixer)engine.versionon at least 5 critical production workflowsagent: grumpy-reviewerfor code review workflowsLong-term (this quarter):
engine.token-weightstoapi-consumption-report.mdfor accurate cost datafeatures.mcp-gateway,features.copilot-integration-id— use or close gapstrict: falseworkflows genuinely don't process untrusted inputView Supporting Evidence & Methodology
Research Methodology
Data collection: All 192
.github/workflows/*.mdfiles were scanned using ripgrep pattern matching for each feature. Engine distribution counted via exact pattern matching (^engine: copilot,^engine: claude, etc.).Sources examined:
pkg/workflow/copilot_engine.go— Engine interface and feature support flagspkg/workflow/copilot_engine_execution.go— CLI argument construction, feature → flag mappingpkg/workflow/engine.go— EngineConfig struct (all configurable fields).github/agents/*.agent.md— Available custom agent filesCHANGELOG.md— Recent feature additions/tmp/gh-aw/repo-memory/default/copilot-research-latest.json— Historical trend data (4 days)Limitations: Counts are based on static file analysis, not runtime execution. Some workflows may have the feature configured but conditionally disabled. Playwright count volatility may be due to rapid workflow authoring/deletion cycles.
References:
Beta Was this translation helpful? Give feedback.
All reactions