Stats
Actions
Tags
From Prisma
Use when writing or reviewing code that returns Maybe<T> from the @efesto-cloud/maybe package.
How this skill is triggered — by the user, by Claude, or both
Slash command
/Prisma:monad-maybeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Installation:** If not already installed, add the package with `pnpm add @efesto-cloud/maybe`.
Installation: If not already installed, add the package with pnpm add @efesto-cloud/maybe.
Use this skill to keep Maybe<T> usage simple and predictable.
Maybe.maybe(value).Maybe.some(value).Maybe.none().isSome() / isNone().else(() => defaultValue).Result when needed with toResult() — returns Result<T, NoneError>.fold(onNone, onSome) when both branches need to return the same type.run(fn => {...}) — Some runs the function, None does nothing.toObject() — returns ISome<T> | INone.Maybe.fromObject(obj) — reconstructs from { some: boolean, data: T | null }.Maybe.combine(m1, m2) — returns Maybe<[T1, T2]>.Maybe like Result.isFailure on Maybe..data without checking isSome() first.Maybe (Maybe.maybe(value)).if (m.isNone()) ... else m.datamap, flatMap, filter, foldm.else(() => defaultValue)Result<T, E>, convert once with toResult() and continue in Result flow.const maybeEmail = Maybe.maybe(input.email);
if (maybeEmail.isNone()) return Result.err(new Error("Missing email"));
return Result.ok(maybeEmail.data.trim());
const displayName = Maybe.maybe(user.nickname)
.filter((v) => v.length > 0)
.else(() => user.nome)
.data;
npx claudepluginhub efesto-cloud/lib --plugin PrismaCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.