Arrow Typed Errors
SkillAI & modelsModels Kotlin logical failures with Arrow's context-parameter Raise DSL and wrappers such as Either, nullable, Option, and Ior. Use when implementing or simplifying typed-error flows, translating error types, replacing verbose Either handling, validating input with accumulation, or selecting an error wrapper.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Arrow Typed Errors skill
What this skill tells your AI
The instructions your AI receives, as published by alexandru/social-publish in .agents/skills/arrow-typed-errors/SKILL.md and read by ahel’s review.
Quick start
- Distinguish expected domain failures from exceptional faults before selecting an API.
- For new code, prefer context-parameter computations (
context(_: Raise<E>)) and run them into a wrapper at a boundary witheither { ... },nullable { ... },option { ... }, orior(...) { ... }. - Use
Eitheroperators for routine propagation and transformation; do not pattern match only to reconstructLeftorRight. - Use
whenwhen the domain genuinely branches by case or when matching a multi-state wrapper directly communicates intent.
Workflow
- Model domain failures as focused sealed types.
- Choose fail-fast composition or independent validation accumulation.
- Implement internal logic in a
Raise<E>context and expose an appropriate wrapper at the public boundary. - Bind nested typed computations and translate their errors at the layer boundary.
- Convert only expected, recoverable exceptions into typed failures.
- Inspect the result with a combinator or intentional case analysis at the consumer boundary.
- Type-check examples when introducing a less familiar Arrow API or upgrading Arrow/Kotlin.
- When changing examples, update and run the bundled
scripts/verify-examples.ktcheck.
References
- Load references/typed-errors.md for context-parameter API examples, imports, validation, wrapper usage, and the checked sample location.
- Load references/best-practices.md when designing or reviewing code, especially to simplify verbose
Eitherhandling without turningwheninto a blanket prohibition.
Signals
- GitHub stars
- 62
- Forks
- 3
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
arrow-typed-errors- Source
- github.com/alexandru/social-publish