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.
/plugin marketplace add Sahib-Sawhney-WH/dapr-claude-plugin/plugin install dapr@dapr-marketplaceThis skill is limited to using the following tools:
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 troubleshootingThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.