skills/solarwinds-logs/SKILL.md
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 skillsauth add jakenuts/agent-skills solarwinds-logsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
logs --help 2>/dev/null || echo "Not installed - setup required"
echo "$SOLARWINDS_API_TOKEN"
Windows (PowerShell):
logs --help 2>$null
Write-Host "SOLARWINDS_API_TOKEN=$env:SOLARWINDS_API_TOKEN"
Run the setup script from the deployed skill folder:
Linux/macOS:
bash ~/.codex/skills/solarwinds-logs/scripts/setup.sh
Windows (PowerShell):
pwsh ~/.codex/skills/solarwinds-logs/scripts/setup.ps1
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:
export SOLARWINDS_API_TOKEN="your-token-here"
Windows (PowerShell):
$env:SOLARWINDS_API_TOKEN = "your-token-here"
To obtain a token:
Linux/macOS:
dotnet tool list --global | grep SolarWindsLogSearch
logs "test" --limit 1
Windows (PowerShell):
dotnet tool list --global | Select-String SolarWindsLogSearch
logs "test" --limit 1
na-01If you prefer to install manually without the setup script:
# 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
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:
# ✅ 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
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.
# ⚠️ 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
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:
# 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
| 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.
development
WordPress content management via REST API for managing posts. Requires Node.js and WordPress REST API credentials.
development
WolverineFx (.NET) framework for in-process command/event handling, asynchronous messaging, durable inbox/outbox, sagas, and HTTP endpoints. Use when working in a .NET project that references `WolverineFx*` packages, calls `UseWolverine()`, or whenever the user asks about Wolverine handlers, message routing, transactional outbox, transports (RabbitMQ, Azure Service Bus, SQS, Kafka, NATS, Pulsar, PostgreSQL, SQL Server, Redis, MQTT, etc.), Wolverine.HTTP endpoints, Marten/EF Core/RavenDb integration, sagas/process managers, middleware, cascading messages, side effects, FluentValidation integration, tracked-session testing, or migrating to/from MediatR/NServiceBus/MassTransit. Also applies to Critter Stack and JasperFx conversations that mention Wolverine.
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
development
Sentry error monitoring and issue tracking skill for retrieving issues, events, and project health data. Use when working with error tracking, exceptions, crashes, debugging production issues, or analyzing error patterns.