diff --git a/.github/agents/agentic-workflows.agent.md b/.github/agents/agentic-workflows.agent.md index 4cdbc30aa60..82949819842 100644 --- a/.github/agents/agentic-workflows.agent.md +++ b/.github/agents/agentic-workflows.agent.md @@ -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 diff --git a/.github/agents/ci-cleaner.agent.md b/.github/agents/ci-cleaner.agent.md index 74b071bf68a..b38b2322a64 100644 --- a/.github/agents/ci-cleaner.agent.md +++ b/.github/agents/ci-cleaner.agent.md @@ -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 diff --git a/.github/agents/create-safe-output-type.agent.md b/.github/agents/create-safe-output-type.agent.md index dd68f287d7a..64d2b54e4a8 100644 --- a/.github/agents/create-safe-output-type.agent.md +++ b/.github/agents/create-safe-output-type.agent.md @@ -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 diff --git a/.github/agents/custom-engine-implementation.agent.md b/.github/agents/custom-engine-implementation.agent.md index 658ee2c0838..58058a919e0 100644 --- a/.github/agents/custom-engine-implementation.agent.md +++ b/.github/agents/custom-engine-implementation.agent.md @@ -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 diff --git a/.github/agents/grumpy-reviewer.agent.md b/.github/agents/grumpy-reviewer.agent.md index c8ac8b6ad75..0647de63554 100644 --- a/.github/agents/grumpy-reviewer.agent.md +++ b/.github/agents/grumpy-reviewer.agent.md @@ -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 🔥 diff --git a/.github/agents/interactive-agent-designer.agent.md b/.github/agents/interactive-agent-designer.agent.md index 3ea25957b6d..9a4cd2782f6 100644 --- a/.github/agents/interactive-agent-designer.agent.md +++ b/.github/agents/interactive-agent-designer.agent.md @@ -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 diff --git a/.github/agents/technical-doc-writer.agent.md b/.github/agents/technical-doc-writer.agent.md index 1269435924f..573ee381b4b 100644 --- a/.github/agents/technical-doc-writer.agent.md +++ b/.github/agents/technical-doc-writer.agent.md @@ -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 diff --git a/.github/agents/w3c-specification-writer.agent.md b/.github/agents/w3c-specification-writer.agent.md index d4a84a14849..e8101180e20 100644 --- a/.github/agents/w3c-specification-writer.agent.md +++ b/.github/agents/w3c-specification-writer.agent.md @@ -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 diff --git a/.github/aw/create-agentic-workflow.md b/.github/aw/create-agentic-workflow.md index e1545940b0d..d663bdc3014 100644 --- a/.github/aw/create-agentic-workflow.md +++ b/.github/aw/create-agentic-workflow.md @@ -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. diff --git a/.github/aw/create-shared-agentic-workflow.md b/.github/aw/create-shared-agentic-workflow.md index 95eb8883bb3..99722fbd8b2 100644 --- a/.github/aw/create-shared-agentic-workflow.md +++ b/.github/aw/create-shared-agentic-workflow.md @@ -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 diff --git a/.github/aw/debug-agentic-workflow.md b/.github/aw/debug-agentic-workflow.md index 5d9200d4dd9..8dbe27ca05c 100644 --- a/.github/aw/debug-agentic-workflow.md +++ b/.github/aw/debug-agentic-workflow.md @@ -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)**. diff --git a/.github/aw/update-agentic-workflow.md b/.github/aw/update-agentic-workflow.md index d46ab7cb9a2..f4269a022be 100644 --- a/.github/aw/update-agentic-workflow.md +++ b/.github/aw/update-agentic-workflow.md @@ -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. diff --git a/.github/aw/upgrade-agentic-workflows.md b/.github/aw/upgrade-agentic-workflows.md index d07264b9709..b8df062adaa 100644 --- a/.github/aw/upgrade-agentic-workflows.md +++ b/.github/aw/upgrade-agentic-workflows.md @@ -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. diff --git a/.github/workflows/glossary-maintainer.lock.yml b/.github/workflows/glossary-maintainer.lock.yml index 915e4253f46..8a7131fcbbc 100644 --- a/.github/workflows/glossary-maintainer.lock.yml +++ b/.github/workflows/glossary-maintainer.lock.yml @@ -29,7 +29,7 @@ # - ../skills/documentation/SKILL.md # - shared/mood.md # -# frontmatter-hash: ffaf5fe2097cf064c34bf0a5efdb15aa61ce166274cffffaac6dfa655034750c +# frontmatter-hash: 6be00c3b09c8b878bc763fb4b2d95a59f1458420d6c2d07c3c0b87b7186032f2 name: "Glossary Maintainer" "on": diff --git a/.github/workflows/hourly-ci-cleaner.lock.yml b/.github/workflows/hourly-ci-cleaner.lock.yml index bb6d6952c6f..5caa36b56f9 100644 --- a/.github/workflows/hourly-ci-cleaner.lock.yml +++ b/.github/workflows/hourly-ci-cleaner.lock.yml @@ -28,7 +28,7 @@ # - ../agents/ci-cleaner.agent.md # - shared/mood.md # -# frontmatter-hash: f60801622060d7cacab089e0ca676982313e9776e33dcd85aa1b544c52196b73 +# frontmatter-hash: a357047a49d2c10cfbbaab657ff9b46b83d17cbe04a033659d38cc572be8b382 name: "CI Cleaner" "on": diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index c74f6df4d98..1a394adf187 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -29,7 +29,7 @@ # - ../skills/documentation/SKILL.md # - shared/mood.md # -# frontmatter-hash: eb15f692ca7f8cb8dc12726dc7754ae9e7ad1b4fb42bd0f320f636308a1fb9ef +# frontmatter-hash: b05af1a6909bac94686311648f15c297edc97293271f28e107ab0b16b3846ed3 name: "Rebuild the documentation after making changes" "on": diff --git a/pkg/parser/frontmatter_includes_test.go b/pkg/parser/frontmatter_includes_test.go index 12a40dbd53a..e6503fc90f5 100644 --- a/pkg/parser/frontmatter_includes_test.go +++ b/pkg/parser/frontmatter_includes_test.go @@ -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) diff --git a/pkg/parser/include_processor.go b/pkg/parser/include_processor.go index 4dfbb7f9180..377ac295cbe 100644 --- a/pkg/parser/include_processor.go +++ b/pkg/parser/include_processor.go @@ -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 diff --git a/pkg/parser/schemas/main_workflow_schema.json b/pkg/parser/schemas/main_workflow_schema.json index 1cf4404042c..455d13da753 100644 --- a/pkg/parser/schemas/main_workflow_schema.json +++ b/pkg/parser/schemas/main_workflow_schema.json @@ -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..secrets field instead.", "type": "object",