agentleFS
PaulRBergPaulRBerg/dot-agents/skills/effect-ts/SKILL.md

effect-ts

Skill6 starsChanged 6 days agoMITView on GitHub

Apply Effect 4 semantics from project-local architecture, the narrowest relevant reference, and source matching the target's installed packages. Do not activate this workflow merely because a file imports effect. For nontrivial Effect work: 1. Resolve the target package or workspace and its exact installed effect and relevant @effect/* versions. If effect is 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. 2. Confirm lockstep versions:…

18 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use shadcn and web-design-guidelines.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • DatabricksSkill

    shadcn

    Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".

    Also in 3 projects that use this

  • VercelSkill

    web-design-guidelines

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Do not activate this workflow merely because a file imports effect.

    line 19
  2. Very specific:

    Read references/critical-rules.md, then only the task-specific references below.

    line 28
  3. Distinctive:

    Verify every uncertain import, signature, or behavior against the package installation visible to the target workspace before editing.

    line 29
  4. Distinctive:

    Use the target workspace's manifest and lockfile to identify versions.

    line 36
  5. Distinctive:

    Do not install or update dependencies solely to obtain documentation.

    line 48
  6. Distinctive:

    Keep pure helpers, constants, and path manipulation pure unless an Effect boundary provides a concrete dependency, testability, …

    line 87
  7. Distinctive:

    Do not broaden environment requirements merely to replace a small platform call.

    line 92

“Common” is measured: kept by at least 6 in 10 of the 17 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. Resolve the target package or workspace and its exact installed effect and relevant @effect/* versions. If effect is 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.
  2. Confirm lockstep versions: every @effect/* package must match the installed effect version exactly. Report a mismatch instead of coding around it.
  3. Inspect neighboring services, layers, errors, schemas, runtime boundaries, and tests. Local conventions decide organization. Installed package evidence decides API facts.
  4. Read references/critical-rules.md, then only the task-specific references below.
  5. 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.
  6. 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:

  1. the installed package's src/, README, tests, and changelog.
  2. its emitted declarations when source is not shipped.
  3. 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, FileSystem, and Path. From 4.1.0, the effect/crypto modules (SecureRandom, Digest, ...) replace root Crypto. Runtime *Services layers no longer include them. Provide a platform layer such as NodeCrypto.layer.

Reference Router

TaskReference
Services, Layers, Context.Service, fnreferences/services-layers.md
Config providers and secretsreferences/config.md
Schema, JSON Schema, encoded errors/modelsreferences/schema-jsonschema.md
@effect/vitest, clocks, fibers, retriesreferences/testing.md
resources, scheduling, refs, concurrencyreferences/runtime.md
streams and backpressurereferences/streams.md
pattern matching and tagged unionsreferences/pattern-matching.md
effect/ai and @effect/ai-*references/ai.md
effect/sql and @effect/sql-*references/sql.md
Next.js / @prb/effect-nextreferences/next-js.md
Effect Atom (effect/reactivity, @effect/atom-*)references/effect-atom.md
Option at nullable boundariesreferences/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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.