m13-domain-error은(는) 무엇을 하나요?
도메인 오류 처리를 설계할 때 사용합니다. 키워드: 도메인 오류, 오류 분류, 복구 전략, 재시도, 폴백, 도메인 오류 계층 구조, 사용자 대상 vs 내부 오류, 오류 코드 설계, 회로 차단기, 우아한 성능 저하, 복원력, 오류 컨텍스트, 백오프, 백오프 재시도, 오류 복구, 일시적 vs 영구적 오류
도메인 오류 처리를 설계할 때 사용합니다. 키워드: 도메인 오류, 오류 분류, 복구 전략, 재시도, 폴백, 도메인 오류 계층 구조, 사용자 대상 vs 내부 오류, 오류 코드 설계, 회로 차단기, 우아한 성능 저하, 복원력, 오류 컨텍스트, 백오프, 백오프 재시도, 오류 복구, 일시적 vs 영구적 오류
이 스킬은 소프트웨어 시스템에서 도메인 오류 처리를 체계적으로 설계하기 위한 가이드를 제공합니다. 도메인 오류 계층 구조, 오류 분류(일시적 vs 영구적 오류), 복구 전략(재시도, 폴백, 회로 차단기), 사용자 대상 오류와 내부 오류의 분리, 오류 코드 설계 등 핵심 패턴을 설명합니다. 이를 통해 개발자는 복원력(resilience) 있고 유지보수하기 쉬운 오류 처리 시스템을 구축할 수 있으며, 특히 마이크로서비스 및 분산 시스템에서 중요한 우아한 성능 저하(graceful degradation)와 재시도 백오프(retry with backoff) 전략을 효과적으로 적용할 수 있습니다. 다양한 AI 에이전트 플랫폼(Claude Code, Cursor, Codex 등)에서 사용할 수 있으며, SKILL.md 문서를 기반으로 도메인 주도 설계(DDD) 원칙에 부합하는 오류 처리 아키텍처를 제안합니다.
npx skills add https://github.com/actionbook/rust-skills/tree/main/skills/m13-domain-error도메인 오류 처리를 설계할 때 사용합니다. 키워드: 도메인 오류, 오류 분류, 복구 전략, 재시도, 폴백, 도메인 오류 계층 구조, 사용자 대상 vs 내부 오류, 오류 코드 설계, 회로 차단기, 우아한 성능 저하, 복원력, 오류 컨텍스트, 백오프, 백오프 재시도, 오류 복구, 일시적 vs 영구적 오류
This repo contains 13 individual skills — each has its own dedicated page.
CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期
CRITICAL: Use for smart pointers and resource management. Triggers: Box, Rc, Arc, Weak, RefCell, Cell, smart pointer, heap allocation, reference counting, RAII, Drop, should I use Box or Rc, when to use Arc vs Rc, 智能指针, 引用计数, 堆分配
CRITICAL: Use for mutability issues. Triggers: E0596, E0499, E0502, cannot borrow as mutable, already borrowed as immutable, mut, &mut, interior mutability, Cell, RefCell, Mutex, RwLock, 可变性, 内部可变性, 借用冲突
CRITICAL: Use for generics, traits, zero-cost abstraction. Triggers: E0277, E0308, E0599, generic, trait, impl, dyn, where, monomorphization, static dispatch, dynamic dispatch, impl Trait, trait bound not satisfied, 泛型, 特征, 零成本抽象, 单态化
CRITICAL: Use for type-driven design. Triggers: type state, PhantomData, newtype, marker trait, builder pattern, make invalid states unrepresentable, compile-time validation, sealed trait, ZST, 类型状态, 新类型模式, 类型驱动设计
CRITICAL: Use for error handling. Triggers: Result, Option, Error, ?, unwrap, expect, panic, anyhow, thiserror, when to panic vs return Result, custom error, error propagation, 错误处理, Result 用法, 什么时候用 panic
CRITICAL: Use for concurrency/async. Triggers: E0277 Send Sync, cannot be sent between threads, thread, spawn, channel, mpsc, Mutex, RwLock, Atomic, async, await, Future, tokio, deadlock, race condition, 并发, 线程, 异步, 死锁
CRITICAL: Use for domain modeling. Triggers: domain model, DDD, domain-driven design, entity, value object, aggregate, repository pattern, business rules, validation, invariant, 领域模型, 领域驱动设计, 业务规则
CRITICAL: Use for performance optimization. Triggers: performance, optimization, benchmark, profiling, flamegraph, criterion, slow, fast, allocation, cache, SIMD, make it faster, 性能优化, 基准测试
Use when integrating crates or ecosystem questions. Keywords: E0425, E0433, E0603, crate, cargo, dependency, feature flag, workspace, which crate to use, using external C libraries, creating Python extensions, PyO3, wasm, WebAssembly, bindgen, cbindgen, napi-rs, cannot find, private, crate recommendation, best crate for, Cargo.toml, features, crate 推荐, 依赖管理, 特性标志, 工作空间, Python 绑定
Use when designing resource lifecycles. Keywords: RAII, Drop, resource lifecycle, connection pool, lazy initialization, connection pool design, resource cleanup patterns, cleanup, scope, OnceCell, Lazy, once_cell, OnceLock, transaction, session management, when is Drop called, cleanup on error, guard pattern, scope guard, 资源生命周期, 连接池, 惰性初始化, 资源清理, RAII 模式
Use when learning Rust concepts. Keywords: mental model, how to think about ownership, understanding borrow checker, visualizing memory layout, analogy, misconception, explaining ownership, why does Rust, help me understand, confused about, learning Rust, explain like I'm, ELI5, intuition for, coming from Java, coming from Python, 心智模型, 如何理解所有权, 学习 Rust, Rust 入门, 为什么 Rust
CRITICAL: Use for unsafe Rust code review and FFI. Triggers on: unsafe, raw pointer, FFI, extern, transmute, *mut, *const, union, #[repr(C)], libc, std::ffi, MaybeUninit, NonNull, SAFETY comment, soundness, undefined behavior, UB, safe wrapper, memory layout, bindgen, cbindgen, CString, CStr, 安全抽象, 裸指针, 外部函数接口, 内存布局, 不安全代码, FFI 绑定, 未定义行为
ElevenLabs text-to-speech with mac-style say UX.
Oracle CLI second-model review/debug/refactor/design with selected files, dry-run token checks, API or browser engine.
Capture and automate macOS UI with the Peekaboo CLI.
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".