durable-workflow-runtime:pack

Exports published durable workflows into portable .flow zip archives.

Updated May 13, 2026
One-click install
npx skills add https://github.com/onesmash/slm-as-harness --skill durable-workflow-runtime-pack-onesmash
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: durable-workflow-runtime:pack
Source: https://github.com/onesmash/slm-as-harness/tree/main/skills/durable-workflow-runtime/pack
Command: npx skills add https://github.com/onesmash/slm-as-harness --skill durable-workflow-runtime-pack-onesmash

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? It packages a published durable workflow into a single portable .flow archive so the workflow can be distributed or moved without starting, resuming, or preflighting a runtime run. ## Core Features & Use Cases - Workflow Packaging: Exports one published workflow from the durable-workflow-runtime binding catalog into a .flow zip archive containing the package manifest, binding entry, and workflow source files. - Contract Validation: Verifies that the static workflow-binding.json entry does not drift from the workflow's WORKFLOW_INPUT_CONTRACT start input schema before packaging. - Use Case: A developer wants to share the demo-prompt-loop workflow with another team. They run the pack script with the workflow ID and an output path, and receive a validated .flow archive ready for distribution. ## Quick Start Ask the AI to pack the published workflow with a given workflow ID into a .flow file at your chosen output path using the bundled pack script.

Frequently Asked Questions about durable-workflow-runtime:pack

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

FAQPage Schema
How do I export a durable workflow to a .flow file?▼

Run the bundled pack.py script with --workflow-id and --output-file arguments pointing to a .flow path. The script validates the workflow is published in workflow-binding.json and writes a zip archive containing the manifest, binding entry, and workflow files.

What is inside a .flow workflow archive?▼

A .flow file is a zip container holding package-manifest.json, binding-entry.json, and a workflow/ directory with manifest.json, contract.py, graphbuilder_runtime.py, policy.py, state.py, verifiers.py, references, and prompts. Cache files like __pycache__ and .pyc are excluded.

Does packing a workflow run or preflight it?▼

No, pack.py is a packaging-only surface. It does not call bridge.py start, resume, or preflight, does not allocate host I/O paths, and does not create or mutate runtime run state.

Why does packing fail with a schema drift error?▼

Packing fails when the start_input_schema in workflow-binding.json does not match the workflow's WORKFLOW_INPUT_CONTRACT.to_start_input_schema(). Update the static binding entry to match the contract, then rerun the pack command.

Can I overwrite an existing .flow package?▼

Yes, but only by passing the --force flag to pack.py. Without it, the script refuses to overwrite an existing output file and exits with an error.