npx skills add ...
npx skills add jakenuts/agent-skills --skill solarwinds-logs
Search and analyze DealerVision production logs via SolarWinds Observability API. Use when investigating errors, debugging issues, checking system health, or when the user mentions logs, SolarWinds, production errors, or system monitoring. Requires the `logs` CLI tool to be installed.
npx skills add jakenuts/agent-skills --skill solarwinds-logs
Search DealerVision production logs through the SolarWinds Observability API using the logs CLI tool.
This skill requires the logs CLI tool, .NET 10, and a SolarWinds API token. Install only when the skill is activated.
Linux/macOS:
Windows (PowerShell):
Run the setup script from the deployed skill folder:
Linux/macOS:
Windows (PowerShell):
If you are using Claude Code, replace ~/.codex/skills with ~/.claude/skills.
What this does:
logs CLI tool from the skill-local packageNote: Installation only happens once; the tool becomes globally available.
The tool requires a SolarWinds API token for authentication.
Linux/macOS:
Windows (PowerShell):
To obtain a token:
Linux/macOS:
Windows (PowerShell):
na-01If you prefer to install manually without the setup script:
The SolarWinds/Papertrail API is finicky with time ranges and often skips recent entries when time arguments are used. The logs tool is designed to start from the most recent entries and page backward through time automatically until a predefined limit (typically 24 hours worth of data).
Always prefer simple keyword searches without time arguments:
When you use --time-range, --start-time, or --end-time, the API may return a subset of entries that misses vital current/recent log entries. This is a known quirk of the underlying Papertrail API.
When a user asks for something like "errors from today" or "logs from the last hour":
logs 'error' without time argumentsExample interpretations:
logs 'error' OR 'exception' (filter results yourself)logs 'exception' (filter results yourself)Only use time arguments when the user explicitly wants to:
| Option | Description |
|---|---|
--time-range | 1h, 4h, 12h, 24h, 2d, 7d, 30d |
--severity | INFO, WARN, ERROR, DEBUG |
--program | Filter by service name (e.g., media-processing) |
--hostname | Filter by host |
--limit | Max results (default 1000, max 50000) |
--with-data | Include structured JSON payload |
--no-data | Exclude payload (faster, smaller response) |
--output-file | Save full results to file |
--id with --with-data for full log entry inspection--output-file for comprehensive analysisReturns JSON with:
success: boolean statusquery: search parameters usedsummary: statistics including severity breakdown, truncation inforesults: array of log entries with timestamps, source, severity, messagepagination: info for getting more resultsFor detailed documentation on query syntax, MCP server modes, and advanced patterns, see references/REFERENCE.md.
For common investigation patterns and recipes, see references/RECIPES.md.
bash ~/.codex/skills/solarwinds-logs/scripts/setup.shpwsh ~/.codex/skills/solarwinds-logs/scripts/setup.ps1export SOLARWINDS_API_TOKEN="your-token-here"$env:SOLARWINDS_API_TOKEN = "your-token-here"dotnet tool list --global | grep SolarWindsLogSearch
logs "test" --limit 1dotnet tool list --global | Select-String SolarWindsLogSearch
logs "test" --limit 1# Requires .NET SDK 10.0+
dotnet tool install --global DealerVision.SolarWindsLogSearch --version 2.4.0 --add-source ~/.codex/skills/solarwinds-logs/tools
# If using Claude Code, replace ~/.codex/skills with ~/.claude/skills
# Windows path: %USERPROFILE%\\.codex\\skills\\solarwinds-logs\\tools (or .claude for Claude Code)
# Verify
logs --help# ✅ RECOMMENDED - Simple searches that capture current entries
logs 'error'
logs 'exception'
logs 'timeout'
logs 'DbUpdateException'
# ✅ GOOD - Add filters, but avoid time arguments
logs 'error' --severity ERROR
logs 'exception' --program webhook-api# ⚠️ AVOID - Time arguments can miss recent entries
logs "error" --time-range 1h # May miss errors from the last few minutes
logs "error" --time-range 24h # May skip entries that just happened# Search for errors (recommended - no time arguments)
logs 'error'
# Find specific exceptions
logs 'DbUpdateException' --severity ERROR --limit 10
# Filter by service (still no time arguments)
logs 'timeout' --program webhook-api
# Get full details for a specific log entry
logs --id 1901790063029837827 --with-data
# Export large result sets to file
logs 'exception' --output-file results.json