Install any skill in seconds. Free to start, no credit card required.
Get Started Free →growthxai/output-dev-llm-streaming
Implement LLM text streaming in Output workflow steps with generateTextWithStreaming, Agent.generateWithStreaming, streamText, or Agent.stream.
Passed 22 of 22 test cases with the skill, and 12 of 22 without it.
and 12 more in the full report
10 fixed12 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
When using `Agent.stream()`, under what condition does the wrapped `onEnd` callback skip saving conversation messages to the store?
| Checked | Without skill | With skill |
|---|---|---|
| States that message persistence is skipped when finishReason is 'error'. | Missed | Passed |
The instructions your model reads when the skill loads.
onChunk, or onEnd / onError on streamText() / Agent.stream()| Need | Use |
|---|---|
| Complete single-shot result | generateText() |
Complete result plus onChunk progress | generateTextWithStreaming() |
Direct access to textStream or stream | streamText() |
Complete Agent result plus onChunk progress | Agent.generateWithStreaming() |
| Direct access to the Agent stream | Agent.stream() |
In workflow steps, prefer generateTextWithStreaming() or Agent.generateWithStreaming() when onChunk progress is sufficient. They consume the stream internally, return complete results like generateText() or Agent.generate(), and reject on provider, transport, or abort errors. Rejection allows Temporal to record the failed activity attempt and apply the step retry policy.
streamText() and Agent.stream() remain supported for code that needs direct control over stream consumption.
import { generateTextWithStreaming } from '@outputai/llm';
const result = await generateTextWithStreaming( {
prompt: 'draft@v1',
variables: { topic },
onChunk( { chunk } ) {
if ( chunk.type === 'text-delta' ) {
process.stdout.write( chunk.text );
}
}
} );
return result.result;
test cases passed, vs 12 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.