create-status-provider
SkillAI & modelsThis skill lets your agent add a new section to the Datadog Agent's status command output. Once it is added, your agent can create a status section that appears when someone runs agent status. It is made for work on the datadog-agent repository.
Available today. Use it from your connected AI after setup.
No other account needed.
Add the skill, then ask your agent to create a new section for the agent status output. Run the agent status command afterwards to see the section it added.
Then ask your AI: use the create-status-provider skill
What your AI can do with it
- Add a new section to the agent status output
- Extend what the agent status command displays
- Show new status details when agent status is run
What this skill tells your AI
The instructions your AI receives, as published by datadog/datadog-agent in .agents/skills/create-status-provider/SKILL.md and read by ahel’s review.
Add a new status provider to the Datadog Agent. Status providers contribute sections to the agent status output in JSON, plain text, and HTML formats.
Instructions
Step 1: Gather information from the user
Use AskUserQuestion to collect the following. If $ARGUMENTS provides the provider name, skip that question.
- Provider name: Display name for this status section (e.g.
"DogStatsD","Forwarder"). - Section name: Grouping key. Providers with the same section are grouped.
"collector"always appears first. - What data to display: What information should this section show?
- Placement: Inside an existing component's
Providesstruct (most common) or standalone module? - Conditional?: Should the provider only appear when a feature is enabled?
Step 2: Read reference examples
Before writing any code, read the appropriate reference files to follow existing patterns:
| What | Reference file |
|---|---|
| Provider interface | comp/core/status/component.go |
| Provider implementation + templates | comp/dogstatsd/status/statusimpl/status.go and its status_templates/ directory |
| Registration in component Provides | comp/trace/status/statusimpl/status.go |
| Template helpers (humanize, etc.) | comp/core/status/render_helpers.go |
Step 3: Implement the provider
Create the provider implementation following the reference. Also create the status_templates/<name>.tmpl and status_templates/<name>HTML.tmpl files following the templates in the reference's status_templates/ directory.
To make a provider conditional, return nil from the constructor when the feature is disabled.
Step 4: Register the provider
Register using status.NewInformationProvider(yourProvider{...}) — either in an existing component's Provides struct (most common) or as a standalone Module(). The reference files show both patterns.
Step 5: Verify
- Build:
dda inv agent.build --build-exclude=systemd - Lint:
dda inv linter.go - Report the results to the user.
Important Notes
- Template directory must be named exactly
status_templatesand embedded via//go:embed status_templates. - Use a top-level key (e.g.
"myFeatureStats") to namespace data in the shared stats map. - For
HeaderProvider(rarely needed), useNewHeaderInformationProvider()instead.
Usage
/create-status-provider— Interactive: prompts for all details/create-status-provider "My Feature"— Pre-fills the provider name
Signals
- GitHub stars
- 4k
- Forks
- 1k
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
create-status-provider- Source
- github.com/datadog/datadog-agent