Kotlin + Arrow typed error handling using Raise DSL and wrapper types (Either/Option/Ior/Result/nullable), including validation with accumulation, interop with exceptions, and custom error wrappers. Use for designing or refactoring error modeling, converting exception-based flows, building smart constructors, accumulating validation errors, or integrating Outcome/Progress-style wrappers with Arrow.
context(_: Raise<E>)) and run them into a wrapper at a boundary with either { ... }, nullable { ... }, option { ... }, or ior(...) { ... }.Either operators for routine propagation and transformation; do not pattern match only to reconstruct Left or Right.when when the domain genuinely branches by case or when matching a multi-state wrapper directly communicates intent.Raise<E> context and expose an appropriate wrapper at the public boundary.scripts/verify-examples.kt check.Either handling without turning when into a blanket prohibition.Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer