feat: add trogonstack-datadog plugin - #15
Conversation
PR SummaryLow Risk Overview Registers the plugin in Written by Cursor Bugbot for commit e6c26d7. This will update automatically on new commits. Configure here. |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. 📒 Files selected for processing (11)
WalkthroughAdds 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~30 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (10)
.claude-plugin/marketplace.json.github/release-please-config.json.github/release-please-manifest.jsonplugins/trogonstack-datadog/.claude-plugin/plugin.jsonplugins/trogonstack-datadog/CHANGELOG.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.mdplugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md
There was a problem hiding this comment.
♻️ Duplicate comments (2)
plugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md (1)
30-31:⚠️ Potential issue | 🟠 MajorAdd 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.mdaround
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
📒 Files selected for processing (5)
plugins/trogonstack-datadog/skills/datadog-design-dashboard/SKILL.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/thresholds.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.mdplugins/trogonstack-datadog/skills/datadog-review-dashboard/SKILL.md
There was a problem hiding this comment.
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.
teamis 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
📒 Files selected for processing (3)
plugins/trogonstack-datadog/skills/datadog-design-dashboard/references/frameworks.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/layouts.mdplugins/trogonstack-datadog/skills/datadog-design-dashboard/references/widgets.md
3cdc328 to
e07b8aa
Compare
There was a problem hiding this comment.
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>
Summary
trogonstack-datadogplugin with two skills for Datadog dashboard observabilitydatadog-design-dashboard: lean how-to skill (145 lines) with domain discovery phase, interview, and workflow directives pointing to 4 reference docsdatadog-review-dashboard: audits existing dashboards against operational readiness principlesKey features
yaxis.maxinstead of auto-scalingI0-N:(infrastructure),P0-N:(platform),D0-N:(domain) for layer and priority at a glanceFile structure
Test plan
plugins/trogonstack-datadog/.claude-plugin/plugin.jsonis validp50/p90/p99:→ separate queries)