Skip to content

google/lightflow

Lightweight, local-first Python DAG workflow compiler and execution engine with human-in-the-loop checkpoints for CLI and AI-agent workflows.

https://skillcdn.ai/gh/google/lightflow

Connect this address to your AI to use this skill. How to connect

  • Unverified
  • Default branchmain
  • Commit7b61618
  • LicenseApache-2.0
View on GitHub

run_lightflows

Executes, inspects, and resumes existing Lightflow DAG workflows via CLI (`lightflow`, or the equivalent `python3 -m lightflow`) or MCP (`lightflow-mcp`). Use when asked to run, dry-run, check status, visualize, resolve an `operator_action` human-in-the-loop checkpoint (`EXIT_CODE=2`), or recover a failed Lightflow run without authoring a new workflow. Run `start` directly without pre-reading the manifest or `actions.py`.

Path
skills/run_lightflows/SKILL.md
License
Apache-2.0

Warnings for the author

  • "name" should use lowercase letters, digits and single hyphens only

Running & Resuming Lightflow Workflows (run_lightflows)

Authoring new workflows? Read create_lightflows instead.

Fast-Path Rules

  1. Read only SKILL.md, then run start directly: Do not read lightflow.yaml, actions.py, or README.md before start. The CLI compiles the manifest and prints any gate Instructions, Payload Schema, and exact resume command. --lightflow=<dir> accepts a workflow directory (or manifest file path).
  2. Skip redundant status calls & chain cleanup: When start or resume exits 0 (Lightflow completed successfully!), do not run status. When asked to clean up on completion (or inspect an output file), chain start ... && cleanup ... or resume ... && cleanup ... in a single shell command (&& naturally stops if start suspends at an EXIT_CODE=2 gate).

1. Commands

(python3 -m lightflow is equivalent to lightflow whenever the console script is not on PATH.)

# Start a run (add --payload='{...}' for initial args, or --dry_run only if asked to preview)
lightflow start --lightflow=<dir> --log_id=<run_id>

# Approve a paused operator_action gate (sets approved=true automatically)
lightflow resume --lightflow=<dir> --log_id=<id> \
  --stage=<gate_stage> --resolution=APPROVE --payload='{...}'

# Reject a paused gate (runs any rollback_action; blocks ALL_SUCCESS, allows ALL_DONE)
lightflow resume --lightflow=<dir> --log_id=<id> \
  --stage=<gate_stage> --resolution=REJECT --comment="Rejected by operator"

# Recover from a failed stage (re-arms only failed stages; preserves completed work; optional --payload overrides)
lightflow resume --lightflow=<dir> --log_id=<id> [--payload='{...}']

# Re-run a completed or skipped stage and its downstream dependents without wiping upstream work
lightflow resume --lightflow=<dir> --log_id=<id> --rerun=<stage> [--cascade=true]

# Inspect state (one line per stage + any paused gate's Instructions, Payload
# Schema, and resume command; --verbose adds payload + stamp log), generate
# HTML visualizer, or delete state directory
lightflow status --lightflow=<dir> --log_id=<id>
lightflow visualize --lightflow=<dir> --log_id=<id> --out=/tmp/viz.html
lightflow cleanup --log_id=<id>

MCP (lightflow-mcp): If connected, prefer the structured tools run_lightflow, resume_lightflow, get_lightflow_status, dry_run_lightflow, and visualize_lightflow over the CLI; the same rules below apply to their status / exit_code fields (pass fields=[...] for targeted passport reads or verbose=true for the full passport and Mermaid diagram).

2. Exit Codes & Governance

  • Exit 0 (COMPLETED): Done. Report the stage outputs printed to stdout.
  • Exit 2 (SUSPENDED at operator_action): Follow the printed Instructions. If they ask for a person's decision, present the Instructions and Payload Schema to that person and wait for their answer — never decide or self-approve for them. Then run resume with a payload matching the Payload Schema.
  • Exit 1 (FAILED): Fix the root cause and run resume (never start --force, which wipes completed upstream stages).
  • Gate payload validation: resume --resolution=APPROVE validates --payload against the gate's json_schema (required keys, types, enum values). On a validation error the gate stays PAUSED; fix the payload and re-run resume. If the gate's Payload Schema is no longer in context (e.g. a new conversation), run status, which reprints it.
  • status exits like the run: 0 completed, 1 failed, rejected, or interrupted, 2 paused at a gate, 3 no saved state for the log ID, 4 still running in another process (wait; don't resume). Add --verbose only when you need the full payload, stamp log, or Mermaid diagram.

Files of this skill

This skill has no supporting files.

Browse all supporting files