Skip to main content

dd-idp

Explore Datadog software, ownership, health, and work across services, teams, systems, repositories, pull requests, Jira, incidents, SLOs, monitors, on-call, APIs, scorecards, vulnerabilities, and security findings using Pup's read-only IDP entity graph.

Aller à l'installation

Informations de source

Dépôt
DataDog/pup
Dernière activité de la source
15 septembre 2026 à 21:42
Langue détectée de SKILL.md
anglais
Étoiles
1 013
Forks
120

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
4 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
dd-idp
description
Explore Datadog software, ownership, health, and work across services, teams, systems, repositories, pull requests, Jira, incidents, SLOs, monitors, on-call, APIs, scorecards, vulnerabilities, and security findings using Pup's read-only IDP entity graph.
metadata
{"version":"1.0.0","author":"datadog-labs","repository":"https://github.com/DataDog/pup","tags":"datadog,idp,entity-graph,service-catalog,ownership"}
# Datadog IDP Entity Graph Use Pup's read-only Unified Entity Graph (UEG) to discover software, ownership, work, and operational context. Its main payoff is connected context in one bounded request: a service plus its owners, systems, code, dependencies, and health signals through declared relationships. ## Choose the right surface - Default to `pup idp kinds` and `pup idp entities query` when the answer needs connected context across services, teams, systems, repositories, dependencies, work, operations, or security kinds. - Use `pup idp assist` when the user values a fast, curated single-service summary, metadata gaps, and suggested next actions over graph fidelity; use `owner` for convenient owner/on-call resolution. - Treat `find` as a simple legacy service-name lookup. Use `deps` as a convenient one-hour UEG runtime service-to-service dependency summary, and `entities query` for another lookback or broader relation families, counts, pagination, and traversal. - Use product commands such as `pup incidents`, `pup slos`, `pup monitors`, `pup logs`, `pup traces`, or `pup security` when the user needs deeper or current telemetry. - Use `pup service-catalog` for the legacy typed service registry and `pup software-catalog` for Catalog entity/kind reads and writes. Do not use graph queries for mutations. ## Highest-value workflows - Build a service 360 in one request: owner/on-call, system and code placement, selected dependencies, and aggregate health. - Estimate blast radius by following declared or runtime service, datastore, queue, external-provider, and inferred-service relations relevant to the question. - Triage a team's portfolio from service health aggregates, then pivot to product APIs for detail. - Add deployment or infrastructure relations to ownership and dependencies for change context. - Inspect repository-linked APIs, code quality, secrets, and vulnerabilities without inventing service attribution. - Discover integration and custom kinds schema-first for tenant-specific work rather than relying on a fixed kind catalog. ## Schema-first workflow 1. Discover candidate kinds when the request is broad or the entity vocabulary is unfamiliar: ```bash pup --read-only idp kinds list pup --read-only idp kinds list --all --include-custom ``` 2. Describe each result kind before using unfamiliar fields or relations. Treat the live schema as authoritative: ```bash pup --read-only idp kinds describe service pup --read-only idp kinds describe integration.github.pull_request ``` 3. Query exactly one top-level result kind. Select only needed attributes with `--field`; expand only the relation family needed for the question with `--include`: ```bash pup --read-only idp entities query 'kind:service AND name:"<service-name>"' \ --field name,display_name,owner,service_health_status,active_incidents_count,alert_monitors_count,breached_slos_count \ --include owner_teams,systems,code_locations,upstream_services,downstream_services \ --relation-limit 3 \ --timeseries-interval 24h \ --limit 1 ``` This is the high-value default: identity, ownership, health, and declared service dependencies in one request. Add runtime, datastore, queue, deployment, or operational relations only when the question needs them; do not expand every service relation. 4. Inspect `warnings`, `page.truncated`, `page.next_cursor`, and every relationship's `count` and `truncated` state. Continue pages explicitly when completeness matters: ```bash pup --read-only idp entities query 'kind:service AND owner:"<team-handle>"' \ --field name,owner \ --cursor '<next_cursor>' ``` 5. Follow returned refs instead of inventing joins: ```bash pup --read-only idp entities query 'ref:"ref:system:checkout"' \ --field name,display_name,owner \ --include services ``` 6. Synthesize only what the returned fields and declared relations establish. Label noisy matches as inferred and missing edges as unavailable. ## Correctness rules - Scope every query with one unquoted `kind:<kind>` or a concrete `ref:"ref:<kind>:<id>"`. - Keep the kind/ref outside alternatives: `kind:service AND (owner:payments OR team:payments)`. A top-level `OR` is invalid. - Never write `kind:"service"`; the quoted kind silently returns no results upstream and Pup rejects it. - `--field` selects attributes. `--include` expands relations. Discover both with `kinds describe` rather than guessing. - `--free-text-match` only chooses `partial` or `fuzzy` matching; search text still belongs in a real field filter such as `name:*catalog*`. - Use Go-style lookbacks such as `1h`, `24h`, or `168h`; do not use `7d` for `--timeseries-interval`. - Treat expanded relations as bounded samples. Increase `--relation-limit` or query the related kind directly when the full set matters. - Treat `null` or absent counts/booleans as unknown, never as zero or false. - Preserve source boundaries: UEG establishes graph facts; product APIs establish detailed operational facts. ## References - Read [UEG DSL](references/ueg-dsl.md) when constructing or paginating a query, choosing flags, or following relations. - Read [UEG footguns](references/footguns.md) when a query fails, unexpectedly returns zero, or touches timestamps, negation, high-cardinality relations, APIs, GitHub, Jira, scorecards, or security findings. - Read [IDP recipes](references/recipes.md) for one-step service context, dependency and change impact, team health, repository, PR, Jira, incident, SLO, API, and security workflows.
Voir sur GitHub