feat(uniswap-integrations): add Datadog pup CLI skill - #432
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📚 Documentation Check ✅Verdict: Passed Plugin version was bumped (2.4.0 → 2.5.0) for the new use-datadog skill, all documentation files (CLAUDE.md, README.md, SKILL.md) were updated, and the root version table is accurate. PR #432 Documentation ReviewPR adds the
No blocking issues found. One informational note: no changelog entry was included, but Missing Updates
✨ No Documentation Updates NeededAll documentation appears to be up to date with the code changes. 🤖 Generated by Claude Documentation Validator | Mode: |
🤖 Claude Code Review
Review SummaryThis PR adds a
Outstanding issue (from prior review)The one substantive concern is the availability check in command -v pup >/dev/null && pup auth status || echo "pup is not installed — see https://github.com/datadog-labs/pup for setup"This conflates two distinct failure modes. When if ! command -v pup >/dev/null; then
echo "pup is not installed — see https://github.com/datadog-labs/pup for setup"
elif ! pup auth status >/dev/null 2>&1; then
echo "pup is installed but not authenticated — run 'pup auth login'"
fiThis is a low-severity UX bug in a doc snippet (not a runtime code path), but since it's a valid, still-open concern, I'm keeping the thread open rather than blocking the merge. Links
💡 Want a fresh review? Add a comment containing |
There was a problem hiding this comment.
📋 Review verdict: APPROVE
👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.
This formal review submission is for the verdict only.
wkoutre
left a comment
There was a problem hiding this comment.
Nice! A great addition 🙌🏼
Does DD have their own skills?
686a2d7 to
0e09ace
Compare
…skill # Conflicts: # CLAUDE.md # packages/plugins/uniswap-integrations/.claude-plugin/plugin.json # packages/plugins/uniswap-integrations/README.md
Superseded by new review after PR update
There was a problem hiding this comment.
📋 Review verdict: APPROVE
👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.
This formal review submission is for the verdict only. 1 inline comment(s) are attached below.
| Before running pup commands, check it's installed and authenticated: | ||
|
|
||
| ```bash | ||
| command -v pup >/dev/null && pup auth status || echo "pup is not installed — see https://github.com/datadog-labs/pup for setup" |
There was a problem hiding this comment.
This check reports "pup is not installed" for two distinct failures: command -v pup failing (truly not installed) and pup auth status failing (installed but not authenticated). When pup is present but unauthenticated, the user is told it isn't installed — misleading, and it contradicts the prose on line 18 which correctly distinguishes the two cases. Separate the branches so the message matches the actual state.
| command -v pup >/dev/null && pup auth status || echo "pup is not installed — see https://github.com/datadog-labs/pup for setup" | |
| if ! command -v pup >/dev/null; then | |
| echo "pup is not installed — see https://github.com/datadog-labs/pup for setup" | |
| elif ! pup auth status >/dev/null 2>&1; then | |
| echo "pup is installed but not authenticated — run 'pup auth login'" | |
| fi |
There was a problem hiding this comment.
Still unaddressed — line 15 is unchanged. The check still reports "pup is not installed" when pup is present but pup auth status fails (installed-but-unauthenticated), which contradicts the prose on line 18. The suggested split (separate if/elif branches so the message matches the actual state) still applies. Keeping this open.
There was a problem hiding this comment.
📋 Review verdict: COMMENT
👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.
This formal review submission is for the verdict only.
…tracker - Bump plugin 2.5.0 -> 2.6.0 (2.5.0 was taken by use-datadog in #432) - Add datadog-cost-tracker to plugin README skills table, plugin CLAUDE.md skills list, and file-structure tree (the review's noted doc gaps)
…as (#544) * feat(uniswap-integrations): add datadog-cost-tracker skill with gotchas Captures two operational gotchas discovered during a Datadog cost-tracker run so future runs avoid the same false-negative / false-positive traps: 1. env:prod filter silently drops Lambda/serverless services (unirpc-v2, notification-service) from estimated_usage.logs.ingested_bytes -- omit env filter and verify tag presence via get_datadog_metric_context. 2. Uniroute APM baseline is invalid before 2026-05-14 (PRs #7996/#7510/#7998 normalised DD_ENV tag, causing a 22x apparent jump) -- mark pre/post comparisons as INCONCLUSIVE, not REGRESSION. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CaswXmq8Xotq8La9SNJrSy * fix(uniswap-integrations): correct datadog-cost-tracker metric and tool names - APM span ingestion metric: apm_hosts (host count, not service-tagged) removed; ingested_spans corrected to datadog.estimated_usage.apm.ingested_spans - Replace bare unprefixed Datadog tool names with intent-based language via the Datadog MCP server, matching the sibling investigate-incident skill's pattern - Note that estimated-usage metric names must be confirmed against the account's Metrics Explorer (querying a nonexistent name returns empty, not an error) Addresses the automated review's blocking finding on PR #544. * chore(uniswap-integrations): bump to 2.6.0 and document datadog-cost-tracker - Bump plugin 2.5.0 -> 2.6.0 (2.5.0 was taken by use-datadog in #432) - Add datadog-cost-tracker to plugin README skills table, plugin CLAUDE.md skills list, and file-structure tree (the review's noted doc gaps) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Nick Koutrelakos <wkoutre@users.noreply.github.com> Co-authored-by: Nick Koutrelakos <nick.koutrelakos@uniswap.org>
adds a skill to use the Datadog CLI
AI-Generated Description
Summary
use-datadogskill to the uniswap-integrations plugin, enabling Claude Code to use thepupCLI for all Datadog observability tasks (monitors, logs, metrics, APM, incidents, SLOs, dashboards, and more)Changes
packages/plugins/uniswap-integrations/skills/use-datadog/SKILL.mdpackages/plugins/uniswap-integrations/.claude-plugin/plugin.jsonuse-datadogto skills array; bump version 2.0.1 → 2.1.0; adddatadog,pup,observabilitykeywords; update descriptionpackages/plugins/uniswap-integrations/CLAUDE.mdpackages/plugins/uniswap-integrations/README.mdCLAUDE.mdNotes
pupinstead of raw API calls or the Datadog web UIpupauto-detects Claude Code and returns structured JSON — no special flags neededpupis not installed, the skill instructs the agent to point users to setup docs rather than attempting installationTest plan
pupCLI availability check works when pup is installednode scripts/validate-plugin.cjs packages/plugins/uniswap-integrations