Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
anomalyco avatar

Effect

  • 41 installs
  • 193k repo stars
  • Updated August 5, 2026
  • anomalyco/opencode

effect is a skill for writing Effect v4 / effect-smol TypeScript services, schemas and workflows verified against the current Effect source.

About

effect is a skill for writing Effect v4 / effect-smol TypeScript code in a repo that uses Effect for typed, composable services, schemas and workflows. A developer uses it to follow current Effect v4 APIs and project-local patterns instead of older v2/v3 examples or memory. It prescribes verifying APIs against a cloned effect-smol source, using Effect.gen and Schema, modeling typed domain errors, and keeping HTTP handlers thin with business rules in services.

  • Guides writing Effect v4 / effect-smol TypeScript services, schemas and workflows
  • Requires verifying against cloned effect-smol source, not memory
  • Prescribes Effect.gen, Schema, typed errors and thin HTTP handlers

Effect by the numbers

  • 41 all-time installs (skills.sh)
  • Ranked #3,278 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

effect capabilities & compatibility

Capabilities
effect ts · typescript services · schema modeling · typed errors
Works with
github
Use cases
api development · testing
From the docs

What effect says it does

This codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.
SKILL.md
Do not answer from memory. Verify against `.opencode/references/effect-smol` or nearby code first.
SKILL.md
npx skills add https://github.com/anomalyco/opencode --skill effect

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs41
repo stars193k
Last updatedAugust 5, 2026
Repositoryanomalyco/opencode

What it does

Write and test Effect v4 TypeScript services, schemas and workflows against the current effect-smol source.

Who is it for?

Writing idiomatic Effect v4 TypeScript services, schemas and typed errors.

Skip if: Older Effect v2/v3 codebases or answering from memory without checking the effect-smol source.

When should I use this skill?

Implementing or answering Effect-specific TypeScript code in an Effect v4 repo.

What you get

Effect v4 code that uses Effect.gen, Schema and typed errors, verified against the cloned effect-smol source and local repo style.

By the numbers

  • targets Effect v4 / effect-smol
  • clones github.com/Effect-TS/effect-smol as reference

Files

SKILL.mdMarkdownGitHub ↗

Effect

This codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.

Source Of Truth

Use the current Effect v4 / effect-smol source, not memory or older Effect v2/v3 examples.

1. If .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. 2. Search .opencode/references/effect-smol for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code. 3. Also inspect existing repo code for local house style before introducing new patterns. 4. Prefer answers and implementations backed by specific source files or nearby repo examples.

Guidelines

  • Prefer current Effect v4 APIs and project-local patterns over old blog posts, examples, or package-memory guesses.
  • Use Effect.gen(function* () { ... }) for multi-step workflows.
  • Use Effect.fn("Name") or Effect.fnUntraced(...) for named effects when adding reusable service methods or important workflows.
  • Prefer Effect Schema for API and domain data shapes. Use branded schemas for IDs and Schema.TaggedErrorClass for typed domain errors when modeling new error surfaces.
  • Keep HTTP handlers thin: decode input, read request context, call services, and map transport errors. Put business rules in services.
  • In Effect service code, prefer Effect-aware platform abstractions and dependencies over ad hoc promises where the surrounding code already does so.
  • Keep layer composition explicit. Avoid broad hidden provisioning that makes missing dependencies hard to see.
  • In tests, prefer the repo's existing Effect test helpers and live tests for filesystem, git, child process, locks, or timing behavior.
  • Do not introduce any, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types.
  • Do not answer from memory. Verify against .opencode/references/effect-smol or nearby code first.

Testing Patterns

  • Use testEffect(...) from packages/opencode/test/lib/effect.ts for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.
  • Use it.live(...) for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.
  • Run tests from package directories such as packages/opencode; never run package tests from the repo root.
  • Prefer explicit test layers over ad hoc managed runtimes. Keep dependency provisioning visible in the test file.
  • Use scoped fixtures and finalizers for resources that must be cleaned up, including temporary directories, flags, databases, fibers, servers, and global state.

Related skills

FAQ

Should I code Effect from memory?

No, the docs say do not answer from memory and to verify against .opencode/references/effect-smol or nearby code first.

Which test helper for Effect services?

The docs prescribe testEffect from packages/opencode/test/lib/effect.ts for Effect service and layer tests.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.