owner-routing
Exercise the triage server's five owner-lookup contracts and produce an explicit uncertainty result when the current prototype returns no team. Use when testing routing precedence or documenting missing ownership data. Trigger with "route this bug cluster".
Allowed Tools
Provided by Plugin
x-bug-triage-plugin
Public X complaint intake and local triage prototype with explicitly labeled downstream contract stubs
Installation
This skill is included in the x-bug-triage-plugin plugin:
/plugin install x-bug-triage-plugin@claude-code-plugins-plus
Click to copy
Instructions
Owner Routing
Run the public routing contract honestly. The current MCP lookup tools return their precedence level and base confidence but no team or assignee, so a normal result is explicit uncertainty.
Overview
The runtime registers five read-only routing tools for levels 1-5. Level 6 is a conceptual fallback, not an MCP tool, and this repository has no populated fallback map. Read the runtime contract before interpreting a response.
Prerequisites
- Start the triage MCP server from this repository.
- Provide an owner/repo; optionally provide a surface and affected paths.
- Treat the supplied repo name as data only. These tools do not authenticate to or inspect GitHub.
Instructions
- Call lookup_service_owner with the repo and optional surface.
- If the result contains a non-empty team or assignee, retain it as level 1. Otherwise continue.
- Call lookup_oncall, parse_codeowners, lookup_recent_assignees, and lookup_recent_committers in order.
- Reject results with neither team nor assignee; base confidence alone is not ownership evidence.
- If a caller supplies a previously reviewed routing override, present it separately as human input. The MCP tools do not load overrides from SQLite.
- If every level is empty, return uncertainty and explain that live integrations are absent.
- Never invent level 6. A fallback recommendation requires an explicit operator-supplied mapping.
Output
Return one routing report:
- repo, surface, and paths evaluated;
- all five tool results in precedence order;
- accepted recommendation or null;
- uncertainty and a plain-language reason;
- any operator-supplied override, clearly labeled as external input.
Examples
Repo: example/product
Levels checked: 1, 2, 3, 4, 5
Recommendation: null
Uncertainty: true
Reason: current lookup tools are offline stubs and returned no team or assignee.
Operator override: platform-team
Disposition: use as human-supplied routing input; not independently verified by this runtime.
Error Handling
| Situation | Response |
|---|---|
| MCP server is unavailable | Stop and report setup failure. |
| A tool throws | Record that level as failed and continue; do not relabel failure as no match. |
| Result has confidence but no owner | Reject it as an empty routing signal. |
| No fallback mapping was supplied | Return uncertainty rather than guessing. |
| Repo string is malformed | Stop and request owner/repo. |
Guardrails
- Never claim these tools read CODEOWNERS, commits, issues, on-call data, or a service catalog today.
- Never let numeric base confidence substitute for an actual team or assignee.
- Never persist or announce an assignment without human review outside this skill.