Skip to content

[Feature] Route the managed Codex skill across optional MCP toolsets #194

Description

@morluto

Motivation

The managed Codex skill currently tells the client to discover GitContribute tools and fall back when no advertised tool fits. That works when the required tool is in the selected MCP catalog, but GitContribute intentionally separates specialized capabilities into optional toolsets.

With the default contribute registration, implementation inspection, base/candidate validation, external architecture research, authored-PR follow-up, and search diagnostics are not advertised. A client can therefore mistake “available in a disabled toolset” for “not supported” and silently switch to a less suitable workflow.

This is a follow-up to #24. It is distinct from the general MCP routing work in #19 and #22: the missing decision happens after GitContribute has already been selected, at the boundary between its optional toolsets.

The current generated skill is defined in internal/setup/setup.go, while the toolset ownership map lives in internal/mcpserver/catalog.go.

Proposed Solution

Add a compact intent-to-toolset map to the generated skill:

Issue/PR discovery and evidence     → contribute
Implementation/code inspection      → code
Base/candidate tests and profiling  → code
External architecture research      → research
Authored PR follow-up                → portfolio
Search-ranking diagnosis             → diagnostics

When the required toolset is not advertised, the skill should distinguish that state from an unsupported capability. It should name the missing toolset and the exact configuration or restart action needed to enable it. A fallback can remain available, but it should not make the GitContribute capability look absent.

Acceptance criteria:

  • The generated skill contains the compact routing map without reproducing operational tool schemas.
  • It distinguishes a disabled toolset from a capability GitContribute does not provide.
  • It keeps the current default catalog small and does not grant additional authority.
  • Setup tests cover the generated routing text and its enablement guidance.

Alternatives Considered

  • Expose every toolset by default. This removes the routing ambiguity but gives up the smaller-catalog design and increases tool overlap and context cost.
  • Repeat every operational schema in the skill. This would become stale and duplicate the MCP catalog. The skill only needs ownership and escalation guidance.
  • Rely on the README or server initialization instructions. Those help once their content is visible, but they do not reliably explain why a relevant optional tool is absent from discovery.

Impact

This should primarily affect the managed skill text, setup tests, and setup documentation. It should not change corpus state, GitHub state, network behavior, or the side effects of any existing tool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions