reidond/kedra/m13-domain-error
Claude Code and agent skill by reidond/kedra
- community
Checking that the SKILL.md file is still in the repository.
Use when designing domain error handling. Keywords: domain error, error categorization, recovery strategy, retry, fallback, domain error hierarchy, user-facing vs internal errors, error code design, circuit breaker, graceful degradation, resilience, error context, backoff, retry with backoff, error recovery, transient vs permanent error, 领域错误, 错误分类, 恢复策略, 重试, 熔断器, 优雅降级
Install
npx vskill@latest install reidond/kedra/m13-domain-errorSKILL.md
The same SKILL.md was published earlier as majiayu000/claude-skill-registry/m13-domain-error.
Domain Error Strategy
Layer 2: Design Choices
Core Question
Who needs to handle this error, and how should they recover?
Before designing error types:
- Is this user-facing or internal?
- Is recovery possible?
- What context is needed for debugging?
Error Categorization
| Error Type | Audience | Recovery | Example | |
|---|---|---|---|---|
| User-facing | End users | Guide action | InvalidEmail, NotFound | |
| Internal | Developers | Debug info | DatabaseError, ParseError | |
| System | Ops/SRE | Monitor/alert | ConnectionTimeout, RateLimited | |
| Transient | Automation | Retry | NetworkError, ServiceUnavailable | |
| Permanent | Human | Investigate | ConfigInvalid, DataCorrupted |
Thinking Prompt
Before designing error types:
- Who sees this error?
- End user → friendly message, actionable
- Developer → detailed, debuggable
- Ops → structured, alertable
- Can we recover?
- Transient → retry with backoff
- Degradable → fallback value
- Permanent → fail fast, alert
- What context is needed?
- Call chain → anyhow::Context
- Request ID → structured logging
- Input data → error payload
Trace Up ↑
To domain constraints (Layer 3):
| Question | Trace To | Ask | |
|---|---|---|---|
| Retry policy | domain-* | What's acceptable latency for retry? | |
| User experience | domain-* | What message should users see? | |
| Compliance | domain-* | What must be logged for audit? |
Trace Down ↓
To implementation (Layer 1):
Quick Reference
| Recovery Pattern | When | Implementation | |
|---|---|---|---|
| Retry | Transient failures | exponential backoff | |
| Fallback | Degraded mode | cached/default value | |
| Circuit Breaker | Cascading failures | failsafe-rs | |
| Timeout | Slow operations | tokio::time::timeout | |
| Bulkhead | Isolation | separate thread pools |
Error Hierarchy
Retry Pattern
Common Mistakes
| Mistake | Why Wrong | Better | |
|---|---|---|---|
| Same error for all | No actionability | Categorize by audience | |
| Retry everything | Wasted resources | Only transient errors | |
| Infinite retry | DoS self | Max attempts + backoff | |
| Expose internal errors | Security risk | User-friendly messages | |
| No context | Hard to debug | .context() everywhere |
Anti-Patterns
| Anti-Pattern | Why Bad | Better | |
|---|---|---|---|
| String errors | No structure | thiserror types | |
| panic! for recoverable | Bad UX | Result with context | |
| Ignore errors | Silent failures | Log or propagate | |
| Box<dyn Error> everywhere | Lost type info | thiserror | |
| Error in happy path | Performance | Early validation |
Related Skills
| When | See | |
|---|---|---|
| Error handling basics | m06-error-handling | |
| Retry implementation | m07-concurrency | |
| Domain modeling | m09-domain | |
| User-facing APIs | domain-* |
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingusr/src/kedra/plugins/rust-skills/skills/m13-domain-error/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/reidond/kedra/m13-domain-error)