Skip to content

[aw-compat] Codemod proposal: auto-migrate tools.{name} to mcp-servers when name is not built-in #27311

@github-actions

Description

@github-actions

Problem

Two high-star repositories fail compilation with the same error in their duplicate-code-detector.md workflow:

tools.serena: unknown tool name. The 'tools' section only accepts built-in tool names.

Affected repos (2 of 20 in today's audit):

Both use the same workflow sourced from github/gh-aw/.github/workflows/duplicate-code-detector.md.

Root Cause

The workflow frontmatter contains:

tools:
  serena: ['typescript']

serena is not a built-in gh-aw tool. It must be defined under mcp-servers: instead. This pattern likely existed in an older version of the template before the tools/mcp-servers distinction was clarified.

Proposed Codemod: tools-shorthand-to-mcp-servers

gh aw fix should detect tools: entries with non-built-in keys and migrate them:

Before:

tools:
  serena: ['typescript']

After:

mcp-servers:
  serena:
    command: serena
    args: ['--context', 'typescript']

Acceptance Criteria

  • gh aw fix detects tools: entries with unknown (non-built-in) tool names
  • Migrates them to mcp-servers: with a best-effort command scaffold
  • Warns the user to verify the command and args values after migration
  • Applied codemod reduces persistent failures in storybookjs/storybook and microsoft/FluidFramework from ❌ to ✅

Built-in Tool Names (for reference)

agentic-workflows, bash, cache-memory, edit, github, mount-as-clis, playwright, repo-memory, safety-prompt, startup-timeout, timeout, web-fetch, web-search

References:

Generated by Daily AW Cross-Repo Compile Check · ● 642.8K ·

  • expires on Apr 27, 2026, 11:16 AM UTC

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions