plugins/dapr/skills/troubleshooter/SKILL.md
Proactively detect and diagnose DAPR runtime issues based on error patterns, log analysis, and common misconfigurations. Provides immediate solutions for service invocation failures, state management issues, pub/sub problems, and deployment errors. Use when encountering DAPR errors or unexpected behavior.
npx skillsauth add sahib-sawhney-wh/sahibs-claude-plugin-marketplace dapr-troubleshooterInstall 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.
This skill proactively detects DAPR issues and provides immediate solutions based on error patterns and common problems.
Claude automatically uses this skill when:
Pattern: connection refused, dial tcp, sidecar not ready
Error: connection refused to localhost:3500
Diagnosis:
Solutions:
dapr listcurl http://localhost:3500/v1.0/healthzdapr run --app-id myapp -- python main.pykubectl get pod -o yaml | grep daprPattern: 404 Not Found, app-id not found, method not found
Error: ERR_DIRECT_INVOKE: app id order-service not found
Diagnosis:
Solutions:
dapr listPattern: state store not found, failed to save state, ERR_STATE
Error: state store statestore is not found
Diagnosis:
Solutions:
ls ./components/Pattern: pubsub not found, failed to publish, subscription error
Error: pubsub pubsub is not configured
Diagnosis:
Solutions:
{"status": "SUCCESS"}Pattern: failed to init component, component error, invalid configuration
Error: error initializing component statestore: connection refused
Diagnosis:
Solutions:
docker run -d -p 6379:6379 redisPattern: workflow not found, activity failed, workflow timeout
Error: workflow order_workflow not found
Diagnosis:
Solutions:
wf_runtime.start() is called@wf_runtime.workflowdapr --version
dapr status
dapr list
# Local
dapr logs --app-id myapp
# Kubernetes
kubectl logs deployment/myapp -c daprd
curl http://localhost:3500/v1.0/healthz
curl http://localhost:3500/v1.0/metadata
curl http://localhost:3500/v1.0/invoke/target-app/method/health
# Save state
curl -X POST http://localhost:3500/v1.0/state/statestore \
-H "Content-Type: application/json" \
-d '[{"key":"test","value":"hello"}]'
# Get state
curl http://localhost:3500/v1.0/state/statestore/test
curl -X POST http://localhost:3500/v1.0/publish/pubsub/test-topic \
-H "Content-Type: application/json" \
-d '{"message":"test"}'
| Error | Quick Fix |
|-------|-----------|
| Sidecar not running | dapr run --app-id myapp -- python main.py |
| Redis not running | docker run -d -p 6379:6379 redis |
| Component not found | Check component file in ./components/ |
| App-id not found | Verify target app is running with dapr list |
| 404 on invoke | Check method path and HTTP verb |
| Pub/sub not delivering | Return {"status": "SUCCESS"} from handler |
| Secret not found | Configure secret store component |
| State save failed | Check state store backend is running |
| Workflow not starting | Call wf_runtime.start() |
Run this checklist when troubleshooting:
[ ] DAPR CLI installed (dapr --version)
[ ] DAPR runtime initialized (dapr init)
[ ] Docker running (for local mode)
[ ] Application started with dapr run
[ ] Components in ./components/ directory
[ ] Component names match code references
[ ] Backend services running (Redis, etc.)
[ ] Correct ports configured
[ ] No firewall blocking localhost
[ ] Secrets configured if needed
# Successful startup
"dapr initialized. Status: Running"
# Component loaded
"component [statestore] loaded"
# Sidecar ready
"dapr sidecar is ready"
# Connection established
"connected to placement service"
# Errors to watch for
"error initializing component"
"failed to connect"
"connection refused"
"unauthorized"
"not found"
# Local development
dapr run --log-level debug --app-id myapp -- python main.py
# Kubernetes
kubectl set env deployment/myapp DAPR_LOG_LEVEL=debug
This troubleshooter integrates with:
config-validator - Validates component YAML syntaxdapr-debugger agent - Deep debugging assistanceazure-deployer agent - Azure-specific troubleshootingtools
# dataverse-web-apps This skill provides guidance on building web applications (any language) that connect to Microsoft Dataverse. Use when users ask about ".NET Dataverse", "Node.js Dataverse", "JavaScript Dataverse", "REST API Dataverse", "web app Dataverse", "OAuth Dataverse", or need help with web application integration. ## Dataverse Web API All languages can access Dataverse via the OData Web API. **Base URL:** `https://yourorg.api.crm.dynamics.com/api/data/v9.2/` ### Authentication
tools
# dataverse-sdk This skill provides guidance on using the PowerPlatform Dataverse Client SDK for Python. Use when users ask about "Dataverse SDK", "Dataverse Python", "DataverseClient", "Dataverse authentication", "Dataverse CRUD operations", "create Dataverse records", "query Dataverse", "Dataverse connection", or need help with the Microsoft Dataverse Python SDK. ## Quick Start Install the SDK: ```bash pip install PowerPlatform-Dataverse-Client azure-identity ``` Basic setup: ```python fro
tools
# dataverse-schema-design This skill provides guidance on designing Dataverse table schemas and data models. Use when users ask about "Dataverse table design", "Dataverse schema", "Dataverse relationships", "Dataverse columns", "data modeling Dataverse", "Dataverse best practices", or need help designing their data structure. ## Table Design Fundamentals ### Naming Conventions - **Table prefix**: Use publisher prefix (e.g., `new_`, `cr123_`) - **Table names**: PascalCase, singular (e.g., `new
tools
# dataverse-queries This skill provides guidance on querying data from Microsoft Dataverse. Use when users ask about "Dataverse query", "OData filter", "Dataverse SQL", "FetchXML", "query Dataverse records", "Dataverse filter syntax", "search Dataverse", or need help constructing queries. ## Query Methods The Dataverse SDK supports two query methods: 1. **OData queries** - Standard Web API query syntax 2. **SQL queries** - T-SQL-like syntax (read-only) ## OData Query Basics ```python # Basi