Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/agents/agentic-workflows.agent.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
infer: false
disable-model-invocation: true
---

# GitHub Agentic Workflows Agent
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/ci-cleaner.agent.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Tidies up the repository CI state by formatting sources, running linters, fixing issues, running tests, and recompiling workflows
infer: false
disable-model-invocation: true
---

# CI Cleaner Agent
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/create-safe-output-type.agent.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Adding a New Safe Output Type to GitHub Agentic Workflows
infer: false
disable-model-invocation: true
---

# Add New Safe Output Type
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/custom-engine-implementation.agent.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Comprehensive guide for implementing custom agentic engines in gh-aw
applyTo: "pkg/workflow/*engine*.go"
infer: false
disable-model-invocation: true
---

# Custom Agentic Engine Implementation Guide
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/grumpy-reviewer.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Critical code reviewer with 40+ years of experience who performs th
tools:
- read
- search
infer: false
disable-model-invocation: true
---

# Grumpy Code Reviewer 🔥
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/interactive-agent-designer.agent.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Interactive wizard that guides users through creating and optimizing high-quality prompts, agent instructions, and workflow descriptions for GitHub Agentic Workflows
infer: false
disable-model-invocation: true
---

# Interactive Agent Designer — GitHub Agentic Workflows
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/technical-doc-writer.agent.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: technical-doc-writer
description: AI technical documentation writer for GitHub Actions library using GitHub Docs voice
infer: false
disable-model-invocation: true
---

# Technical Documentation Writer for GitHub Actions
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/w3c-specification-writer.agent.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: w3c-specification-writer
description: AI technical specification writer following W3C conventions and best practices for formal specifications
infer: false
disable-model-invocation: true
---

# W3C Specification Writer
Expand Down
2 changes: 1 addition & 1 deletion .github/aw/create-agentic-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Create new agentic workflows using GitHub Agentic Workflows (gh-aw) extension with interactive guidance on triggers, tools, and security best practices.
infer: false
disable-model-invocation: true
---

This file will configure the agent into a mode to create new agentic workflows. Read the ENTIRE content of this file carefully before proceeding. Follow the instructions precisely.
Expand Down
2 changes: 1 addition & 1 deletion .github/aw/create-shared-agentic-workflow.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: create-shared-agentic-workflow
description: Create shared agentic workflow components that wrap MCP servers using GitHub Agentic Workflows (gh-aw) with Docker best practices.
infer: false
disable-model-invocation: true
---

# Shared Agentic Workflow Designer
Expand Down
2 changes: 1 addition & 1 deletion .github/aw/debug-agentic-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Debug and refine agentic workflows using gh-aw CLI tools - analyze logs, audit runs, and improve workflow performance
infer: false
disable-model-invocation: true
---

You are an assistant specialized in **debugging and refining GitHub Agentic Workflows (gh-aw)**.
Expand Down
2 changes: 1 addition & 1 deletion .github/aw/update-agentic-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Update existing agentic workflows using GitHub Agentic Workflows (gh-aw) extension with intelligent guidance on modifications, improvements, and refactoring.
infer: false
disable-model-invocation: true
---

This file will configure the agent into a mode to update existing agentic workflows. Read the ENTIRE content of this file carefully before proceeding. Follow the instructions precisely.
Expand Down
2 changes: 1 addition & 1 deletion .github/aw/upgrade-agentic-workflows.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Upgrade agentic workflows to the latest version of gh-aw with automated compilation and error fixing
infer: false
disable-model-invocation: true
---

You are specialized in **upgrading GitHub Agentic Workflows (gh-aw)** to the latest version.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/glossary-maintainer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/hourly-ci-cleaner.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/workflows/technical-doc-writer.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions pkg/parser/frontmatter_includes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -657,26 +657,26 @@ This file only has name and description in frontmatter.`
}
}

// TestProcessIncludedFileWithInferField verifies that the "infer" field
// TestProcessIncludedFileWithDisableModelInvocationField verifies that the "disable-model-invocation" field
// (used in custom agent format) is accepted without warnings
func TestProcessIncludedFileWithInferField(t *testing.T) {
func TestProcessIncludedFileWithDisableModelInvocationField(t *testing.T) {
tempDir := t.TempDir()
agentsDir := filepath.Join(tempDir, ".github", "agents")
if err := os.MkdirAll(agentsDir, 0755); err != nil {
t.Fatalf("Failed to create agents directory: %v", err)
}

// Create a test file with the "infer" field (custom agent format)
// Create a test file with the "disable-model-invocation" field (custom agent format)
testFile := filepath.Join(agentsDir, "test-agent.agent.md")
testContent := `---
name: Test Agent
description: A test custom agent
infer: false
disable-model-invocation: true
---

# Test Agent

This is a custom agent file with the infer field.`
This is a custom agent file with the disable-model-invocation field.`

if err := os.WriteFile(testFile, []byte(testContent), 0644); err != nil {
t.Fatalf("Failed to write test file: %v", err)
Expand Down
37 changes: 19 additions & 18 deletions pkg/parser/include_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,24 +154,25 @@ func processIncludedFileWithVisited(filePath, sectionName string, extractTools b
// Valid fields for non-workflow frontmatter (fields that are allowed in shared workflows)
// This list matches the allowed fields in shared workflows (main_workflow_schema minus forbidden fields)
validFields := map[string]bool{
"tools": true,
"engine": true,
"network": true,
"mcp-servers": true,
"imports": true,
"name": true,
"description": true,
"steps": true,
"safe-outputs": true,
"safe-inputs": true,
"services": true,
"runtimes": true,
"permissions": true,
"secret-masking": true,
"applyTo": true,
"inputs": true,
"infer": true, // Custom agent format field (Copilot)
"features": true,
"tools": true,
"engine": true,
"network": true,
"mcp-servers": true,
"imports": true,
"name": true,
"description": true,
"steps": true,
"safe-outputs": true,
"safe-inputs": true,
"services": true,
"runtimes": true,
"permissions": true,
"secret-masking": true,
"applyTo": true,
"inputs": true,
"infer": true, // Custom agent format field (Copilot) - deprecated, use disable-model-invocation
"disable-model-invocation": true, // Custom agent format field (Copilot)
"features": true,
}

// Check for unexpected frontmatter fields
Expand Down
10 changes: 10 additions & 0 deletions pkg/parser/schemas/main_workflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1909,6 +1909,16 @@
}
]
},
"infer": {
"type": "boolean",
"description": "DEPRECATED: Use 'disable-model-invocation' instead. Controls whether the custom agent should infer additional context from the conversation. This field is maintained for backward compatibility with existing custom agent files.",
"examples": [false]
},
"disable-model-invocation": {
"type": "boolean",
"description": "Controls whether the custom agent should disable model invocation. When set to true, the agent will not make additional model calls. This is the preferred field name for custom agent files (replaces the deprecated 'infer' field).",
"examples": [true]
},
"secrets": {
"description": "Secret values passed to workflow execution. Secrets can be defined as simple strings (GitHub Actions expressions) or objects with 'value' and 'description' properties. Typically used to provide secrets to MCP servers or custom engines. Note: For passing secrets to reusable workflows, use the jobs.<job_id>.secrets field instead.",
"type": "object",
Expand Down
Loading