diff --git a/.github/agents/agentic-workflows.agent.md b/.github/agents/agentic-workflows.agent.md index 4cdbc30aa6..8294981984 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 74b071bf68..b38b2322a6 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 dd68f287d7..64d2b54e4a 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 658ee2c083..58058a919e 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 c8ac8b6ad7..0647de6355 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 3ea25957b6..9a4cd2782f 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 1269435924..573ee381b4 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 d4a84a1484..e8101180e2 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 e1545940b0..d663bdc301 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 95eb8883bb..99722fbd8b 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 5d9200d4dd..8dbe27ca05 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 d46ab7cb9a..f4269a022b 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 d07264b970..b8df062ada 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 915e4253f4..8a7131fcbb 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 bb6d6952c6..5caa36b56f 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 c74f6df4d9..1a394adf18 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 12a40dbd53..e6503fc90f 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 4dfbb7f918..377ac295cb 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 1cf4404042..455d13da75 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",