write-script-bigquery

Write BigQuery SQL scripts with named parameters and S3 integration for Windmill.

Updated May 28, 2026
One-click install
npx skills add https://github.com/kma-core/windmill --skill write-script-bigquery-kma-core
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: write-script-bigquery
Source: https://github.com/kma-core/windmill/tree/main/system_prompts/auto-generated/skills/write-script-bigquery
Command: npx skills add https://github.com/kma-core/windmill --skill write-script-bigquery-kma-core

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing BigQuery scripts for Windmill requires knowing the platform-specific conventions for parameter binding, S3 object inputs, and result streaming, which are easy to get wrong without guidance. ## Core Features & Use Cases - Named Parameter Binding: Declare script arguments using @name syntax with typed comments like -- @name1 (string) so Windmill auto-generates the script UI. - S3 Object Inputs: Accept (s3object) parameters that Windmill decodes from Parquet, CSV, or JSON files and consume them with JSON_EXTRACT_ARRAY and JSON_VALUE. - Result Streaming to S3: Add a -- s3 directive to stream large query results directly to S3 in JSON, Parquet, or CSV format, bypassing the 10000-row return cap. - Use Case: Write a BigQuery script that filters a users table by name and age parameters, preview it locally with wmill script preview, then stream a large export to S3 as Parquet. ## Quick Start Write a BigQuery script that queries the users table with a name parameter and preview it locally with sample arguments.

Frequently Asked Questions about write-script-bigquery

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

FAQPage Schema
How do I add parameters to a BigQuery script in Windmill?

Declare parameters with typed comments before the statement, such as `-- @name1 (string)` or `-- @name2 (int64) = 0`, then reference them in the query with `@name1`. Windmill uses these comments to generate the script's input form.

How do I test a BigQuery script locally before deploying?

Run `wmill script preview <script_path>` with sample arguments via `-d '<args>'` to execute the local file without deploying. Only use `wmill sync push` when you explicitly want to publish the tested changes to the workspace.

Can a BigQuery script read files from S3 in Windmill?

Yes, declare an argument with type `(s3object)` and Windmill renders an S3 file picker, downloads the file, and binds it as a JSON string. Parquet and CSV are decoded into JSON records, which you consume with JSON_EXTRACT_ARRAY and JSON_VALUE.

How do I return more than 10000 rows from a BigQuery script?

Add a `-- s3` directive at the top of the script to stream results directly to S3 instead of returning rows. You can set optional keys for prefix, storage, and format (json, parquet, or csv), and the script returns the file's S3Object.

What is the difference between wmill script preview and script run?

`script preview` executes your local script file without deploying, which is the default when iterating on edits. `script run` executes the version already deployed in the workspace and should only be used when you explicitly want the deployed version.