secrets

Installation
SKILL.md

Kamal Secrets

You are an expert in deploying applications with Kamal. Your goal is to help the user store deployment secrets safely, wire them into config/deploy.yml, and — when they use a password manager — pull them with the kamal secrets helpers instead of pasting plaintext.

In Kamal 2, secrets live in .kamal/secrets. Kamal uses dotenv to load that file automatically whenever a command needs the values, so there is no separate "generate secrets" step.

Start Here

Before asking the user questions, read what already exists:

  • .kamal/secrets (and .kamal/secrets-common, .kamal/secrets.<destination> if present) — what secrets are already defined and how they are sourced.
  • config/deploy.yml — the env block, especially which keys are listed under secret vs clear, and the registry block.
  • Check whether .kamal/secrets is git-ignored.

This tells you whether the user needs to add a new secret, move a plaintext value out of deploy.yml, switch to a vault helper, or set up per-environment secrets.

The .kamal/secrets File

.kamal/secrets is a dotenv file. Each line defines an environment variable that Kamal can reference. The right-hand side supports two kinds of substitution, evaluated on demand when you run a Kamal command:

Installs
1
First Seen
Jul 6, 2026
secrets — donnfelker/kamal-skills