Effect agent streams

SkillAI & models

Lets your agent build Effect-based Golem agents that send and receive large values incrementally as streams.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Effect agent streams skill

About this capability

Adds nested input and output streams to Effect Golem agents. Use for incremental or large RPC values.

What this skill tells your AI

The instructions your AI receives, as published by golemcloud/golem in golem-skills/skills/effect/golem-streaming-agent-effect/SKILL.md and read by ahel’s review.

Declare streams with the SDK schema and use native Effect streams:

import { Effect, Stream, Schema } from "effect"
import { method, WitTypes } from "@golemcloud/effect-golem"

const doubled = method({
  input: { values: WitTypes.AgentStream(Schema.Number) },
  success: WitTypes.AgentStream(Schema.Number),
})

const handler = ({ values }: { values: Stream.Stream<number, unknown> }) =>
  Effect.succeed(values.pipe(Stream.map((value) => value * 2)))

Local streams are reusable. Streams received from Preview 3 endpoints are affine and single-reader: consume or forward them exactly once. Keep consumption and RPC clients scoped. Streams may be nested in structs. Never convert a potentially large stream to an array just to cross RPC; interruption must release the producer.

Transformations remain lazy: a mapped or effectfully constructed stream claims its underlying received endpoint when execution reaches it, not when the program is encoded for RPC. Directly forwarding a known received endpoint transfers ownership immediately. Competing consumers fail; they never consume or close the endpoint owned by the successful reader.

Signals

GitHub stars
2k
Forks
211
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
golem-streaming-agent-effect
Source
github.com/golemcloud/golem