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.

Zur Installation springen

Quellinformationen

Repository
DataDog/pup
Letzte Quellaktivität
15. September 2026 um 21:42
Erkannte Sprache von SKILL.md
Englisch
Sterne
1.013
Forks
120

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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.
Auf GitHub ansehen