Service / Team Lookup
You are answering "what is this thing and who owns it?" for a service, team, or catalog entity. The user may pass a partial or full name; do your best to resolve it.
Workflow
1. Resolve the target
$ARGUMENTS is the search term. It might be:
- A service name (e.g.
payments-api) - A team name (e.g.
Platform) - A repository name
- A catalog entity slug
Strategy:
- Try
mcp__rootly__listServiceswith the term as a filter where supported. If the MCP tool offers a name/query filter, use it; otherwise fetch the first 50 and match client-side (case-insensitive substring). - If no service match, try
mcp__rootly__listTeamssimilarly. - If still no match, try
mcp__rootly__listCatalogEntities(across all catalogs).
Determine the kind of the resolved entity (service, team, or catalog-entity) — branch the rendering on that.
If multiple matches, list the top 5 and ask the user to disambiguate. Do not guess.
If no matches, say so and suggest the user check spelling or try a broader term.
2. Gather details — service path
If the resolved entity is a service:
- Call
mcp__rootly__getServicefor the full record. Capture: name, description, owning team, environment, slug, URL. - Call
mcp__rootly__getServiceUptimeChartfor the last 30 days (if the MCP supports a period parameter; otherwise default). - Call
mcp__rootly__listIncidentswithfilter_service_ids=<id>andfilter_status=startedto surface active incidents on this service. - If the service references an owning team, call
mcp__rootly__getTeamfor the team's name andmcp__rootly__get_oncall_schedule_summary(ormcp__rootly__get_oncall_handoff_summary) for current on-call. - Optional:
mcp__rootly__listIncidentsfilter by service in the last 90 days, page 1 only, to spot frequency.
3. Gather details — team path
If the resolved entity is a team:
- Call
mcp__rootly__getTeamfor the record. Capture name, description, slug, members count if available. - Call
mcp__rootly__listServicesfiltered by team to enumerate owned services. - Call
mcp__rootly__get_oncall_schedule_summaryfor current on-call across the team. - Call
mcp__rootly__listIncidentsfiltered by team andstatus=startedfor active incidents.
4. Gather details — catalog entity path
If the resolved entity is a catalog entity:
- Call
mcp__rootly__getCatalogEntityfor the full record. - Note the catalog it belongs to (
mcp__rootly__getCatalogif you need the catalog's name). - Surface any service/team references in the entity's properties.
5. Render
Service rendering:
Team rendering:
Catalog entity rendering:
6. Read-only
This skill never mutates Rootly state.
7. Error handling
- If a downstream call fails (e.g. uptime chart API errors), render the rest of the data and add a one-line note: "[Section]: not available — [error]".
- Don't fail the whole response because one optional chart didn't load.
- If
getCurrentUseris needed for context (and most cases don't require it), skip it.


