Skip to content

feat: add trogonstack-datadog plugin - #15

Merged
yordis merged 1 commit into
mainfrom
datadog-plugin
Mar 2, 2026
Merged

feat: add trogonstack-datadog plugin#15
yordis merged 1 commit into
mainfrom
datadog-plugin

Conversation

@yordis

@yordis yordis commented Mar 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds trogonstack-datadog plugin with two skills for Datadog dashboard observability
  • datadog-design-dashboard: lean how-to skill (145 lines) with domain discovery phase, interview, and workflow directives pointing to 4 reference docs
  • datadog-review-dashboard: audits existing dashboards against operational readiness principles
  • Registers the plugin in marketplace.json and release-please config

Key features

  • Domain discovery phase: AI asks about the product/business and offers to read codebases before designing
  • Customer-Facing section: 5-8 metrics at the top for instant outage identification
  • Alert threshold markers: red lines on timeseries, thresholds close to normal traffic
  • Y-axis configuration: explicit yaxis.max instead of auto-scaling
  • Widget title prefix system: I0-N: (infrastructure), P0-N: (platform), D0-N: (domain) for layer and priority at a glance
  • Zero-knowledge readability: anyone can spot problems via red indicators without service knowledge
  • Dashboard strategy guidance: per-service vs consolidated vs hybrid trade-offs

File structure

plugins/trogonstack-datadog/
├── .claude-plugin/plugin.json
├── CHANGELOG.md
└── skills/
    ├── datadog-design-dashboard/
    │   ├── SKILL.md                    (145 lines, lean how-to)
    │   └── references/
    │       ├── frameworks.md           (RED, USE, Golden Signals, SLI/SLO)
    │       ├── layouts.md              (template vars, group patterns, grid, anti-patterns)
    │       ├── widgets.md              (widget types, sizing, prefix system, naming)
    │       └── thresholds.md           (alert markers, proximity guide, Y-axis config)
    └── datadog-review-dashboard/
        └── SKILL.md                    (audit skill)

Test plan

  • Verify plugins/trogonstack-datadog/.claude-plugin/plugin.json is valid
  • Verify both SKILL.md files have correct frontmatter (name, description, allowed-tools)
  • Verify all Datadog query examples use valid syntax (separate percentile aggregators, template variable filters)
  • Verify reference files are consistent with SKILL.md guidance
  • Verify release-please config and manifest include the new plugin
  • Fix invalid percentile query syntax (p50/p90/p99: → separate queries)
  • Add missing template variable filters to Golden Signals queries
  • Add fence language tags to all code blocks (MD040)
  • Add URL/service-name resolution to review skill workflow

@cursor

cursor Bot commented Mar 1, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Low risk: this PR only adds a new plugin’s markdown/JSON skill content and wires it into marketplace and release automation, without changing runtime code paths.

Overview
Adds a new trogonstack-datadog plugin (v0.0.1) with two new skills: datadog-design-dashboard (dashboard design workflow plus reference docs for frameworks/layouts/widgets/thresholds) and datadog-review-dashboard (audit workflow for existing dashboards using pup).

Registers the plugin in .claude-plugin/marketplace.json and updates release automation (.github/release-please-config.json and .github/release-please-manifest.json) so it is versioned and released alongside existing plugins.

Written by Cursor Bugbot for commit e6c26d7. This will update automatically on new commits. Configure here.

@coderabbitai

coderabbitai Bot commented Mar 1, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@yordis has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 39 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 2f5a458 and e6c26d7.

📒 Files selected for processing (11)
  • .claude-plugin/marketplace.json
  • .github/release-please-config.json
  • .github/release-please-manifest.json
  • plugins/trogonstack-datadog/.claude-plugin/plugin.json
  • plugins/trogonstack-datadog/CHANGELOG.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/thresholds.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.md
  • plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md

Walkthrough

Adds a new trogonstack-datadog plugin: marketplace and release tooling entries, plugin manifest and changelog, plus comprehensive Datadog dashboard design and review skill documentation with reference guides (frameworks, layouts, widgets, thresholds).

Changes

