Skip to content

[Issue]: Legacy Chatmodes to Agent Mode #159

@chrislomonico

Description

@chrislomonico

Issue Description

Migrate Legacy Chatmodes to Agent Mode

Description

GitHub Copilot is transitioning from the legacy Chatmodes format (*.chatmode.md) to the unified Agent model (*.agent.md).
To align this repository with the current Copilot extensibility model, we should migrate all existing chatmodes, update tool definitions, and refresh documentation accordingly.

This work includes:

  • Verify all *.chatmode.md files are migrated to .agent.md in .github/agents/
  • Ensure agent frontmatter schema (agent-frontmatter.schema.json) is properly configured with modern agent properties (name, description, argument-hint, tools, model, target, mcp-servers, handoffs)
  • Mark chatmode schema as DEPRECATED with clear migration guidance to agent schema
  • Update schema mapping to remove chatmode pattern and properly map *.agent.md files to agent schema
  • Update scripts to discover and validate agents instead of chatmodes:
    • Prepare-Extension.ps1 - Remove chatmode discovery logic, consolidate to agents only
    • Validate-MarkdownFrontmatter.ps1 - Update pattern matching from *.chatmode.md to *.agent.md
  • Update extension packaging:
    • .vscodeignore - Change from .github/chatmodes/** to .github/agents/**
    • PACKAGING.md - Remove chatmodes references, update to agents only
  • Update all documentation to reference "agents" instead of "chatmodes":
    • Contributing documentation (chatmodes.md, ai-artifacts-common.md, prompts.md, instructions.md, README.md)
    • Getting started documentation (README.md, first-workflow.md)
    • All installation method guides (peer-clone, submodule, mounted, git-ignored, codespaces, extension, multi-root)
    • Pull request template
  • Update configuration files:
    • Workspace .vscode/settings.json - Change paths from chatmodes to agents
    • Spell checker dictionary - Remove "chatmode" and "chatmodes" terms
    • hve-core-installer agent - Update all embedded configuration examples
  • Remove or update all code and config references that rely on legacy chatmodes

Justification

GitHub and VS Code have consolidated extensibility under the Copilot Agent model. Agents are the officially supported mechanism for defining behavior, tools, and workflows, while chatmodes are deprecated. GitHub’s documentation specifies:

  • VS Code auto-discovers agent definitions in .github/agents/
  • Tools must use the fully qualified naming schema defined for agents
  • GitHub has already migrated its own repositories to .agent.md, replacing chatmodes entirely

Migrating now ensures compatibility with the current Copilot platform, avoids reliance on deprecated features, and positions the project to adopt ongoing improvements in the agent ecosystem.

Acceptance Criteria

  • All chatmode files replaced with .agent.md equivalents in .github/agents/
  • Agent frontmatter schema (agent-frontmatter.schema.json) properly configured
  • Chatmode schema marked as DEPRECATED with migration guidance
  • Schema mapping updated to map *.agent.md files to agent schema
  • Scripts updated: Prepare-Extension.ps1 discovers agents (not chatmodes)
  • Scripts updated: Validate-MarkdownFrontmatter.ps1 validates *.agent.md patterns
  • Extension packaging updated: .vscodeignore and PACKAGING.md reference .github/agents/
  • All documentation paths updated from .github/chatmodes/ to .github/agents/
  • All installation method docs updated (peer-clone, submodule, mounted, codespaces, etc.)
  • Contributing documentation updated to use "agent" terminology throughout
  • PR template updated to reference agents instead of chatmodes
  • Workspace settings updated to reference .github/agents/
  • Spell checker dictionary cleaned (chatmode/chatmodes terms removed)
  • hve-core-installer agent updated with correct paths in example configurations
  • Agent definitions validate correctly in VS Code
  • CI passes successfully after migration

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions