output-error-direct-io

Move direct I/O operations in Output SDK workflows into step functions.

430|12|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/growthxai/output --skill output-error-direct-io
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: output-error-direct-io
Source: https://github.com/growthxai/output/tree/main/coding_assistants/claude/plugins/outputai/skills/output-error-direct-io
Command: npx skills add https://github.com/growthxai/output --skill output-error-direct-io

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Direct I/O in workflow functions causes nondeterminism, hangs, and unreliable traces by performing HTTP calls, database queries, or file operations inside the workflow instead of steps.

Core Features & Use Cases

  • Moves all I/O to step functions to preserve determinism, enable retries, tracing, and timeouts.
  • Provides examples and guidance for common patterns, including HTTP calls, database queries, and file I/O, with I/O executed in steps rather than in workflow functions.
  • Use cases include refactoring existing workflows, diagnosing nondeterminism, and improving observability and reliability.

Quick Start

Refactor your workflow by creating dedicated I/O steps and update the workflow to call those steps.

Frequently Asked Questions about output-error-direct-io

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my Output SDK workflow hang or behave nondeterministically?

Direct I/O operations like HTTP calls, database queries, or file system access inside workflow functions break determinism and cause hangs. Moving these I/O operations into dedicated steps restores determinism, enables retries, and ensures proper error handling.

How do I fix direct I/O operations in my workflow functions?

To fix direct I/O operations, refactor your workflow by creating dedicated I/O step functions. Update the workflow to call those steps instead of executing HTTP calls, database queries, or file operations directly in the workflow function.

What is the best way to handle database queries in Output SDK workflows?

The best way to handle database queries in Output SDK workflows is to move them into step functions. Executing database queries in steps preserves determinism, enables tracing, and allows proper timeouts and retries instead of causing silent failures.

Can I perform HTTP calls directly inside an Output SDK workflow function?

Performing HTTP calls directly inside a workflow function causes unreliable traces and nondeterminism. You should move HTTP calls into step functions to enable retries, tracing, and proper error handling while keeping the workflow deterministic.

Does moving I/O to steps improve workflow observability and reliability?

Moving I/O to steps improves workflow observability and reliability by enabling proper tracing, timeouts, and retries. This refactoring approach prevents silent failures and nondeterministic behavior caused by direct file, database, or HTTP operations in workflow functions.

When should I not use direct file I/O in workflow functions?

You should not use direct file I/O in workflow functions when you need determinism and reliable execution. Direct file operations cause nondeterminism and silent failures, so they must be moved to step functions to enable proper error handling and tracing.