feat(skills): add catalog and session commands backed by Datadog API#614
Closed
rachelyangdog wants to merge 8 commits into
Closed
feat(skills): add catalog and session commands backed by Datadog API#614rachelyangdog wants to merge 8 commits into
rachelyangdog wants to merge 8 commits into
Conversation
Adds three new subcommands under `pup skills` that talk to the agentic-onboarding-api: - `pup skills catalog list [--tags <tag>...]` — lists skills from the remote registry (GET /api/v2/skills), optionally filtered by tag (e.g. --tags apm) - `pup skills catalog get <name>` — fetches a single skill's full content by name (GET /api/v2/skills/<name>) - `pup skills session` — records an onboarding session checkpoint or terminal event (POST /api/v2/onboarding/sessions) using the JSON:API envelope the service expects These complement the existing local `skills list/install/path` commands (which manage bundled skill files on disk) by giving Claude and other agents a way to discover domain skills from the registry and record session telemetry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rachelyangdog
marked this pull request as draft
June 23, 2026 13:58
Adds two more subcommands under `pup skills catalog`:
- `publish <file> --name <name> [--description <desc>] [--tags <tag>...]`
Creates a new skill in the remote catalog via POST /api/v2/skills
- `update <file> --name <name> [--description <desc>] [--tags <tag>...]`
Updates an existing skill via PUT /api/v2/skills/{name}
Both read the skill markdown from a local file and upload it as the
skill content. This makes it easy to publish multi-file skill trees
like dd-apm to the registry with a simple shell loop.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Thin skill that tells Claude to fetch the orchestrator from the agentic-onboarding-api before any Datadog setup or install task. Closes the delivery gap: customers running `pup skills install` now get the entry point for the live skill chain in dd-source. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This comment has been minimized.
This comment has been minimized.
…rride - Fail hard if orchestrator fetch returns an error or empty — do not fall back to training data - Add DD_ONBOARDING_API_URL override so local/staging API can be targeted without changing DD_SITE Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rachelyangdog
marked this pull request as ready for review
July 20, 2026 18:31
Mirrors the query params added in DataDog#640's onboarding skills_get, so `pup skills catalog get` can scope a fetch to an onboarding session/org and record fetch intent. - src/commands/skills.rs: catalog_get takes optional intent (validated against explore/install/reference), session_id, org_id and forwards them as query params. - src/main.rs: SkillsCatalogActions::Get gains --intent, --session-id, --org-id flags. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…talog-session-commands
main moved raw_get/raw_post/raw_put from client.rs into a new raw_client module (DataDog#658). Update the catalog and session commands to call through raw_client so the branch builds against current main. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
tedkahwaji
reviewed
Jul 20, 2026
| query.push(("intent", intent.as_str())); | ||
| } | ||
| if let Some(session_id) = &session_id { | ||
| query.push(("session_id", session_id.as_str())); |
Contributor
There was a problem hiding this comment.
can we switch to using onboarding_run_id; which the query param the api supports
The agentic-onboarding-api only supports onboarding_run_id as the query param name (per ddoghq/dd-source service.go), not session_id. Rename the flag and forwarded query param to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
Author
|
closing in favor of #640 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds three new subcommands under
pup skillsthat talk to the agentic-onboarding-api:pup skills catalog list [--tags <tag>...]— lists skills from the remote registry (GET /api/v2/skills), optionally filtered by tag (e.g. --tags apm)pup skills catalog get <name>— fetches a single skill's full content by name (GET /api/v2/skills/)pup skills session— records an onboarding session checkpoint or terminal event (POST /api/v2/onboarding/sessions) using the JSON:API envelope the service expectsThese complement the existing local
skills list/install/pathcommands (which manage bundled skill files on disk) by giving Claude and other agents a way to discover domain skills from the registry and record session telemetry.What does this PR do?
Motivation
Additional Notes
Checklist
Related Issues