One-click install
npx skills add https://github.com/franky47/taskmaster --skill errore-franky47
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: errore
Source: https://github.com/franky47/taskmaster/tree/main/.agents/skills/errore
Command: npx skills add https://github.com/franky47/taskmaster --skill errore-franky47

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

errore brings Go-style error handling to TypeScript by returning errors as values (Error | T) instead of throwing, enabling safer, more predictable control flow and easier debugging. This pattern reduces unhandled exceptions and supports typed error metadata, cause chaining, and type guards.

Core Features & Use Cases

  • Use createTaggedError to define domain errors with typed properties and fingerprinting.
  • Convert external library errors and rejections into structured errors via .catch and errore.try boundaries.
  • Use matchError, findCause, and partition to pattern-match, inspect causes, and split results for robust, composable flows.
  • Apply at the boundaries with third-party code and I/O to keep core logic flat and deterministic.

Quick Start

Use errore to implement error-as-values patterns across your TypeScript project.

Frequently Asked Questions about errore

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle TypeScript errors as values instead of throwing exceptions?

To handle TypeScript errors as values, you adopt a Go-style pattern by returning typed errors alongside results, converting thrown exceptions into structured values using boundary conversion utilities like .catch and errore.try for synchronous code.

What is the best way to type and pattern-match errors in TypeScript asynchronous APIs?

To type and pattern-match errors in TypeScript asynchronous APIs, define domain errors with createTaggedError and inspect cause chains using matchError and findCause, enabling structured pattern matching and robust composable flows.

How do I convert third-party library exceptions into structured typed errors in TypeScript?

To convert third-party library exceptions into structured typed errors in TypeScript, apply error conversion at code boundaries using .catch for asynchronous rejections, transforming unstructured throws into tagged errors with metadata and cause chains.

Can I use Go-style error handling patterns in TypeScript without losing type safety?

Yes, you can implement Go-style error handling in TypeScript without losing type safety by returning typed error values, using type guards to narrow error properties, and enforcing flat control flow with early returns for predictable execution.

Why should I use error-as-values boundary patterns instead of try-catch blocks in TypeScript?

Using error-as-values boundary patterns instead of try-catch blocks reduces unhandled exceptions by isolating external library errors at I/O boundaries, keeping core application logic flat, deterministic, and easier to debug with typed cause chains.

Does errore support inspecting nested error cause chains in TypeScript?

Yes, errore supports inspecting nested error cause chains in TypeScript by providing utilities like findCause to traverse the chain and partition to split results, enabling precise error identification and targeted recovery logic.