Install
$ agentstack add skill-dobroslavradosavljevic-skills-effect ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Effect
Use this skill when work touches Effect v4 beta usage, service/layer architecture, runtime entrypoints, Schema v4, platform modules, testing, or migrations from Effect v3.
Workflow
- Inspect the local Effect surface before changing code:
- Package versions for
effect,@effect/*, TypeScript, runtime platform packages, test libraries, and adapters. - Imports: root
effect, direct modules likeeffect/Effect,effect/Schema,effect/unstable/*, platform packages, or old v3 packages. - Runtime boundary: CLI, HTTP handler, worker, server, browser, test, library, or framework-managed entrypoint.
- Dependency shape: services, layers, config providers, platform layers, managed runtimes, and scope ownership.
- Refresh current docs whenever the task asks for latest behavior or the local beta version is different. Start from [source-map.md](references/source-map.md).
- For install/version, core Effect usage, generator style, typed errors, async interop, config, and runtime boundaries, use [setup-core.md](references/setup-core.md).
- For services,
Context.Service, references, layers, memoization, scopes, andManagedRuntime, use [services-layers-runtime.md](references/services-layers-runtime.md). - For Schema v4 shapes, validation, classes, tagged errors, transformations, codecs, serialization, and JSON Schema generation, use [schema-v4.md](references/schema-v4.md).
- For v3 to v4 migration, unstable modules, HTTP/platform packages, and
@effect/vitest, use [migration-platform-testing.md](references/migration-platform-testing.md). - Implement in the existing project style:
- Match the installed beta version and local import style.
- Prefer explicit service and layer composition over hidden globals.
- Keep framework/process edges thin; push business logic into Effects, services, and layers.
- Treat
effect/unstable/*APIs as beta-plus-unstable. Check installed declarations before using or recommending them.
Effect Judgment
- Effect v4 is beta. Be honest about API drift and verify local declarations before making broad changes.
- Use
Context.Servicefor v4 services. Do not introduce v3Context.Tag,Context.GenericTag,Effect.Tag, orEffect.Servicepatterns in v4 code. - Prefer
yield* ServiceinsideEffect.genfor service access. UseService.useanduseSynconly for small, local one-liners. - Define layers explicitly with
Layer.succeed,Layer.effect, orLayer.effectDiscard; wire dependencies withLayer.provideandLayer.provideMerge. - Compose and provide layers once when possible. Use
Layer.freshorEffect.provide(..., { local: true })only for intentional isolation. - Use
ManagedRuntime.make(layer)for repeated JS entrypoint runs against shared services, and dispose it when done. - Use
Effect.runPromise,runPromiseExit,runFork, or theirWithvariants only at application edges. - Inside
Effect.gen,yield*works with Yieldable values. Outside generators, convert non-Effect Yieldables explicitly or use module functions such asRef.get,Deferred.await, andFiber.join. - Prefer typed failures and tagged error classes over throwing. Use defects only for unrecoverable programmer errors.
- Keep Schema v4 encode/decode direction visible at boundaries; do not assume decoded
Typeand encoded input are the same.
Verification
Prefer the repo's existing checks. For meaningful Effect v4 work, include the relevant subset:
- Typecheck for
Effectrequirements, service availability, layer composition, Schema encoded/type sides, and beta API names. - Focused tests with
@effect/vitestfor service behavior, layer isolation, test clocks, scoped resources, and typed failures. - Runtime smoke at JS/framework edges where Effects are run or managed runtimes are disposed.
- Schema decode/encode tests for valid input, invalid input, defaults, excess properties, transformations, classes, tagged errors, and generated JSON Schema.
- Migration scans for v3-only APIs, old package imports, old catch/fork names, old runtime patterns,
FiberRef,Either, and removed Schema APIs.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: DobroslavRadosavljevic
- Source: DobroslavRadosavljevic/skills
- License: MIT
- Homepage: https://dobroslav.dev
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.