
effect-ts
Use for nontrivial Effect 4 work including services/layers, typed errors, Schema/JsonSchema, Config, runtime/concurrency, @effect/vitest, effect/ai and @effect/ai-, effect/sql and @effect/sql-, Effect Atom (@effect/atom-), or @prb/effect-next.
- Installs
- 3.1K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/paulrberg/agent-skills --skill effect-ts- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads effect-ts automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Effect 4
Apply Effect 4 semantics from project-local architecture, the narrowest relevant reference, and source matching the target's installed packages.
Workflow
Do not activate this workflow merely because a file imports effect. For nontrivial Effect work:
- Resolve the target package or workspace and its exact installed
effectand relevant@effect/*versions. Ifeffectis not 4.x, stop because this skill does not apply. For 3.x, point the user to the v3 skill:npx skills add PaulRBerg/agent-skills#shelved --skill effect-ts-v3. - Confirm lockstep versions: every
@effect/*package must match the installedeffectversion exactly. Report a mismatch instead of coding around it. - Inspect neighboring services, layers, errors, schemas, runtime boundaries, and tests. Local conventions decide organization. Installed package evidence decides API facts.
- Read
references/critical-rules.md, then only the task-specific references below. - Verify every uncertain import, signature, or behavior against the package installation visible to the target workspace before editing. Do not port v3 names from memory. Many were renamed or removed.
- Implement the smallest pattern consistent with the project and run the narrowest test or typecheck covering the changed semantics.
Evidence Order
Use the target workspace's manifest and lockfile to identify versions. Prefer, in order:
- the installed package's
src/, README, tests, and changelog. - its emitted declarations when source is not shipped.
- the matching official package artifact or source tag.
For monorepo source, tests, or cross-package search, run scripts/effect-source.sh. It keeps a cached clone of
Effect-TS/effect checked out at the newest release, fetching at most once per 24 hours and otherwise reusing the
cache, and prints path= and release=. When release differs from the installed effect version, read the matching
tag without checking it out: git -C <path> grep <pattern> effect@<version> -- packages/ or
git -C <path> show effect@<version>:<file>. Never edit the cache.
Do not install or update dependencies solely to obtain documentation. Do not trust v3 examples or source that does not match the target's installed version. If exact behavior cannot be verified, stop rather than guessing.
Former @effect/platform, @effect/rpc, @effect/cli, @effect/cluster, and related modules now ship inside effect
under subpaths such as effect/http, effect/http-api, effect/rpc, effect/cli, effect/ai, effect/sql,
effect/schema, effect/reactivity, and effect/workflow. Check the installed package.json exports for the exact
set. These modules are documented @stability unstable and may break in minor releases. There are no
effect/unstable/* compatibility paths. Separate packages remain for platforms, drivers, and providers:
@effect/platform-*, @effect/sql-*, @effect/ai-*, @effect/atom-*, @effect/opentelemetry, and @effect/vitest.
Their modules are also @stability unstable.
From 4.0.2, every module and directly importable export declares @stability. Check the tag before you depend on an
API. stable follows strict semver. experimental modules, such as effect/graphql and parts of effect/net, may
break in patch releases. Some root modules are also unstable, such as Arbitrary, Crypto, FileSystem, and Path.
Reference Router
| Task | Reference |
|---|---|
Services, Layers, Context.Service, fn | references/services-layers.md |
| Config providers and secrets | references/config.md |
| Schema, JSON Schema, encoded errors/models | references/schema-jsonschema.md |
@effect/vitest, clocks, fibers, retries | references/testing.md |
| resources, scheduling, refs, concurrency | references/runtime.md |
| streams and backpressure | references/streams.md |
| pattern matching and tagged unions | references/pattern-matching.md |
effect/ai and @effect/ai-* | references/ai.md |
effect/sql and @effect/sql-* | references/sql.md |
Next.js / @prb/effect-next | references/next-js.md |
Effect Atom (effect/reactivity, @effect/atom-*) | references/effect-atom.md |
Option at nullable boundaries | references/option-null.md |
For effect/http, effect/http-api, effect/rpc, effect/cli, collection utilities, deprecations, or constructor
lookup, inspect the installed package source directly instead of loading a local API inventory.
Boundaries
- Keep pure helpers, constants, and path manipulation pure unless an Effect boundary provides a concrete dependency, testability, resource-safety, or error-model benefit.
- Preserve existing domain facades and service/runtime boundaries unless the user requested redesign.
- At IO boundaries, prefer typed failures and scoped resources. Choose Schema-backed errors/models only when encoding or boundary validation is needed.
- Do not broaden environment requirements merely to replace a small platform call.
For changes, completion requires code consistent with local Effect architecture, selected references and installed
source where needed, and the narrowest test/typecheck that exercises the changed semantics. Read-only work requires
evidence for the reported conclusion. Finish with ### ⚡ Effect — ✅ change complete after verified edits or
### ⚡ Effect — 🔎 reviewed, no files written for read-only work, one sentence naming the boundary or pattern used,
and ### 🧪 Verification with exact scoped commands/results. If required validation is incomplete, use
### ⚡ Effect — ⛔ blocked instead. Add ### ⚠️ Limitation only for non-blocking caveats. Never decorate typed
errors, Schema messages, logs, tests, generated JSON/API responses, or command output.
FAQ
What does the effect-ts skill do?
Use for nontrivial Effect 4 work including services/layers, typed errors, Schema/JsonSchema, Config, runtime/concurrency, @effect/vitest, effect/ai and @effect/ai-, effect/sql and @effect/sql-, Effect Atom (@effect/atom-), or @prb/effect-next.
How do I install effect-ts?
Run npx skills add https://github.com/paulrberg/agent-skills --skill effect-ts in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/effect-ts/ (personal) or .claude/skills/effect-ts/ (project).
Which AI agents can use effect-ts?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is effect-ts safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains effect-ts?
It is published by paulrberg in paulrberg/agent-skills. It has 3,117 recorded installs.
More from paulrberg/agent-skills
tailwind-css
paulrberg/agent-skills
Use for Tailwind v4 styling: add/fix classes, configure or migrate Tailwind, use tailwind-variants, or tw-animate-css.
cli-gh
paulrberg/agent-skills
Use for GitHub CLI automation: repository reads, workflow runs, search, codespaces, releases, configuration, or gh command syntax. Use yeet for contribution writes to PRs, issues, comments, or discussions.
code-polish
paulrberg/agent-skills
Polish changed code when the user explicitly asks, or when an active workflow requests post-implementation simplification and risk-profiled review over a fixed file scope.
yeet
paulrberg/agent-skills
Use for GitHub PR/issue/discussion workflows: create/update PRs, issues, or discussions and post issue or discussion comments; triggers include yeet.
bump-release
paulrberg/agent-skills
Cut a release: bump versions, write changelogs, commit, tag.
bump-deps
paulrberg/agent-skills
Use for dependency updates: bump npm/pnpm/yarn/bun packages, check outdated, or run taze.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.