.opencode/skills/effect/SKILL.md
This codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.
Use the current Effect v4 / effect-smol source, not memory or older Effect v2/v3 examples.
.opencode/references/effect-smol is missing, clone https://github.com/Effect-TS/effect-smol there. Do this in the project, not in the skill folder..opencode/references/effect-smol for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code.Effect.gen(function* () { ... }) for multi-step workflows.Effect.fn("Name") or Effect.fnUntraced(...) for named effects when adding reusable service methods or important workflows.Schema for API and domain data shapes. Use branded schemas for IDs and Schema.TaggedErrorClass for typed domain errors when modeling new error surfaces.any, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types..opencode/references/effect-smol or nearby code first.testEffect(...) from packages/opencode/test/lib/effect.ts for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.it.live(...) for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.packages/opencode; never run package tests from the repo root.