write-script-nativets

Write portable Native TypeScript scripts with a single async main function for Windmill.

Updated Feb 21, 2026
One-click install
npx skills add https://github.com/adamkingsbury/unified-data-model --skill write-script-nativets-adamkingsbury
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: write-script-nativets
Source: https://github.com/adamkingsbury/unified-data-model/tree/main/.claude/skills/write-script-nativets
Command: npx skills add https://github.com/adamkingsbury/unified-data-model --skill write-script-nativets-adamkingsbury

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Native TypeScript scripts for Windmill require a deterministic entry point and clear resource handling. This skill enforces a single async main function and a minimal, fetch-only execution environment to reduce surprises.

Core Features & Use Cases

  • Native TypeScript execution with fetch only — no external imports allowed.
  • Export a single async function named main and optionally receive resources via the RT namespace.
  • No invocation of the main function by hand; Windmill will drive execution and supply resources.

Quick Start

Export a single async function named main in a TypeScript file at the skill root and let Windmill invoke it.

Frequently Asked Questions about write-script-nativets

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

FAQPage Schema
How do I write deterministic Native TypeScript scripts for Windmill?

To write deterministic Native TypeScript scripts for Windmill, export a single async function named main and use the RT namespace for resources. Windmill handles execution and supplies resources, so you must not invoke the function directly.

Can I use external imports in Windmill Native TypeScript scripts?

No, you cannot use external imports in Windmill Native TypeScript scripts. This skill enforces a minimal, fetch-only execution environment, meaning you must use fetch for network calls and avoid all external module imports.

How does the RT namespace work for resources in Windmill scripts?

The RT namespace provides runtime resources to your Windmill scripts. Your async main function optionally receives credential and configuration data through this namespace, ensuring deterministic execution without relying on external imports.

Why should I not invoke the main function directly in a Windmill TypeScript script?

You should not invoke the main function directly because Windmill drives execution and supplies resources automatically. Exporting the async main function creates a deterministic entry point that Windmill invokes at runtime.

What are the limitations of using fetch-only Native TypeScript scripts in Windmill?

The limitation of fetch-only Native TypeScript scripts in Windmill is that external imports are not allowed. You must rely entirely on fetch for network calls and the RT namespace for resources, restricting scripts to this minimal execution environment.