bmad-observability-agent/
├── .claude-plugin/
│ └── marketplace.json # Distribution manifest
├── skills/
│ ├── o11y-setup/ # Module setup and configuration
│ │ ├── SKILL.md
│ │ ├── scripts/ # Config merge scripts
│ │ └── assets/
│ │ ├── module.yaml # Module identity and config variables
│ │ └── module-help.csv # Capability registry
│ ├── o11y-engineer/ # Main agent skill (28 menu items)
│ │ ├── SKILL.md
│ │ ├── customize.toml # Persona, menu, persistent facts
│ │ ├── prompts/ # 13 action prompts
│ │ └── assets/
│ │ ├── workflows/ # 18 workflow YAML files
│ │ └── knowledge/ # Dynatrace format reference
│ ├── o11y-write-ottl/ # OTTL expression helper
│ │ └── SKILL.md
│ ├── o11y-generate-epics/ # Epic generation for sprints
│ │ └── SKILL.md
│ ├── o11y-instrument-app/ # App instrumentation guidance
│ │ └── SKILL.md
│ └── o11y-redact-pii/ # PII redaction configuration
│ └── SKILL.md
├── docs/ # MkDocs documentation
├── README.md
├── CONTRIBUTING.md
└── LICENSE
# Install via BMad CLI
npx bmad-method install --custom-source https://github.com/henrikrexed/bmad-observability-agent
The installer will:
.claude-plugin/marketplace.json manifest.claude/skills/o11y-setup skill to configure your preferences:
# Clone the repository
git clone https://github.com/henrikrexed/bmad-observability-agent.git
# Install from local path
npx bmad-method install --custom-source /path/to/bmad-observability-agent
# All 6 skills should be installed
ls .claude/skills/o11y-*
# Should show: o11y-setup, o11y-engineer, o11y-generate-epics,
# o11y-instrument-app, o11y-redact-pii, o11y-write-ottl
# Invoke the full agent with menu
/o11y-engineer
# Or run a specific skill directly
/o11y-write-ottl
/o11y-generate-epics
| Skill | Menu Code | Description |
|---|---|---|
o11y-setup |
SO | Install or reconfigure module settings |
o11y-engineer |
OA | Full agent with 28 menu items |
o11y-write-ottl |
WO | Generate OTTL expressions |
o11y-generate-epics |
GE | Create observability epics |
o11y-instrument-app |
IA | Add OpenTelemetry to apps |
o11y-redact-pii |
RP | Configure PII redaction |
# Install Go (required for OCB)
# macOS
brew install go
# Linux
sudo apt-get install golang-go
# Install OpenTelemetry Collector Builder
go install go.opentelemetry.io/collector/cmd/builder@latest
# Install Weaver (Rust-based)
cargo install weaver-cli
# Or download pre-built binary
# https://github.com/open-telemetry/weaver/releases
# Install dtctl (kubectl-style CLI for Dynatrace)
# Download from releases
# https://github.com/dynatrace-oss/dtctl/releases/latest
# macOS/Linux - download and install binary
curl -LO https://github.com/dynatrace-oss/dtctl/releases/latest/download/dtctl-$(uname -s | tr '[:upper:]' '[:lower:]')-amd64
chmod +x dtctl-*
sudo mv dtctl-* /usr/local/bin/dtctl
# Verify
dtctl version
# Configure your environment
dtctl config set-context my-env \
--environment "https://abc12345.apps.dynatrace.com" \
--token-ref my-token
dtctl config set-credentials my-token --token "dt0s16.YOUR_TOKEN"
The Dynatrace MCP server enables the agent to discover your environment and generate context-aware DQL queries, dashboards, notebooks, and workflows.
Benefits:
Installation:
For Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
"DT_PLATFORM_TOKEN": "dt0s16.YOUR_TOKEN"
}
}
}
}
For Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
"DT_PLATFORM_TOKEN": "dt0s16.YOUR_TOKEN"
}
}
}
}
For VS Code (.vscode/mcp.json in your project):
{
"servers": {
"dynatrace": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
"DT_PLATFORM_TOKEN": "dt0s16.YOUR_TOKEN"
}
}
}
}
Required Token Scopes:
app-engine:apps:run (required)storage:logs:read (for log queries)storage:metrics:read (for metric queries)storage:spans:read (for trace queries)storage:entities:read (for entity discovery)document:documents:read (for existing dashboards/notebooks)automation:workflows:read (for workflow discovery)Optional Environment Variables:
DT_GRAIL_QUERY_BUDGET_GB: Limit data scanning (default: unlimited)Verify MCP Connection:
# In your AI assistant, ask:
"List the services monitored in Dynatrace"
# If MCP is working, it will query your environment
# If not configured, it will provide generic guidance
# Re-run the installer to update to the latest version
npx bmad-method install --custom-source https://github.com/henrikrexed/bmad-observability-agent
The installer will update skills and re-run setup if the module configuration has changed.
Remove the installed skills:
rm -rf .claude/skills/o11y-*
Remove module configuration from _bmad/config.yaml (delete the o11y section).
ls .claude/skills/o11y-engineer/SKILL.md
npx bmad-method --version
Run the setup skill to reconfigure:
/o11y-setup
The 18 workflow YAML files live inside the agent skill:
ls .claude/skills/o11y-engineer/assets/workflows/
After installation:
/o11y-engineer to see the full menuQS for new observability setupAM for existing setupsQC for scoringSee the Home page for full documentation.