dmmulroy avatar

Better Result Adopt

This helps you introduce better-result into an existing TypeScript codebase without rewriting everything at once. It walks through replacing try/catch blocks, null sentinels, and thrown domain exceptions with typed Result workflows. The migration strategy is practical: start at I/O boundaries like HTTP clients and database calls, define your TaggedError types first, then refactor callers to propagate Result values using andThen or Result.gen. The transformation examples are concrete and cover the most common patterns you'll encounter. It's opinionated about not over-wrapping everything and keeping defects as throws instead of forcing them into Results. If you're tired of losing error context in catch blocks or passing around nulls to signal failure, this gives you a clear incremental path forward.

skills.sh installs
578
GitHub stars
2K
last updated
Aug 21, 2026

Install

$ npx -y skills add dmmulroy/better-result --skill better-result-adopt --agent claude-code

Installs into .claude/skills of the current project.

Files

This helps you introduce better-result into an existing TypeScript codebase without rewriting everything at once. It walks through replacing try/catch blocks, null sentinels, and thrown domain exceptions with typed Result workflows. The migration strategy is practical: start at I/O boundaries like HTTP clients and database calls, define your TaggedError types first, then refactor callers to propagate Result values using andThen or Result.gen. The transformation examples are concrete and cover the most common patterns you'll encounter. It's opinionated about not over-wrapping everything and keeping defects as throws instead of forcing them into Results. If you're tired of losing error context in catch blocks or passing around nulls to signal failure, this gives you a clear incremental path forward.

Browse the repository on GitHub

Sponsors

Details

Repository
github.com/dmmulroy/better-result
First seen
Jun 3, 2026

Recommended

1juliusbrussee avatarcavemanjuliusbrussee/cavemanUltra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full technical accuracy. Supports intensity levels618.3Kskills.sh installs
2mattpocock avatargrill-memattpocock/skillsA relentless interview to sharpen a plan or design.1.5Mskills.sh installs
3shadcn avatarimproveshadcn/improveSurvey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on s40Kskills.sh installs
4obra avatarsystematic-debuggingobra/superpowersUse when encountering any bug, test failure, or unexpected behavior, before proposing fixes326.7Kskills.sh installs
5forrestchang avatarkarpathy-guidelinesforrestchang/andrej-karpathy-skillsBehavioral guidelines to reduce common LLM coding mistakes through explicit assumptions, simplicity, and verifiable success criteria.17.9Kskills.sh installs
6vercel-labs avatarfind-skillsvercel-labs/skillsHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express int4.3Mskills.sh installs