Skip to content

feat(uniswap-integrations): add Datadog pup CLI skill - #432

Merged
wkoutre merged 3 commits into
nextfrom
feat/datadog-pup-cli-skill
Jul 1, 2026
Merged

feat(uniswap-integrations): add Datadog pup CLI skill#432
wkoutre merged 3 commits into
nextfrom
feat/datadog-pup-cli-skill

Conversation

@just-toby

@just-toby just-toby commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

adds a skill to use the Datadog CLI

AI-Generated Description

Summary

  • Add use-datadog skill to the uniswap-integrations plugin, enabling Claude Code to use the pup CLI for all Datadog observability tasks (monitors, logs, metrics, APM, incidents, SLOs, dashboards, and more)
  • Bump uniswap-integrations plugin version from 2.0.1 to 2.1.0

Changes

File Change
packages/plugins/uniswap-integrations/skills/use-datadog/SKILL.md New skill definition with pup CLI reference table, availability check, critical usage rules, and extended skills installation guidance
packages/plugins/uniswap-integrations/.claude-plugin/plugin.json Add use-datadog to skills array; bump version 2.0.1 → 2.1.0; add datadog, pup, observability keywords; update description
packages/plugins/uniswap-integrations/CLAUDE.md Add use-datadog skill entry and update file structure tree
packages/plugins/uniswap-integrations/README.md Add use-datadog to skills table and usage examples
CLAUDE.md Update uniswap-integrations version in plugin version table (2.0.1 → 2.1.0)

Notes

  • The skill triggers on Datadog-related keywords (monitors, alerts, logs, metrics, APM, traces, incidents, SLOs, dashboards) and directs the agent to use pup instead of raw API calls or the Datadog web UI
  • pup auto-detects Claude Code and returns structured JSON — no special flags needed
  • If pup is not installed, the skill instructs the agent to point users to setup docs rather than attempting installation

Test plan

  • Verify pup CLI availability check works when pup is installed
  • Verify graceful fallback message when pup is not installed
  • Confirm skill triggers on Datadog-related queries (e.g., "check error logs", "list monitors")
  • Validate plugin.json structure with node scripts/validate-plugin.cjs packages/plugins/uniswap-integrations

@just-toby
just-toby requested a review from a team as a code owner March 30, 2026 21:07
@vercel

vercel Bot commented Mar 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ai-toolkit-slack-oauth-backend Ready Ready Preview, Comment Jul 1, 2026 12:23am

Request Review

@github-actions

github-actions Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

📚 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 Review

PR adds the use-datadog skill to the uniswap-integrations plugin. All required documentation updates are present:

  • Plugin version bump: plugin.json correctly incremented 2.4.0 → 2.5.0 (minor bump for new skill addition)
  • Root CLAUDE.md: Version table updated to 2.5.0
  • Plugin CLAUDE.md: New skill listed under Skills section and added to directory tree
  • Plugin README.md: New skill row added to the skills table; two example trigger phrases added
  • SKILL.md: New file created at skills/use-datadog/SKILL.md with full pup CLI guidance

No blocking issues found. One informational note: no changelog entry was included, but fail_on_missing_docs: false means this does not affect the verdict.

Missing Updates

Type File Severity Reason
📝 changelog CHANGELOG.md ℹ️ info No changelog entry for the new use-datadog skill addition. Informational only — fail_on_missing_docs is false.

✨ No Documentation Updates Needed

All documentation appears to be up to date with the code changes.


🤖 Generated by Claude Documentation Validator | Mode: suggest

@github-actions

github-actions Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

🤖 Claude Code Review

Review complete

Review Summary

This PR adds a use-datadog skill that directs the agent to use the pup CLI for Datadog observability work. The plugin metadata is consistent across all touched files:

  • ✅ Version bumped 2.4.0 → 2.5.0 (minor, correct for a new skill) in both plugin.json and the root CLAUDE.md table
  • plugin.json skills array includes ./skills/use-datadog
  • ✅ Plugin CLAUDE.md, README.md, and keywords all updated consistently

Outstanding issue (from prior review)

The one substantive concern is the availability check in skills/use-datadog/SKILL.md:15, which was already flagged in the previous review and remains unaddressed:

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 pup is installed but pup auth status returns non-zero (installed but unauthenticated), the || branch fires and the user is told "pup is not installed" — which is incorrect and contradicts the prose on line 18 that correctly distinguishes the two cases. The branches should be separated so the message matches the actual state:

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

This 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 @request-claude-review to trigger a new review at any time.

@github-actions github-actions Bot changed the title feat: new datadog cli skill feat(uniswap-integrations): add Datadog pup CLI skill Mar 30, 2026
github-actions[bot]
github-actions Bot previously approved these changes Mar 30, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 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 wkoutre left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! A great addition 🙌🏼

Does DD have their own skills?

@hello-happy-puppy
hello-happy-puppy force-pushed the next branch 2 times, most recently from 686a2d7 to 0e09ace Compare May 28, 2026 18:23
…skill

# Conflicts:
#	CLAUDE.md
#	packages/plugins/uniswap-integrations/.claude-plugin/plugin.json
#	packages/plugins/uniswap-integrations/README.md
@github-actions
github-actions Bot dismissed their stale review July 1, 2026 00:21

Superseded by new review after PR update

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@wkoutre
wkoutre enabled auto-merge (squash) July 1, 2026 00:22
@wkoutre
wkoutre merged commit c9149d9 into next Jul 1, 2026
18 of 19 checks passed
@wkoutre
wkoutre deleted the feat/datadog-pup-cli-skill branch July 1, 2026 00:23

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 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.

wkoutre added a commit that referenced this pull request Jul 1, 2026
…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)
wkoutre added a commit that referenced this pull request Jul 1, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants