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
This report analyzes all 178 agentic workflows against the full feature set available in the Copilot CLI engine. The goal: identify gaps between what's possible and what's being done.
🔴 High Priority
1. startup-timeout and tool-timeout — 0% adoption (available, never used)
The Copilot engine supports startup-timeout and tool-timeout frontmatter fields that set GH_AW_STARTUP_TIMEOUT and GH_AW_TOOL_TIMEOUT env vars respectively. Not a single workflow uses them. For workflows that experience CI flakiness due to slow MCP server startup or hung tool calls, these provide precise fault isolation.
2. Engine version pinning — 0% adoption (reproducibility risk)
No workflow pins engine.version. All 86 Copilot workflows silently install latest on every run. A breaking Copilot CLI release would simultaneously break every workflow with no way to roll back individually.
The AWF firewall (sandbox: agent: awf) provides full network egress control and process isolation. Only 12 of 178 workflows enable it. Workflows that take untrusted user input from issues/PRs/discussions are especially exposed.
🟡 Medium Priority
4. max-continuations — only 1 workflow (complex task potential)
max-continuations enables --autopilot --max-autopilot-continues on Copilot CLI, letting the agent chain multiple consecutive runs automatically for long-horizon tasks. Only 1 workflow uses this despite 10+ workflows involving complex multi-step operations like daily-mcp-concurrency-analysis and repository-quality-improver.
5. Custom agent files — 9 files exist, only 3 workflows use engine.agent
Nine .github/agents/*.agent.md files are defined but only technical-doc-writer (2 workflows) and ci-cleaner (1 workflow) are actually referenced via engine.agent. Seven agents including agentic-workflows, contribution-checker, grumpy-reviewer, w3c-specification-writer are never set as the active agent context.
6. checkout: false — only 1 workflow (startup latency)
Workflows doing pure analysis/research that never access the repo filesystem still incur the full checkout time. At least 20+ read-only workflows (artifact summaries, news digests, PR analysis) could set checkout: false to reduce startup time by ~15-30 seconds.
7. engine.env — only 1 workflow (custom config potential)
Custom environment variables can be injected into the Copilot CLI process via engine.env. Only 1 workflow uses this. Several workflows doing complex tool configuration (custom API endpoints, debug modes, library configuration) could leverage this.
🟢 Low Priority
8. GitHub MCP notifications and search toolsets — 0-1 workflows
The GitHub MCP server supports notifications and search toolsets. The notifications toolset is used in 0 workflows. The search toolset appears in 1 workflow. For daily digest and triage workflows that need cross-repo search or notification processing, these toolsets are untapped.
9. mcp-scripts — only 5 workflows (3%)
mcp-scripts exposes the gh CLI (and other CLI tools) as MCP tools via a special server, enabling type-safe, permission-controlled CLI access. Only 5 workflows use this despite many workflows running raw gh CLI commands via bash: tool entries.
10. secret-masking — only 1 workflow
Custom secret redaction patterns via secret-masking.steps are only configured in 1 workflow. Workflows that handle API tokens, keys, or credentials in output files (logs, reports) could benefit from this.
11. skip-if-check-failing — only 2 workflows
Only 2 workflows use skip-if-check-failing to gate execution on CI health. Coding-agent workflows that create PRs (dev.md, tidy.md, dead-code-remover.md) would benefit most—no point generating more PRs if CI is already broken.
12. Inconsistent GitHub MCP toolset specificity
44 workflows use toolsets: [default] even when their actual GitHub operations only need repos or issues. Granting [default] (which includes repos, issues, pull_requests, discussions, actions) is over-permissioned for workflows that only read issues, for example. Better practice: specify the minimal set.
This workflow runs complex compiler analysis. Adding startup-timeout protects against MCP gateway startup failures that currently result in silent hangs until the 45-minute timeout.
repository-quality-improver.md → Use max-continuations: 3
This is a multi-step repository improvement workflow. Enabling max-continuations: 3 would allow the agent to iteratively improve the repo across three autopilot runs, handling more changes per trigger than a single run allows.
daily-doc-healer.md, docs-noob-tester.md, weekly-editors-health-check.md → Use engine.agent: technical-doc-writer
These documentation-focused workflows could leverage the existing technical-doc-writer.agent.md for more consistent, high-quality documentation output without rewriting instructions in every prompt.
copilot-pr-merged-report.md, copilot-pr-nlp-analysis.md, copilot-pr-prompt-analysis.md → Set checkout: false
These three analytics workflows read only GitHub API data (PRs, comments) and never access the repository checkout. checkout: false would save startup time on every run.
Code-generating workflows that create PRs should skip when CI is failing. No benefit (and potential noise) in creating more code changes against a broken baseline.
Security audit workflows that surface credential-like strings in their output should add custom secret-masking.steps to redact patterns before artifacts are uploaded.
These workflows process untrusted user content from issues/comments. Enabling sandbox: agent: awf provides network egress control to prevent SSRF/exfiltration via prompt injection.
daily-issues-report.md, weekly-issue-summary.md → Switch from toolsets: [default] to toolsets: [issues]
These issue-focused workflows only need the issues toolset. Using [default] grants unnecessary access to pull_requests, discussions, and actions APIs.
4️⃣ Current State Details — Copilot CLI Capabilities Inventory
Copilot CLI Engine — Available Features
Runtime CLI Flags (generated by copilot_engine_execution.go):
--add-dir — workspace, /tmp/gh-aw/, and cache-memory directories
--disable-builtin-mcps — always applied to isolate MCP config
--autopilot --max-autopilot-continues N — via max-continuations (1 workflow)
[repos, issues] or [repos, pull_requests] — 6 workflows
[all] — 3 workflows (over-permissioned)
Timeout Distribution
5 min: 15 workflows
10 min: 34 workflows
15 min: 29 workflows
20 min: 32 workflows
30 min: 41 workflows
45 min: 17 workflows
60+ min: 5 workflows
No timeout: 7 workflows (uses 20 min default)
6️⃣ Best Practice Guidelines
Based on this research, here are recommended best practices for Copilot workflows:
Always set startup-timeout for workflows with MCP servers: Add startup-timeout: 120 (seconds) to protect against MCP gateway startup failures that currently silently waste timeout minutes.
Pin version for production-critical workflows: Add engine: { id: copilot, version: "X.Y.Z" } to workflows that run on schedule or handle critical operations. Check releases monthly.
Match engine.agent to workflow purpose: The 9 existing agent files are purpose-built personas. Use technical-doc-writer for docs, contribution-checker for PR review, ci-cleaner for CI maintenance.
Enable AWF firewall for untrusted-input workflows: Any workflow triggered by issues, PR comments, or discussions should use sandbox: agent: awf to contain prompt injection attacks.
Use minimal GitHub toolsets: Replace toolsets: [default] with the specific toolsets your workflow actually needs (e.g., [issues] for issue-only workflows). This reduces attack surface and clarifies intent.
Add skip-if-check-failing to code-generating workflows: Workflows that push code changes or create PRs should skip execution when CI is already failing to avoid compounding a broken state.
Set checkout: false for read-only analysis workflows: Any workflow that only reads GitHub API data (no file access needed) should set checkout: false for faster startup.
7️⃣ Action Items
Immediate (quick wins, high impact):
Add startup-timeout: 120 to the top 10 most-run scheduled workflows
Enable AWF firewall (sandbox: agent: awf) on all issue/PR/discussion-triggered workflows
Set checkout: false on pure-analysis workflows (PR analytics, news digests)
Short-term (this month):
Pin engine version on 5-10 critical production workflows
Wire 3-4 more workflows to their appropriate engine.agent custom file
Add skip-if-check-failing: true to dev.md, tidy.md, dead-code-remover.md, jsweep.md
Replace toolsets: [default] with specific minimal toolsets in issue-only workflows
Long-term (this quarter):
Build a linting rule that warns when sandbox is off for user-triggered workflows
Evaluate max-continuations for complex agentic tasks (repo improver, CI doctor)
Standardize secret masking config for security audit workflows
Create a shared import shared/hardened-defaults.md that encodes AWF firewall + startup-timeout + skip-if-check-failing patterns
Research Methodology
Files Analyzed:
pkg/workflow/copilot_engine.go — engine interface and constructor
pkg/workflow/copilot_engine_execution.go — CLI flag generation and env setup
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.
-
Analysis Date: 2026-03-31
Repository: github/gh-aw
Scope: 178 total workflows, ~112 using Copilot engine (86 explicit + 26 implicit defaults)
Workflow Run: §23819304618
This report analyzes all 178 agentic workflows against the full feature set available in the Copilot CLI engine. The goal: identify gaps between what's possible and what's being done.
🔴 High Priority
1.
startup-timeoutandtool-timeout— 0% adoption (available, never used)The Copilot engine supports
startup-timeoutandtool-timeoutfrontmatter fields that setGH_AW_STARTUP_TIMEOUTandGH_AW_TOOL_TIMEOUTenv vars respectively. Not a single workflow uses them. For workflows that experience CI flakiness due to slow MCP server startup or hung tool calls, these provide precise fault isolation.2. Engine version pinning — 0% adoption (reproducibility risk)
No workflow pins
engine.version. All 86 Copilot workflows silently installlateston every run. A breaking Copilot CLI release would simultaneously break every workflow with no way to roll back individually.3. AWF Firewall (sandbox) — only 12 workflows (7%) (security gap)
The AWF firewall (
sandbox: agent: awf) provides full network egress control and process isolation. Only 12 of 178 workflows enable it. Workflows that take untrusted user input from issues/PRs/discussions are especially exposed.🟡 Medium Priority
4.
max-continuations— only 1 workflow (complex task potential)max-continuationsenables--autopilot --max-autopilot-continueson Copilot CLI, letting the agent chain multiple consecutive runs automatically for long-horizon tasks. Only 1 workflow uses this despite 10+ workflows involving complex multi-step operations likedaily-mcp-concurrency-analysisandrepository-quality-improver.5. Custom agent files — 9 files exist, only 3 workflows use
engine.agentNine
.github/agents/*.agent.mdfiles are defined but onlytechnical-doc-writer(2 workflows) andci-cleaner(1 workflow) are actually referenced viaengine.agent. Seven agents includingagentic-workflows,contribution-checker,grumpy-reviewer,w3c-specification-writerare never set as the active agent context.6.
checkout: false— only 1 workflow (startup latency)Workflows doing pure analysis/research that never access the repo filesystem still incur the full checkout time. At least 20+ read-only workflows (artifact summaries, news digests, PR analysis) could set
checkout: falseto reduce startup time by ~15-30 seconds.7.
engine.env— only 1 workflow (custom config potential)Custom environment variables can be injected into the Copilot CLI process via
engine.env. Only 1 workflow uses this. Several workflows doing complex tool configuration (custom API endpoints, debug modes, library configuration) could leverage this.🟢 Low Priority
8. GitHub MCP
notificationsandsearchtoolsets — 0-1 workflowsThe GitHub MCP server supports
notificationsandsearchtoolsets. Thenotificationstoolset is used in 0 workflows. Thesearchtoolset appears in 1 workflow. For daily digest and triage workflows that need cross-repo search or notification processing, these toolsets are untapped.9.
mcp-scripts— only 5 workflows (3%)mcp-scriptsexposes theghCLI (and other CLI tools) as MCP tools via a special server, enabling type-safe, permission-controlled CLI access. Only 5 workflows use this despite many workflows running rawghCLI commands viabash:tool entries.10.
secret-masking— only 1 workflowCustom secret redaction patterns via
secret-masking.stepsare only configured in 1 workflow. Workflows that handle API tokens, keys, or credentials in output files (logs, reports) could benefit from this.11.
skip-if-check-failing— only 2 workflowsOnly 2 workflows use
skip-if-check-failingto gate execution on CI health. Coding-agent workflows that create PRs (dev.md,tidy.md,dead-code-remover.md) would benefit most—no point generating more PRs if CI is already broken.12. Inconsistent GitHub MCP toolset specificity
44 workflows use
toolsets: [default]even when their actual GitHub operations only needreposorissues. Granting[default](which includes repos, issues, pull_requests, discussions, actions) is over-permissioned for workflows that only read issues, for example. Better practice: specify the minimal set.2️⃣ Feature Usage Matrix
startup-timeouttool-timeoutmax-continuationscheckout: falseengine.agent)engine.envmcp-scriptssecret-maskingsandbox: agent: awf)skip-if-check-failingweb-fetchtoolrate-limitapi-targetskip-if-matchtracker-idrepo-memorycache-memoryfeatures.copilot-requestssafe-outputstimeout-minutesimports3️⃣ Specific Workflow Recommendations
daily-compiler-quality.md→ Addstartup-timeout: 120This workflow runs complex compiler analysis. Adding
startup-timeoutprotects against MCP gateway startup failures that currently result in silent hangs until the 45-minute timeout.repository-quality-improver.md→ Usemax-continuations: 3This is a multi-step repository improvement workflow. Enabling
max-continuations: 3would allow the agent to iteratively improve the repo across three autopilot runs, handling more changes per trigger than a single run allows.daily-doc-healer.md,docs-noob-tester.md,weekly-editors-health-check.md→ Useengine.agent: technical-doc-writerThese documentation-focused workflows could leverage the existing
technical-doc-writer.agent.mdfor more consistent, high-quality documentation output without rewriting instructions in every prompt.copilot-pr-merged-report.md,copilot-pr-nlp-analysis.md,copilot-pr-prompt-analysis.md→ Setcheckout: falseThese three analytics workflows read only GitHub API data (PRs, comments) and never access the repository checkout.
checkout: falsewould save startup time on every run.dev.md,tidy.md,dead-code-remover.md,jsweep.md→ Addskip-if-check-failing: trueCode-generating workflows that create PRs should skip when CI is failing. No benefit (and potential noise) in creating more code changes against a broken baseline.
daily-secrets-analysis.md,daily-malicious-code-scan.md→ Addsecret-maskingSecurity audit workflows that surface credential-like strings in their output should add custom
secret-masking.stepsto redact patterns before artifacts are uploaded.auto-triage-issues.md,ai-moderator.md,bot-detection.md→ Enable AWF firewallThese workflows process untrusted user content from issues/comments. Enabling
sandbox: agent: awfprovides network egress control to prevent SSRF/exfiltration via prompt injection.daily-issues-report.md,weekly-issue-summary.md→ Switch fromtoolsets: [default]totoolsets: [issues]These issue-focused workflows only need the
issuestoolset. Using[default]grants unnecessary access to pull_requests, discussions, and actions APIs.4️⃣ Current State Details — Copilot CLI Capabilities Inventory
Copilot CLI Engine — Available Features
Runtime CLI Flags (generated by
copilot_engine_execution.go):--add-dir— workspace,/tmp/gh-aw/, and cache-memory directories--disable-builtin-mcps— always applied to isolate MCP config--autopilot --max-autopilot-continues N— viamax-continuations(1 workflow)--agent <id>— viaengine.agent(3 workflows)--allow-tool <tool>— computed fromtools:configEngine Config Options (from
engine:frontmatter block):version:— pin CLI version (0 workflows)model:— override model (6 workflows)agent:— set custom agent file (3 workflows)args:— extra CLI arguments (0 workflows in production)env:— custom environment variables (1 workflow)api-target:— custom API endpoint (0 workflows)Timeout Controls:
timeout-minutes:— step-level timeout (171 workflows)startup-timeout:— agent startup timeout (0 workflows) ← unusedtool-timeout:— per-tool call timeout (0 workflows) ← unusedSandbox Features:
sandbox.agent: awf— AWF firewall container (12 workflows)sandbox.mounts:— custom read-only mounts (1 workflow seen)allowed:allowlist (79 workflows havenetwork:key)Tool Integrations:
tools.github— GitHub MCP server with 9 toolsets availabletools.bash— shell commands (wildcard*or specific commands)tools.edit— file write accesstools.web-fetch— built-in HTTP fetching (16 workflows)tools.cache-memory— cross-run artifact persistence (66 workflows)tools.repo-memory— git-branch-backed persistent memory (27 workflows)tools.mcp-scripts— bash CLI as MCP tool (5 workflows)tools.playwright— browser automation (12 workflows)tools.<name>.urlpatternFeature Flags (
features:block):copilot-requests: true— use GITHUB_TOKEN for Copilot auth (82 workflows)disable-xpia-prompt: true— disable injection protection (rare)action-tag: "v0"— pin compiled action references (rare)5️⃣ Usage Statistics Detail
Engine Distribution (178 total)
Tool Configuration Patterns
Most common
github.toolsetsvalues:[default]— 44 workflows[default, discussions]— 10 workflows[default, actions]— 4 workflows[repos, issues]or[repos, pull_requests]— 6 workflows[all]— 3 workflows (over-permissioned)Timeout Distribution
6️⃣ Best Practice Guidelines
Based on this research, here are recommended best practices for Copilot workflows:
Always set
startup-timeoutfor workflows with MCP servers: Addstartup-timeout: 120(seconds) to protect against MCP gateway startup failures that currently silently waste timeout minutes.Pin version for production-critical workflows: Add
engine: { id: copilot, version: "X.Y.Z" }to workflows that run on schedule or handle critical operations. Check releases monthly.Match
engine.agentto workflow purpose: The 9 existing agent files are purpose-built personas. Usetechnical-doc-writerfor docs,contribution-checkerfor PR review,ci-cleanerfor CI maintenance.Enable AWF firewall for untrusted-input workflows: Any workflow triggered by issues, PR comments, or discussions should use
sandbox: agent: awfto contain prompt injection attacks.Use minimal GitHub toolsets: Replace
toolsets: [default]with the specific toolsets your workflow actually needs (e.g.,[issues]for issue-only workflows). This reduces attack surface and clarifies intent.Add
skip-if-check-failingto code-generating workflows: Workflows that push code changes or create PRs should skip execution when CI is already failing to avoid compounding a broken state.Set
checkout: falsefor read-only analysis workflows: Any workflow that only reads GitHub API data (no file access needed) should setcheckout: falsefor faster startup.7️⃣ Action Items
Immediate (quick wins, high impact):
startup-timeout: 120to the top 10 most-run scheduled workflowssandbox: agent: awf) on all issue/PR/discussion-triggered workflowscheckout: falseon pure-analysis workflows (PR analytics, news digests)Short-term (this month):
engine.agentcustom fileskip-if-check-failing: truetodev.md,tidy.md,dead-code-remover.md,jsweep.mdtoolsets: [default]with specific minimal toolsets in issue-only workflowsLong-term (this quarter):
max-continuationsfor complex agentic tasks (repo improver, CI doctor)shared/hardened-defaults.mdthat encodes AWF firewall + startup-timeout + skip-if-check-failing patternsResearch Methodology
Files Analyzed:
pkg/workflow/copilot_engine.go— engine interface and constructorpkg/workflow/copilot_engine_execution.go— CLI flag generation and env setuppkg/workflow/copilot_engine_tools.go— tool permission argument computationpkg/workflow/copilot_mcp.go— MCP server configuration renderingdocs/src/content/docs/reference/engines.md— engine documentation.github/aw/github-agentic-workflows.md— complete frontmatter schema reference.github/workflows/*.mdworkflow filesApproach:
greppatterns across all workflow markdown files to count adoptionTool: Copilot CLI Deep Research (automated analysis via gh-aw agentic workflow)
References:
Beta Was this translation helpful? Give feedback.
All reactions