# Effect V4

Write, review, or upgrade Effect v4 code in the Composio CLI, cli-keyring, and...

- Repository: https://github.com/ComposioHQ/composio (30865 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add ComposioHQ/composio --skill effect-v4 -g -a claude-code -y`
Codex: `npx skills add ComposioHQ/composio --skill effect-v4 -g -a codex -y`
Cursor: `npx skills add ComposioHQ/composio --skill effect-v4 -g -a cursor -y`
Gemini CLI: `npx skills add ComposioHQ/composio --skill effect-v4 -g -a gemini-cli -y`

## Description

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.5, 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).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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.5`, 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](versions.json) for the full matrix (also `typescript`, `vitest`).

## Read next

- [references/core-patterns.md](references/core-patterns.md), services, layers, typed
  errors, Schema, choosing between `Effect.gen` and `Effect.fn`, `Option` combinators in
  place of `isSome` ternaries, driving time in tests with
  `TestClock` (fork, adjust until the fiber settles, join) instead of `it.live`, and the v3→v4 rename table
  (labeled historical, for recognizing stale patterns).
- [references/cli-surface.md](references/cli-surface.md), `effect/cli`:
  `Command`, `Flag`, `Argument`, `GlobalFlag`, `CliConfig`, the custom
  `CliOutput.Formatter`, and the runner's double-print rule.
- [references/upgrade-workflow.md](references/upgrade-workflow.md), procedure for
  bumping to a newer release.

References label source excerpts and standalone framework examples separately. Repo-linked
excerpts name the file checked by `validate:cli-skills`. The cited source remains authoritative
when an excerpt or explanation disagrees with the implementation.

## Non-negotiables

The rest: https://github.com/ComposioHQ/composio/blob/HEAD/.agents/skills/effect-v4/SKILL.md
