Effect V4
Write, review, or upgrade Effect v4 code in the Composio CLI, cli-keyring, and json-schema-to-eff…
by composiohq · MIT
The skill
Write, review, or upgrade Effect v4 code in the Composio CLI, cli-keyring, and json-schema-to-effect-schema packages, all pinned exactly to effect@4.0.3 — Context.Service and explicit layers, Schema.TaggedError and typed recovery, the effect/cli command surface, and the vendored effect source oracle. Use when writing or reviewing Effect v4 code, answering a v4 API question, working in effect/cli, defining a Context.Service service, modeling an error with Schema.TaggedError, bumping the Effect pins, or verifying an unfamiliar API against ts/vendor/effect. Do not use for CLI command UX/wiring design (use cli-command) or CLI E2E tests (use cli-e2e).
Effect v4
The CLI, @composio/cli-keyring, and @composio/json-schema-to-effect-schema run on
Effect v4. Every claim below is grounded in the migrated source, not memory of v3.
Exact version matrix
effect, @effect/platform-bun, and @effect/vitest
are pinned to the same exact 4.0.3 — never ^, @next, or a mismatched
version across packages. @effect/cli and @effect/platform no longer exist as
dependencies; their surfaces are consolidated into effect and effect/*.
See versions.json for the full matrix (also typescript, vitest).
Read next
- references/core-patterns.md — services, layers, typed
errors, Schema, choosing between
Effect.genandEffect.fn,Optioncombinators in place ofisSometernaries, driving time in tests withTestClock(fork, adjust until the fiber settles, join) instead ofit.live, and the v3→v4 rename table (labeled historical, for recognizing stale patterns). - references/cli-surface.md —
effect/cli:Command,Flag,Argument,GlobalFlag,CliConfig, the customCliOutput.Formatter, and the runner's double-print rule. - references/upgrade-workflow.md — procedure for bumping to a newer release.
Code excerpts in those references are short quotes from real, currently-compiling repo files (path cited at each excerpt) — not standalone examples. The compile-checked source of truth is always the cited file itself; when it and a reference disagree, trust the file and fix the reference.
Non-negotiables
Effect.gen(function* () {...})for effect values — the dominant form, including named module consts — and(params) => Effect.gen(...)for parameterized helpers.Effect.fn(...)is the function form whose effects carry stack-frame annotations (its optional name string adds a per-call tracing span), worth it for service members and combinator callbacks that should be attributable in error reports. All forms re-run their body per execution. See "Effect.genvsEffect.fn" in core-patterns.- Define services with
Context.Serviceand an explicitstatic readonly Default/layerlayer built withLayer.succeed/Layer.effect/Layer.provide. V4 does not generate a layer for you. - Model expected failures with
Schema.TaggedError(or a plainData.TaggedErrorwhen no Schema fields are needed) and recover withEffect.catchTag/catchTags/Match, never manual_tagstring comparisons. - Wrap fallible Promises with
Effect.tryPromise({ try, catch });Effect.promiseturns rejection into a defect. Noasync/awaitortry/catchinside Effect workflows — ESLint bans them ints/packages/cli/src. - Treat every remembered v3 package name and API as wrong until verified against
ts/vendor/effect(read-only source oracle — never edit or import from it) and the installedeffect@4.0.3typings. Source may be ahead of the published package; the compiler is the compatibility gate.
Verification
pnpm typecheck
pnpm --filter @composio/cli test
Run pnpm validate:agent-skills and pnpm validate:skill-routing after editing this
skill or its descriptions, and compile the TypeScript blocks in this skill and in
typescript-testing/references/effect-v4-cli.md against the pinned packages with:
node .agents/skills/effect-v4/scripts/check-examples.mjs
Blocks that quote repo files with unresolvable imports carry a no-check fence info string.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: composiohq/effect-v4-19980424819.
Details
- Publisher
- composiohq
- Category
- Software Development › Languages & frameworks
- License
- MIT
- Updated
- 2026-10-17
References
More from composiohq
- Connect Apps Connect Claude to external apps like Gmail, Slack, GitHub.
- Connect Connect Claude to any app.
- Docx Comprehensive document creation, editing, and analysis with support for tracked changes, comments…
- Pdf Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging…