What problem does it solve? Writing Python scripts for the Windmill platform involves platform-specific conventions — a required main function, TypedDict resource types, lock files, and content hashes — that are easy to get wrong, and it is easy to accidentally deploy untested code when you only meant to preview it. ## Core Features & Use Cases - Correct CLI workflow: Distinguishes wmill script preview (test local edits) from wmill script run (deployed version) and wmill sync push (deploy), so untested changes never overwrite the workspace. - Metadata synchronization: Runs wmill generate-metadata after edits that change imports or main arguments, keeping .lock, .script.yaml, and wmill-lock.yaml hashes consistent. - Platform conventions: Enforces the main function structure, lowercase TypedDict resource types, preprocessor script signatures, S3 object operations, and the full wmill Python SDK surface (jobs, variables, resources, state, approvals, S3, DuckDB/DuckLake). - Use Case: Ask the agent to write a Python script that queries a PostgreSQL resource and loads results to S3; it produces a compliant script, previews it with sample args, and regenerates metadata before any deploy. ## Quick Start Write a Windmill Python script that fetches data from an API and stores the result, then preview it with sample arguments.