Agent Skills: Go

MUST use when writing Go scripts.

UncategorizedID: windmill-labs/windmill/write-script-go

Repository

windmill-labsLicense: NOASSERTION
16,266927

Install this agent skill to your local

pnpm dlx add-skill https://github.com/windmill-labs/windmill/tree/HEAD/system_prompts/auto-generated/skills/write-script-go

Skill Files

Browse the full folder contents for write-script-go.

Download Skill

Loading file tree…

system_prompts/auto-generated/skills/write-script-go/SKILL.md

Skill Metadata

Name
write-script-go
Description
MUST use when writing Go scripts.

CLI Commands

Place scripts in a folder. After writing, tell the user they can run:

  • wmill generate-metadata - Generate .script.yaml and .lock files
  • wmill sync push - Deploy to Windmill

Do NOT run these commands yourself. Instead, inform the user that they should run them.

Use wmill resource-type list --schema to discover available resource types.

Go

Structure

The file package must be inner and export a function called main:

package inner

func main(param1 string, param2 int) (map[string]interface{}, error) {
    return map[string]interface{}{
        "result": param1,
        "count":  param2,
    }, nil
}

Important:

  • Package must be inner
  • Return type must be ({return_type}, error)
  • Function name is main (lowercase)

Return Types

The return type can be any Go type that can be serialized to JSON:

package inner

type Result struct {
    Name  string `json:"name"`
    Count int    `json:"count"`
}

func main(name string, count int) (Result, error) {
    return Result{
        Name:  name,
        Count: count,
    }, nil
}

Error Handling

Return errors as the second return value:

package inner

import "errors"

func main(value int) (string, error) {
    if value < 0 {
        return "", errors.New("value must be positive")
    }
    return "success", nil
}