AgentStack
SKILL verified MIT Self-run

Effect Testing Runtime

skill-theseus-run-theseus-effect-testing-runtime · by theseus-run

Use when testing or verifying Effect code in Theseus, including Effect.runPromise boundaries, test layers, fake services, deterministic time, config providers, stream/fiber tests, and runtime edge behavior.

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-theseus-run-theseus-effect-testing-runtime

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

Are you the author of Effect Testing Runtime? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Effect Testing And Runtime

Use this skill for testing Effect programs and deciding where effects are run.

Use the bun-test skill for Bun test runner APIs and the testing-patterns skill for repo-level test placement.

Runtime Boundary

  • Run effects at process, test, or script edges.
  • Do not call Effect.runPromise or Effect.runSync inside services or domain functions.
  • In tests, build the program, provide test layers, then run it at the test boundary.
import { Effect } from "effect"
import { expect, test } from "bun:test"

test("returns user", async () => {
  const result = await Effect.runPromise(
    Users.find("user-1").pipe(Effect.provide(UsersTestLive)),
  )

  expect(result.id).toBe("user-1")
})

Test Services

  • Prefer test layers and fake services over global mutation.
  • Use deterministic services for time, randomness, IDs, storage, language models, and config.
  • Use ConfigProvider when config should come from a map/object rather than the process environment.
  • Keep typed expected failures in the error channel when that is the contract being tested.
  • Test defects separately from expected domain failures.

Concurrent And Streaming Tests

  • For streams, test completion semantics as well as emitted values.
  • For background fibers, test interruption or shutdown behavior.
  • Do not hide timing problems with sleeps; use deterministic signals such as Deferred, queue events, or test clocks when available.
  • When testing time-based behavior, verify local Effect test-clock APIs before using them.

Checks

  • Is the effect run only at the test boundary?
  • Are all required services provided intentionally?
  • Does the test assert typed failures rather than stringified defects?
  • Does the test prove shutdown/completion for fibers, queues, and streams?
  • Should the package-local test run be enough, or did public signatures require root typecheck?

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.