Analyze static quality gate on-disk size changes, correlate with Confluence exception records and GitHub PRs by milestone
npx skills add https://github.com/DataDog/datadog-agent --skill quality-gate-size-analysis
Analyze the agent's static quality gate on-disk size metrics, pull approved exception records from Confluence, fetch PR data from GitHub with milestone-based release attribution, and produce a cross-referenced report.
Query datadog.agent.static_quality_gate.relative_on_disk_size filtered to ci_commit_ref_slug:main, grouped by gate_name and arch:
max:datadog.agent.static_quality_gate.relative_on_disk_size{ci_commit_ref_slug:main} by {gate_name,arch}
from=now-$TIME_RANGE and to=nowraw_data=true to get CSV with timestamps for spike identificationQuery datadog.agent.package.size for main and relevant release branches to measure inter-release deltas:
max:datadog.agent.package.size{git_ref:main,package:datadog-agent,os:debian,arch:amd64}
max:datadog.agent.package.size{git_ref:7-XX-x,package:datadog-agent,os:debian,arch:amd64}
datadog.agent.static_quality_gate.on_disk_size — absolute on-disk size per gatedatadog.agent.static_quality_gate.on_wire_size — compressed/network sizedatadog.agent.static_quality_gate.max_allowed_on_disk_size — configured thresholdsThe Agent Package size metrics dashboard contains all relevant widgets.
Exception records live in the ABLD Confluence space under folder ID 5996904656.
Use CQL search:
ancestor = 5996904656 AND type = page ORDER BY created DESC
cloudId: datadoghq.atlassian.net[TEMPLATE] page from resultsFor every page returned, call getConfluencePage with contentFormat=markdown to extract:
Compile all exceptions into a structured table with columns: Title, Date, Decision, Disk Increase, Scope, PRs, Requester.
Extract PR numbers from the Confluence pages (they appear as GitHub URLs in the exception text). For each PR:
gh pr view <NUMBER> --repo DataDog/datadog-agent --json number,title,mergedAt,milestone,labels,state
The milestone field (e.g. 7.77.0) determines which release the PR belongs to. Do NOT use labels for release attribution.
Search for PRs merged in the time window that may have size impact but no exception:
gh pr list --repo DataDog/datadog-agent --base main --state merged \
--search "merged:>=YYYY-MM-DD" --json number,title,mergedAt,milestone,labels
Filter for PRs with labels like qa/rc-required, component/system-probe, etc., and cross-check against the exception list.
For exceptions that don't directly link a PR, search by keyword:
gh pr list --repo DataDog/datadog-agent --base main --state merged \
--search "<feature-keyword> merged:>=YYYY-MM-DD" --json number,title,mergedAt,milestone
For each significant spike in relative_on_disk_size:
Group all size-impacting PRs by their milestone (not by label or merge date):
milestone:7.75.0 → Release 7.75milestone:7.76.0 → Release 7.76Flag:
Write a markdown report to the repository root (e.g. quality_gate_size_analysis_YYYYQN.md) with these sections:
relative_on_disk_size metric uses ci_commit_ref_slug (not git_ref) for branch filtering.package.size metric uses git_ref for branch filtering — branch names use hyphens (e.g. 7-77-x).5996904656 is a folder, not a page — use CQL ancestor = to search, not getConfluencePageDescendants.gh pr view --json milestone.gate_name tag values look like static_quality_gate_docker_agent_amd64 — use these to distinguish between agent variants (docker, MSI, DCA, dogstatsd, IoT, heroku, FIPS).Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take datadog/quality-gate-size-analysis from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.