What problem does it solve?
Storing API keys, passwords, and tokens for a Scala Golem agent requires per-environment secret management rather than hardcoding values. This Skill shows how to declare typed secrets in config case classes, read them lazily at runtime, and manage their values through the Golem CLI.
Core Features & Use Cases
- Typed Secret Declaration: Wrap sensitive fields with
Secret[T] inside config case classes, with automatic Schema derivation via zio-blocks.
- Lazy Secret Reading: Call
.get on a Secret[T] to reveal the value, pinning the resolved revision for deterministic retries and replay.
- CLI Secret Management: Create, list, update, and delete secrets with
golem secret commands using camelCase paths matching Scala field names.
- Use Case: You are building a Scala Golem agent that connects to a database. Declare
password: Secret[String] in your DbConfig, set a dev default in golem.yaml, and create the production value with golem secret create db.password.
Quick Start
Ask the agent to add a secret API key field to your Scala Golem agent's config class and show the CLI command to set its value.