Skip to content
Back to skills

Source 936c2c52008e4b55b57f586a

ASecurity

Look up a service, team, or catalog entity in Rootly. Returns owner, on-call, recent reliability, dependencies, and any active incidents. Use when something breaks and the first question is who owns this.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgoapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-936c2c52008e4b55b57f586a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source 936c2c52008e4b55b57f586a?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source 936c2c52008e4b55b57f586a
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-936c2c52008e4b55b57f586a/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-936c2c52008e4b55b57f586a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lookup
description: Look up a service, team, or catalog entity in Rootly. Returns owner, on-call, recent reliability, dependencies, and any active incidents. Use when something breaks and the first question is who owns this.
argument-hint: [service-or-team-name]
disable-model-invocation: true
allowed-tools:
  - mcp__rootly__*
---

# 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:
1. Try `mcp__rootly__listServices` with 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).
2. If no service match, try `mcp__rootly__listTeams` similarly.
3. 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**:

1. Call `mcp__rootly__getService` for the full record. Capture: name, description, owning team, environment, slug, URL.
2. Call `mcp__rootly__getServiceUptimeChart` for the last 30 days (if the MCP supports a period parameter; otherwise default).
3. Call `mcp__rootly__listIncidents` with `filter_service_ids=<id>` and `filter_status=started` to surface active incidents on this service.
4. If the service references an owning team, call `mcp__rootly__getTeam` for the team's name and `mcp__rootly__get_oncall_schedule_summary` (or `mcp__rootly__get_oncall_handoff_summary`) for current on-call.
5. Optional: `mcp__rootly__listIncidents` filter 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**:

1. Call `mcp__rootly__getTeam` for the record. Capture name, description, slug, members count if available.
2. Call `mcp__rootly__listServices` filtered by team to enumerate owned services.
3. Call `mcp__rootly__get_oncall_schedule_summary` for current on-call across the team.
4. Call `mcp__rootly__listIncidents` filtered by team and `status=started` for active incidents.

### 4. Gather details — catalog entity path

If the resolved entity is a **catalog entity**:

1. Call `mcp__rootly__getCatalogEntity` for the full record.
2. Note the catalog it belongs to (`mcp__rootly__getCatalog` if you need the catalog's name).
3. Surface any service/team references in the entity's properties.

### 5. Render

**Service rendering:**

```
## Service: [name]
*[slug] — [environment]*

### Ownership
- **Team**: [team name]
- **On-call right now**: [user name] (until [shift end])
- **Backup**: [backup name if available]

### Recent Reliability (30 days)
- Uptime: [percentage]
- Incidents: [count] ([critical: N, high: N, medium: N])
- MTTR: [duration]

### Active Incidents
[If any:]
- 🔴 [INC-XXXX] [title] — started [duration] ago
[If none:]
No active incidents.

### Description
[service description]
```

**Team rendering:**

```
## Team: [name]
*[slug] — [N members]*

### Owned Services ([N])
- [service-name] ([environment])
- [service-name] ([environment])
[max 10, then "+N more"]

### Currently On-Call
- [Schedule]: [user name] (until [time])

### Active Incidents ([N])
- 🔴 [INC-XXXX] [title]
[If none: "No active incidents."]
```

**Catalog entity rendering:**

```
## [Catalog] Entity: [name]
*[slug]*

### Properties
- [key]: [value]
- [key]: [value]

### Linked References
[Any service/team links found]
```

### 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 `getCurrentUser` is needed for context (and most cases don't require it), skip it.

Files in this skill

  • PROVENANCE.json220 B
  • SKILL.md4.3 KB
  • UPSTREAM-LICENSE.txt10.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.