Cohort / File(s) Summary
Marketplace & Release Config
​.claude-plugin/marketplace.json, .github/release-please-config.json, .github/release-please-manifest.json
Register new plugin trogonstack-datadog in the marketplace and add release-please package/manifest entries for versioning.
Plugin Manifest & Changelog
plugins/trogonstack-datadog/.claude-plugin/plugin.json, plugins/trogonstack-datadog/CHANGELOG.md
Add plugin metadata (name, description, version, author) and an initial changelog file.
Design Skill
plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md
New Datadog dashboard design skill: discovery prompts, 5-step workflow, gating logic, output templates, and a detailed quality checklist.
Design References
plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.md, .../layouts.md, .../widgets.md, .../thresholds.md
Comprehensive reference material covering observability frameworks, layout/grid conventions, widget selection/naming, and threshold best practices.
Review Skill
plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md
New Datadog dashboard review/audit skill: interview prompts, inventorying steps, audit checks, templated findings, and final report format.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Poem

🐰 I hopped in the code with a curious cheer,
I sketched dashboards bright and thresholds clear,
Widgets in rows, templates all neat,
Variables ready for every fleet,
Observe, revise, and celebrate with a carrot treat! 🥕📊

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add trogonstack-datadog plugin' directly and concisely describes the main change: adding a new plugin to the repository.
Description check ✅ Passed The description comprehensively explains the plugin's purpose, key features, file structure, and test plan, all directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch datadog-plugin

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.md`:
- Around line 13-16: The Duration row uses invalid combined percentile syntax —
replace the single "p50/p90/p99:trace.http.request.duration{$service,$env}"
usage with separate percentile-prefixed queries (use
"p50:trace.http.request.duration(...)", "p90:...", "p99:...") each including
explicit template variable filters; likewise update the Golden Signals queries
referenced around "Golden Signals" (lines ~79–80) to add explicit template
variable filters in the form {service:$service,env:$env} (or matching the
template names used elsewhere) so all Datadog queries consistently use separate
percentile aggregators and explicit {service:...,env:...} filters rather than
the broad {$service,$env} shorthand.

In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`:
- Line 11: Four code fences in the document are missing a language tag which
triggers markdownlint MD040; update each bare triple-backtick fence (the four
occurrences currently written as ```) to use an explicit language tag (e.g.,
change ``` to ```text) at the four fence locations so the fences at the current
positions are ```text ... ``` instead of ``` ... ```.

In `@plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md`:
- Around line 233-245: The fenced code block in SKILL.md that begins with "✓
GOOD:" and shows the "✗ BAD:" example lacks a fence language (causing MD040);
fix by adding a language token (e.g., text) immediately after the opening ``` so
the block becomes ```text, ensuring the linter recognizes the code fence and the
existing example content remains unchanged.

In `@plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md`:
- Around line 30-31: Update the "Dashboard — 'Which dashboard should I review?
Provide a dashboard ID, URL, or service name to search for.'" prompt in SKILL.md
to document how to resolve non-ID inputs into a dashboard ID: add instructions
to run "pup dashboards list" to show candidate dashboards when given a service
name (or no ID), explain extracting the dashboard ID from a provided URL path,
and instruct using the resolved ID with "pup dashboards get <dashboard-id>" and
"pup dashboards url <dashboard-id>"; apply the same guidance to the other
occurrence mentioned (lines 45-51) so consumers know to normalize
URL/service-name inputs to an ID before fetching.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3ee6830 and 964578a.

📒 Files selected for processing (10)
  • .claude-plugin/marketplace.json
  • .github/release-please-config.json
  • .github/release-please-manifest.json
  • plugins/trogonstack-datadog/.claude-plugin/plugin.json
  • plugins/trogonstack-datadog/CHANGELOG.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.md
  • plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md

Comment thread plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md Outdated
Comment thread plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md (1)

30-31: ⚠️ Potential issue | 🟠 Major

Add explicit URL/service-name → dashboard ID resolution before fetch.

At Line 30 the interview accepts URL/service-name, but Lines 45-51 only document ID-based fetch commands. Add normalization steps (list candidates for service-name input, extract ID from URL path, then use resolved ID) so the workflow is executable end-to-end.

Suggested patch
 ### 1. Fetch Dashboard Definition
 
 ```bash
+# If user provides a service name (or no ID), list candidates first
+pup dashboards list
+
+# If user provides a URL, extract the dashboard ID from the URL path
+# and use that ID in the commands below
+
 # Get the full dashboard definition
 pup dashboards get <dashboard-id>
 
 # Get the dashboard URL for reference
 pup dashboards url <dashboard-id>
</details>


Also applies to: 45-51

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md around
lines 30 - 31, The documentation accepts a dashboard URL or service name but
only shows ID-based commands; add an explicit normalization step before the
fetch flow: if input looks like a service name or no ID, call the candidate
listing command (refer to the example utility "pup dashboards list") to resolve
possible dashboards; if input is a URL, parse/extract the dashboard ID from the
URL path and set it as the resolved ID; then use the resolved ID for the
existing commands "pup dashboards get " and "pup dashboards url
" so the workflow runs end-to-end.


</details>

</blockquote></details>
<details>
<summary>plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md (1)</summary><blockquote>

`65-113`: _⚠️ Potential issue_ | _🟡 Minor_

**Add fence languages for diagram blocks to satisfy markdownlint MD040.**

The fenced blocks starting at Line 65, Line 127, Line 185, and Line 241 should use an explicit language (for example, `text`) to avoid MD040 warnings.
 
<details>
<summary>Minimal lint-fix diff</summary>

```diff
-```
+```text
 ...

- +text
...


-```
+```text
...

- +text
...

Also applies to: 127-171, 185-227, 241-292

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`
around lines 65 - 113, The markdown contains multiple fenced diagram blocks
without a language tag (the ASCII dashboard diagrams) which triggers
markdownlint MD040; update each triple-backtick fence for those diagram blocks
(the large ASCII diagrams starting near the Template Variables / Group sections)
to include an explicit language identifier such as text (change ``` to ```text)
for all four diagram blocks so MD040 warnings are resolved.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`:
- Around line 65-113: The markdown contains multiple fenced diagram blocks
without a language tag (the ASCII dashboard diagrams) which triggers
markdownlint MD040; update each triple-backtick fence for those diagram blocks
(the large ASCII diagrams starting near the Template Variables / Group sections)
to include an explicit language identifier such as text (change ``` to ```text)
for all four diagram blocks so MD040 warnings are resolved.

In `@plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md`:
- Around line 30-31: The documentation accepts a dashboard URL or service name
but only shows ID-based commands; add an explicit normalization step before the
fetch flow: if input looks like a service name or no ID, call the candidate
listing command (refer to the example utility "pup dashboards list") to resolve
possible dashboards; if input is a URL, parse/extract the dashboard ID from the
URL path and set it as the resolved ID; then use the resolved ID for the
existing commands "pup dashboards get <dashboard-id>" and "pup dashboards url
<dashboard-id>" so the workflow runs end-to-end.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 964578a and 2171052.

📒 Files selected for processing (5)
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/thresholds.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.md
  • plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md (1)

13-20: Align standard template variables with examples.

team is used in the Executive template (Line 187) but not listed in the standard variables table, which can cause ambiguity for implementers.

Suggested edit
 | `host` | `host` | Host-level investigation |
+| `team` | `team` | Team-level scoping for cross-service/executive dashboards |

Also applies to: 187-187

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`
around lines 13 - 20, The standard variables table in layouts.md is missing the
`team` entry used by the Executive template, causing inconsistency; add a new
row to the variables table listing `team` as the Variable, `team` as the Tag,
and a concise Use Case like "Team scoping / organizational filtering" so the
Executive template's `team` tag matches the documented standard and implementers
have an unambiguous reference.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`:
- Line 44: The sentence fragment "Should be the first group." in the
"Customer-Facing — 5-8 metrics..." line should be rewritten as a full sentence
for clarity; replace that fragment with a complete sentence such as "It should
be the first group." or merge it into the previous sentence (e.g.,
"Customer-Facing — 5-8 metrics that answer 'are customers affected?' within 5
seconds, and it should be the first group.") so the guidance reads as a single,
grammatically complete instruction.

---

Nitpick comments:
In
`@plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md`:
- Around line 13-20: The standard variables table in layouts.md is missing the
`team` entry used by the Executive template, causing inconsistency; add a new
row to the variables table listing `team` as the Variable, `team` as the Tag,
and a concise Use Case like "Team scoping / organizational filtering" so the
Executive template's `team` tag matches the documented standard and implementers
have an unambiguous reference.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8a07bff and 2f5a458.

📒 Files selected for processing (3)
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.md
  • plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.md

@yordis
yordis force-pushed the datadog-plugin branch 2 times, most recently from 3cdc328 to e07b8aa Compare March 2, 2026 04:13

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
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.

1 participant