Agent skill
build-effect-ts-v3
Quellcode ansehen: yigitkonur/skills-by-yigitkonur
Installation
npx skills add yigitkonur/skills-by-yigitkonur --skill build-effect-ts-v311
Installationen
EU-hosted inference API
Power your AI agent skills with open-source models.
Drop-in OpenAI-compatible API. No data leaves Europe.
MiniMax
MiniMax M3
$0.40 / $1.40
per M tokens
Z.ai
GLM 5.3 Flash
$0.20 / $0.60
per M tokens
MoonshotAI
Kimi K3
$4.00 / $18.00
per M tokens
DeepSeek
DeepSeek V4.1 Flash
$0.40 / $1.40
per M tokens
Build Effect-TS v3
Build production-grade TypeScript applications with Effect-TS v3. Effect<A, E, R> is a lazy, typed, immutable description of work; services and layers carry dependencies; Schema validates boundaries; fibers run structured concurrency; Stream carries pull-based async data. Ecosystem: @effect/platform, @effect/sql (+ 11 driver packages), @effect/rpc, @effect/cli, @effect/vitest, @effect/opentelemetry, plus @effect-atom/atom-react for React.
For the structured index of every reference file, read references/00-reference-map.md.
When to use
- Building, refactoring, debugging, or testing Effect-TS v3 code (
effect@3.x) - Implementing typed tagged errors, services and layers, fibers, streams, caching, scheduling, observability with the
effectpackage - Working with
import { Effect, Layer, Schema, Stream } from "effect",Effect.gen(function*() { yield* … }),class X extends Effect.Service<X>()(...),class E extends Schema.TaggedError<E>("Tag")(...),Layer.provideMerge,Effect.fn("Service.method") - Building HTTP servers/clients with
@effect/platform, CLIs with@effect/cli, RPC with@effect/rpc, SQL with@effect/sql, tests with@effect/vitest, OTel with@effect/opentelemetry - Building React frontends with
@effect-atom/atom-react - Migrating Promise /
fp-ts/neverthrow/ RxJS code to Effect, or operating in gradual-adoption / portable-utility mode
Do NOT use this skill for:
- Effect-TS v4 / v4 beta — strictly v3 only; v4 syntax (
ServiceMap.Service,Schema.TaggedErrorClass, bareEffect.catch,Effect.forkChild,Effect.forkDetach,Schema.makeUnsafe,Resultmodule) is forbidden, see references/anti-patterns/19-v4-syntax-do-not-use.md fp-ts,neverthrow, or RxJS codebases that do not plan to adopt Effect — only the migration/ docs apply- Plain TypeScript without Effect, or other functional ecosystems (cats, ZIO)
Hard Rules (load-bearing — read before coding)
| Rule | Recovery |
|---|---|
Do not import from @effect/schema — deprecated since 3.10. Use import { Schema } from "effect" |
references/schema/20-deprecated-effect-schema.md |
Do not use v4 syntax: ServiceMap.Service, Schema.TaggedErrorClass, bare Effect.catch, Effect.forkChild, Effect.forkDetach, Schema.makeUnsafe, Result module |
references/anti-patterns/19-v4-syntax-do-not-use.md |
Do not throw inside Effect.gen — it becomes a defect. Use return yield* new TaggedError({...}) or Effect.fail(...) |
references/anti-patterns/03-throw-in-gen.md |
Do not write yield fx (no *) inside Effect.gen — yields the Effect object, not its value. Always yield* fx |
references/anti-patterns/02-yield-without-star.md |
Do not call Effect.runPromise / Effect.runSync inside library, service, or middleware code — only at program edges |
references/anti-patterns/04-runpromise-mid-code.md, references/anti-patterns/12-runsync-in-services.md |
Do not call Effect.all([...]) / Effect.forEach(...) / Stream.mapEffect without { concurrency: N } on lists > 5 items |
references/anti-patterns/05-unbounded-parallelism.md, references/concurrency/07-bounded-parallelism.md |
Do not use try / finally for cleanup — bypasses interruption. Use Effect.acquireRelease or Effect.ensuring |
references/anti-patterns/15-manual-cleanup.md |
Do not put null / undefined in domain types — use Option<T> |
references/anti-patterns/10-null-undefined-domain.md |
Do not use console.log — use Effect.log / logInfo / logError |
references/anti-patterns/08-console-log.md |
Do not read process.env directly — use Config.string("X") / Config.redacted("X") |
references/anti-patterns/09-process-env.md |
Do not use Option.getOrThrow — use Option.match |
references/anti-patterns/11-option-getorthrow.md |
Do not use as never / as any / as unknown to silence Effect type errors — find the real cause |
references/anti-patterns/17-type-assertions.md |
Do not catch with catchAll when catchTag / catchTags would preserve narrowing |
references/anti-patterns/06-catchall-vs-catchtag.md |
Do not invent generic error names (NotFoundError, Error) — use specific tagged errors (UserNotFoundError) so catchTag dispatches precisely |
references/anti-patterns/07-generic-error-types.md |
| Do not call parameterized layer constructors inline at provide-sites — store layers in module-level constants for memoization | references/anti-patterns/14-inline-layer-construction.md |
For the full anti-pattern catalog, read references/anti-patterns/01-overview.md.
Default Stance (load-bearing)
- Default to
Effect.ServiceoverContext.Tagfor business services. UseContext.Tagfor libraries with multiple implementations and for infrastructure with runtime injection (worker bindings, KV). - Default to
Schema.TaggedErroroverData.TaggedError. The Schema form is serializable across RPC / HTTP and integrates withHttpApiSchema.annotations({ status: 404 }). - Default to
import { Schema } from "effect". The@effect/schemapackage is deprecated since 3.10. The migration is import-only. - Default to
Effect.fn("Service.method")for named functions to gain automatic span tracing and stack traces. - Default to
Effect.genfor sequential / branching logic; default topipefor linear transformations. - Default to
{ concurrency: N }on everyEffect.all/Effect.forEach/Stream.mapEffectover a list of more than five items. - Default to
Layer.provideMergeoverLayer.providefor incremental composition (consumers can also use the merged service). UseLayer.mergeAllfor flat composition of independent layers. - Default to
NodeRuntime.runMainfor entry points (handles SIGINT / SIGTERM gracefully). UseManagedRuntimefor non-Effect framework integration (Hono, Express, Next.js route handlers). - Default to
acquireReleasefor resource lifecycles, nevertry / finally(which bypasses interruption). - Default to
return yield*when raising tagged errors insideEffect.genso TypeScript narrows the control flow.
Recovery Moves (symptom → fix)
| Symptom | Cause / fix |
|---|---|
Missing 'X' in the expected Effect context / Effect<A, E, X> not assignable to Effect<A, E, never> |
confused Layer.provide for Layer.provideMerge — see references/services-layers/12-layer-composition-gotchas.md, references/anti-patterns/13-layer-provide-confusion.md |
Effect.cachedWithTTL is not a function / unexpected double-yield |
API returns Effect<Effect<A,E,R>>; you yield twice — see references/caching/04-effect-cached.md |
SubscriptionRef.unsafeMake is not a function |
never call unsafeMake; use SubscriptionRef.make(initial) — see references/state/04-subscription-ref.md |
| AI hallucinated an API that doesn't exist | cross-check references/anti-patterns/18-ai-hallucinations.md and references/anti-patterns/19-v4-syntax-do-not-use.md |
Effect resolved with null unexpectedly |
Effect.promise swallowed the error as a defect — switch to Effect.tryPromise({ try, catch }), see references/anti-patterns/16-effect-promise-confusion.md |
| Tests pass with mocks but fail in prod | mocks were vi.mock. Replace with Layer.succeed(Service, mockImpl) — see references/testing/08-test-layers.md |
| Hanging Stream / never-ending program | infinite stream without take(N) / runHead — see references/streams/18-infinite-streams.md |
OOM on large Effect.all |
unbounded parallelism — add { concurrency: 10 }, see references/concurrency/07-bounded-parallelism.md |
| Finalizers not running on Ctrl-C | using try / finally instead of acquireRelease, or Effect.runPromise instead of NodeRuntime.runMain — see references/resource-management/03-acquire-release.md, references/platform/12-node-runtime.md |
| Stale logs / no traces in OTel | forgot NodeSdk.layer and OtlpTracer.layer — see references/observability/11-opentelemetry-setup.md |
| Header keys returned 404 | header keys must be lowercase in HttpApiEndpoint.setHeaders — see references/http-server/05-headers.md |
Cannot find module '@effect/schema' |
deprecated package; switch to import { Schema } from "effect" — see references/schema/20-deprecated-effect-schema.md |
Workflow / Routing
Load only the reference files needed for the current task.
1. Core: the Effect type, creation, running, combinators
Read references/core/01-effect-type.md, references/core/02-creating-effects.md, references/core/03-running-effects.md, references/core/04-pipelines.md, references/core/05-generators.md, references/core/06-gen-vs-pipe.md. For named service methods read references/core/07-effect-fn.md. For combinators read references/core/08-effect-all.md, references/core/09-effect-foreach.md, references/core/10-zip-and-tap.md, references/core/11-short-circuiting.md, references/core/12-effect-match.md.
2. Errors: typed tagged errors
Read references/error-handling/01-overview.md, references/error-handling/02-data-tagged-error.md, references/error-handling/03-schema-tagged-error.md, references/error-handling/04-catch-tag.md, references/error-handling/05-catch-tags.md, references/error-handling/06-catch-all.md, references/error-handling/07-cause-and-exit.md, references/error-handling/08-defects.md, references/error-handling/09-recovery-patterns.md, references/error-handling/10-error-accumulation.md, references/error-handling/11-yield-fail-pattern.md, references/error-handling/12-error-taxonomy.md, references/error-handling/13-error-remapping.md, references/error-handling/14-sandboxing.md.
3. Services and Layers: dependencies
Read references/services-layers/01-overview.md, references/services-layers/02-context-tag.md, references/services-layers/03-effect-service.md, references/services-layers/04-context-vs-effect-service.md, references/services-layers/05-context-reference.md, references/services-layers/06-layer-succeed.md, references/services-layers/07-layer-effect.md, references/services-layers/08-layer-scoped.md, references/services-layers/09-layer-merge.md, references/services-layers/10-layer-provide.md, references/services-layers/11-layer-providemerge.md, and the critical references/services-layers/12-layer-composition-gotchas.md. Runtime: references/services-layers/13-layer-memoization.md, references/services-layers/14-managed-runtime.md, references/services-layers/15-effect-provide.md, references/services-layers/16-layer-tap-debug.md, references/services-layers/17-fresh-vs-memoize.md.
4. Schema: validate boundaries (built into effect)
Read references/schema/01-overview.md, references/schema/02-schema-struct.md, references/schema/03-schema-class.md, references/schema/04-schema-tagged-class.md, references/schema/05-schema-tagged-error.md, references/schema/06-branded-types.md, references/schema/07-primitives.md, references/schema/08-collections.md, references/schema/09-unions-and-literals.md, references/schema/10-decoding.md, references/schema/11-encoding.md, references/schema/12-transforms.md, references/schema/13-filters.md, references/schema/14-annotations.md, references/schema/15-json-schema.md, references/schema/16-arbitrary.md, references/schema/17-equivalence-and-order.md, references/schema/18-recursive-schemas.md, references/schema/19-error-formatter.md, and the migration banner references/schema/20-deprecated-effect-schema.md.
5. Data Types: principled values
Read references/data-types/01-overview.md, references/data-types/02-option.md, references/data-types/03-option-patterns.md, references/data-types/04-either.md, references/data-types/05-data-struct.md, references/data-types/06-data-tuple-array.md, references/data-types/07-data-case.md, references/data-types/08-equal-and-hash.md, references/data-types/09-chunk.md, references/data-types/10-hashset-hashmap.md, references/data-types/11-readonly-array.md, references/data-types/12-duration.md, references/data-types/13-datetime.md, references/data-types/14-bigdecimal.md, references/data-types/15-redacted.md, references/data-types/16-brand.md, references/data-types/17-order-and-equivalence.md, references/data-types/18-function-utilities.md.
6. Pattern Matching: replace switch / if-chains
Read references/pattern-matching/01-overview.md, references/pattern-matching/02-match-value.md, references/pattern-matching/03-match-type.md, references/pattern-matching/04-match-tag.md, references/pattern-matching/05-match-when.md, references/pattern-matching/06-not-or-either.md, references/pattern-matching/07-exhaustive-vs-orelse.md.
7. Concurrency: bounded structured concurrency
Read references/concurrency/01-overview.md, references/concurrency/02-fork-types.md, references/concurrency/03-fiber-operations.md, references/concurrency/04-effect-race.md, references/concurrency/05-effect-all-concurrency.md, references/concurrency/06-effect-foreach-concurrency.md, and the rule references/concurrency/07-bounded-parallelism.md. Coordination: references/concurrency/08-semaphore.md, references/concurrency/09-deferred.md, references/concurrency/10-latch.md, references/concurrency/11-interruption.md, references/concurrency/12-stm.md, references/concurrency/13-effect-timeout.md, references/concurrency/14-effect-disconnect.md.
8. State
Read references/state/01-overview.md, references/state/02-ref.md, references/state/03-synchronizedref.md, references/state/04-subscription-ref.md, references/state/05-fiber-ref.md, references/state/06-state-patterns.md.
9. Resource Management: deterministic lifecycles
Read references/resource-management/01-overview.md, references/resource-management/02-scope.md, references/resource-management/03-acquire-release.md, references/resource-management/04-acquire-use-release.md, references/resource-management/05-effect-scoped.md, references/resource-management/06-add-finalizer.md, references/resource-management/07-effect-ensuring.md, references/resource-management/08-cleanup-order.md.
10. Streams: pull-based async data
Read references/streams/01-overview.md, references/streams/02-creating-streams.md, references/streams/03-stream-from-queue-pubsub.md, references/streams/04-stream-from-schedule.md, references/streams/05-stream-pagination.md, references/streams/06-transformations.md, references/streams/07-flattening.md, references/streams/08-merging-zipping.md, references/streams/09-mapEffect-concurrency.md, references/streams/10-stream-consumption.md, references/streams/11-sink.md, references/streams/12-channel.md, references/streams/13-error-handling.md, references/streams/14-backpressure.md, references/streams/15-batching.md, references/streams/16-broadcast-and-partition.md, references/streams/17-scope-and-stream.md, references/streams/18-infinite-streams.md.
11. Queue / PubSub: fiber coordination
Read references/queue-pubsub/01-overview.md, references/queue-pubsub/02-bounded-queue.md, references/queue-pubsub/03-dropping-sliding-queue.md, references/queue-pubsub/04-queue-operations.md, references/queue-pubsub/05-pubsub.md, references/queue-pubsub/06-producer-consumer.md, references/queue-pubsub/07-graceful-shutdown.md.
12. Caching and batching
Read references/caching/01-overview.md, references/caching/02-cache-make.md, references/caching/03-cache-operations.md, references/caching/04-effect-cached.md, references/caching/05-scoped-cache.md, references/caching/06-keyed-pool.md, references/caching/07-request-resolver.md.
13. Scheduling: retry, repeat, schedules
Read references/scheduling/01-overview.md, references/scheduling/02-built-in-schedules.md, references/scheduling/03-cron-schedule.md, references/scheduling/04-schedule-composition.md, references/scheduling/05-jitter-and-modify.md, references/scheduling/06-effect-retry.md, references/scheduling/07-effect-repeat.md, references/scheduling/08-schedule-conditions.md, references/scheduling/09-effect-delay.md.
14. Config: typed configuration via Config
Read references/config/01-overview.md, references/config/02-basic-config.md, references/config/03-config-redacted.md, references/config/04-config-collections.md, references/config/05-config-all-nested.md, references/config/06-config-validation.md, references/config/07-config-withDefault.md, references/config/08-config-providers.md, references/config/09-layer-set-config-provider.md.
15. Observability: logs, metrics, traces
Read references/observability/01-overview.md, references/observability/02-logging-basics.md, references/observability/03-structured-logs.md, references/observability/04-log-levels.md, references/observability/05-custom-logger.md, references/observability/06-tracing-basics.md, references/observability/07-span-scoped.md, references/observability/08-metrics-counter-gauge.md, references/observability/09-metrics-histogram-summary.md, references/observability/10-metric-tagged.md, references/observability/11-opentelemetry-setup.md, references/observability/12-otlp-exporters.md, references/observability/13-supervisor.md.
16. Platform: FS, Path, Command, Worker, runtimes
Read references/platform/01-overview.md, references/platform/02-filesystem.md, references/platform/03-path.md, references/platform/04-url.md, references/platform/05-command.md, references/platform/06-terminal.md, references/platform/07-keyvaluestore.md, references/platform/08-ndjson.md, references/platform/09-worker.md, references/platform/10-stream-sink-platform.md, references/platform/11-node-context.md, references/platform/12-node-runtime.md, references/platform/13-bun-platform.md.
17. HTTP Server: HttpApi
Read references/http-server/01-overview.md, references/http-server/02-defining-endpoints.md, references/http-server/03-path-params.md, references/http-server/04-query-and-payload.md, references/http-server/05-headers.md, references/http-server/06-grouping.md, references/http-server/07-handlers.md, references/http-server/08-error-responses.md, references/http-server/09-middleware.md, references/http-server/10-cors-and-logger.md, references/http-server/11-swagger.md, references/http-server/12-multipart.md, references/http-server/13-streaming-responses.md, references/http-server/14-custom-encoding.md, references/http-server/15-serving.md, references/http-server/16-platform-router.md, references/http-server/17-shutdown-and-signals.md.
18. HTTP Client
Read references/http-client/01-overview.md, references/http-client/02-fetch-http-client.md, references/http-client/03-request-building.md, references/http-client/04-response-decoding.md, references/http-client/05-derived-client.md, references/http-client/06-retries-and-timeouts.md, references/http-client/07-request-tracing.md, references/http-client/08-error-handling.md.
19. Testing with @effect/vitest
Read references/testing/01-overview.md, references/testing/02-it-effect.md, references/testing/03-it-live.md, references/testing/04-it-scoped.md, references/testing/05-it-layer.md, references/testing/06-test-clock.md, references/testing/07-test-random.md, references/testing/08-test-layers.md, references/testing/09-stateful-test-layers.md, references/testing/10-spy-layers.md, references/testing/11-testing-errors.md, references/testing/12-testing-resources.md, references/testing/13-testing-concurrency.md, references/testing/14-property-testing.md.
20. SQL with @effect/sql
Read references/sql/01-overview.md, references/sql/02-sql-client.md, references/sql/03-tagged-templates.md, references/sql/04-transactions.md, references/sql/05-sql-streams.md, references/sql/06-sql-resolver.md, references/sql/07-sql-schema.md, references/sql/08-sql-migrations.md, references/sql/09-driver-postgres.md, references/sql/10-driver-mysql.md, references/sql/11-driver-sqlite.md, references/sql/12-driver-other.md, references/sql/13-orm-adapters.md.
21. RPC
Read references/rpc/01-overview.md, references/rpc/02-rpc-group.md, references/rpc/03-rpc-server.md, references/rpc/04-rpc-client.md, references/rpc/05-rpc-middleware.md, references/rpc/06-rpc-streaming.md, references/rpc/07-rpc-cluster-intro.md.
22. CLI with @effect/cli
Read references/cli/01-overview.md, references/cli/02-command.md, references/cli/03-options.md, references/cli/04-options-combinators.md, references/cli/05-args.md, references/cli/06-args-combinators.md, references/cli/07-prompts.md, references/cli/08-subcommands.md, references/cli/09-providing-services.md, references/cli/10-config-files.md, references/cli/11-fallbacks.md, references/cli/12-completions.md.
23. React frontends with Effect Atom
Read references/frontend-atom/01-overview.md, references/frontend-atom/02-atom-make.md, references/frontend-atom/03-atom-families.md, references/frontend-atom/04-keep-alive.md, references/frontend-atom/05-react-hooks.md, references/frontend-atom/06-result-builder.md, references/frontend-atom/07-side-effect-atoms.md, references/frontend-atom/08-mutations.md, references/frontend-atom/09-cache-invalidation.md, references/frontend-atom/10-atoms-with-localstorage.md, references/frontend-atom/11-effect-runtime-bridge.md, references/frontend-atom/12-vercel-ai-sdk.md.
24. Migration from Promise / fp-ts / neverthrow / RxJS
Read references/migration/01-overview.md, references/migration/02-from-promise.md, references/migration/03-from-trycatch.md, references/migration/04-from-fp-ts.md, references/migration/05-from-neverthrow.md, references/migration/06-from-rxjs.md, references/migration/07-gradual-adoption.md, references/migration/08-portable-utility.md.
25. Architecture patterns
Read references/architecture/01-overview.md, references/architecture/02-domain-driven-design.md, references/architecture/03-hexagonal-architecture.md, references/architecture/04-repository-pattern.md, references/architecture/05-use-case-pattern.md, references/architecture/06-error-boundary-design.md, references/architecture/07-shared-kernel.md, references/architecture/08-effect-language-server.md.
26. End-to-end greenfield playbooks
Read references/workflows/01-greenfield-cli.md, references/workflows/02-greenfield-http-api.md, references/workflows/03-greenfield-react-spa.md, references/workflows/04-greenfield-nextjs.md, references/workflows/05-adding-effect-existing.md, references/workflows/06-microservice.md, references/workflows/07-background-worker.md, references/workflows/08-mcp-server.md, references/workflows/09-ai-agent.md.
Installationen
Sicherheitsprüfung
Quellcode ansehen
yigitkonur/skills-by-yigitkonur
Mehr aus dieser Quelle
Give agents clean web context
Search and extract the public web as Markdown or structured JSON through one API or hosted MCP server.
Verwandte Skills
Mehr aus dieser Quelle: yigitkonur/skills-by-yigitkonur
So verwenden Sie diesen Skill
Install build-effect-ts-v3 by running npx skills add yigitkonur/skills-by-yigitkonur --skill build-effect-ts-v3 in your project directory. Führen Sie den obigen Installationsbefehl in Ihrem Projektverzeichnis aus. Die Skill-Datei wird von GitHub heruntergeladen und in Ihrem Projekt platziert.
Keine Konfiguration erforderlich. Ihr KI-Agent (Claude Code, Cursor, Windsurf usw.) erkennt installierte Skills automatisch und nutzt sie als Kontext bei der Code-Generierung.
Der Skill verbessert das Verständnis Ihres Agenten für build-effect-ts-v3, und hilft ihm, etablierte Muster zu befolgen, häufige Fehler zu vermeiden und produktionsreifen Code zu erzeugen.
Was Sie erhalten
Skills sind Klartext-Anweisungsdateien — kein ausführbarer Code. Sie kodieren Expertenwissen über Frameworks, Sprachen oder Tools, das Ihr KI-Agent liest, um seine Ausgabe zu verbessern. Das bedeutet null Laufzeit-Overhead, keine Abhängigkeitskonflikte und volle Transparenz: Sie können jede Anweisung vor der Installation lesen und prüfen.
Kompatibilität
Dieser Skill funktioniert mit jedem KI-Coding-Agenten, der das skills.sh-Format unterstützt, einschließlich Claude Code (Anthropic), Cursor, Windsurf, Cline, Aider und anderen Tools, die projektbezogene Kontextdateien lesen. Skills sind auf Transportebene framework-agnostisch — der Inhalt bestimmt, für welche Sprache oder welches Framework er gilt.