flowing

Installation
SKILL.md

Flowing — Control Flow in Code, Not Prose

When a procedure needs 3+ steps with branches, retries, or contracts, encode it as a DAG of Python tasks. The runner owns the control flow — branching, retrying, validating, propagating failures. The LLM provides judgment at the leaves.

This is the alternative to writing "first X, then Y, then if Z, retry up to 3 times..." in prose. Prose imperatives are read and generated past. A @task graph is structural: the next step physically cannot run until the prior step's output is bound to its parameter, and gates that fire on missing/bad inputs can't be skipped.

Quick Start

from flowing import task, Flow

@task
def fetch_data():
    return {"items": [1, 2, 3]}

@task(depends_on=[fetch_data])
def process(fetch_data):
    return sum(fetch_data["items"])
Related skills

More from oaustegard/claude-skills

Installs
7
GitHub Stars
120
First Seen
Mar 29, 2026