better-result is a TypeScript library that represents either a successful value or an expected failure as a typed Result, allowing multi-step workflows to stop when an operation fails. TypeScript developers use it to make recoverable errors explicit while keeping unexpected exceptions as thrown defects. The catalogue skills and instruction support working with the library.
Borrowing it
Nothing to install: this file belongs to dmmulroy/better-result. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/dmmulroy/better-result/main/.agents/skills/audit-better-result-dependents/SKILL.mdgit clone --depth 1 https://github.com/dmmulroy/better-resultWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dmmulroy/better-result/audit-better-result-dependents)<a href="https://agentmods.dev/skills/dmmulroy/better-result/audit-better-result-dependents"><img src="https://agentmods.dev/badge/skills/dmmulroy/better-result/audit-better-result-dependents/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dmmulroy/better-result/audit-better-result-dependents"><img src="https://agentmods.dev/badge/skills/dmmulroy/better-result/audit-better-result-dependents.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.00646 |
| Opus 5 | $0.00031 | $0.00323 |
| Sonnet 5 | $0.00012 | $0.00129 |
| Haiku 4.5 | $0.00006 | $0.00065 |
Grade A, and why
audit-better-result-dependents scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Audit better-result dependents
Quick start
From the better-result repo, run the audit script with identifiers touched by the change:
node .agents/skills/audit-better-result-dependents/scripts/audit-dependents.mjs isTaggedError 'TaggedError\.is' 'toJSON'
If no patterns are provided, the script searches common better-result usage patterns.
Scope
Always check these npm dependents:
@prisma/compute-sdk@prisma/streams-server@prisma/streams-localcreate-better-t-stack@better-t-stack/template-generator
The script uses npm registry metadata to resolve latest versions and commits. For public GitHub repos it checks out the published gitHead; if a repo is private/unavailable, it falls back to npm pack and audits the published source/package.
Workflow
-
Identify risk surface
- List changed public exports, guards, types, class methods, overloads, and runtime semantics.
- Convert them into grep patterns, escaping regex metacharacters when needed.
-
Run local validation first
bun run fmtbun run checkbun run testbun run lint
-
Audit dependents
- Run the script with risk patterns.
- Inspect actual matching files with
read; do not rely only on counts. - Distinguish generic guards (e.g.
isTaggedError) from class-specific guards (e.g.FooError.is).
-
Assess breakage
- Runtime breaking: dependent passes values that no longer satisfy a changed guard/shape.
- Type breaking: dependent references narrowed types, overloads, exported names, or structural constraints that changed.
- Safe: dependent only creates
TaggedError(...)instances or uses class-specific.is()unaffected by the change.
-
Report clearly
- Include package name, version, source audited (GitHub commit or npm package), relevant matches, and risk conclusion.
- If opening a PR, include the dependent audit summary in the PR body.
Notes
@prisma/compute-sdkmay point at a private/404 GitHub repo; audit the npm package source when cloning fails.@prisma/streams-serverand@prisma/streams-localshare theprisma/streamsrepo and usually the samegitHead.create-better-t-stackand@better-t-stack/template-generatorshare theAmanVarshney01/create-better-t-stackrepo and usually the samegitHead.- Never modify cloned dependent repositories during audit; use temp directories only.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 62 lines · 62 tokens per session scan A b30abe05916f
audit-better-result-dependents is a skill published in the GitHub repository dmmulroy/better-result (1,958 stars, last pushed 18d ago), licensed MIT. It adds 62 tokens to every session and 646 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
review-logging-patterns
Review code for logging patterns and suggest evlog adoption. Optionally use @evlog/cli (evlog init to wire evlog, evlog agents to write the conventions into AGENTS.md, evlog map to score entry-point coverage, --baseline to gate regressions in CI) on Nuxt, Nitro, Next.js, TanStack Start, and Hono. Guides setup on those…
self-review
Weekly pass over the evlog repository and Evi's own surface, in two halves — what has drifted out of coherence (a capability wired but never consumed, code contradicting a written guide, a description promising a tool the allowlist lacks), and what is missing (a capability worth having, a manual step worth automating…
repo-health-sweep
Bi-weekly pass over the whole evlog repository, not just the agent's own surface. Checks every SKILL.md against the real package surface, the docs tree for stale or self-contradictory pages, the repo's own conventions, and the examples against the current API. Load this when the repo-health-sweep schedule fires, or…
software-code-review
Evaluate source code for correctness, quality, security, style conformance, and maintainability, producing a structured review report with findings and recommendations. Use when the user wants to review, critique, audit, evaluate, or inspect source code — checking for bugs, logic errors, unhandled error paths…
compact-error-handling
Reduce repeated exception-handling code with language-appropriate constructs while preserving error propagation and diagnostics.
Loading State Transition Review
Detect missing loading/error/empty state handling that could trap users in spinners or disabled states.