SOPS Encrypt
SkillFiles & storageEncrypt .env files using SOPS + age. Converts dotenv to YAML format (avoids SOPS bug #1435), then encrypts. Auto-detects unencrypted .env files. Use when user mentions "encrypt env", "sops encrypt", "encrypt secrets", "encrypt .env", "encrypt environment", "re-encrypt", "update encrypted".
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the SOPS Encrypt skill
What this skill tells your AI
The instructions your AI receives, as published by joaquimscosta/arkhe-claude-plugins in plugins/devtools/skills/sops-encrypt/SKILL.md and read by ahel’s review.
Encrypt .env files by converting to YAML and encrypting with SOPS + age.
Why YAML? SOPS dotenv store has a known bug (#1435) that corrupts backslash and \n sequences. The helper script converts dotenv→YAML before encryption.
Workflow
-
Detect current state:
python3 ${CLAUDE_SKILL_DIR}/../sops-setup/scripts/detect_sops.py <project-root> -
Verify prerequisites:
tools.sops.installedmust be true — if not, tell user to run/devtools:sops-setupproject.sops_yaml.existsmust be true — if not, tell user to run/devtools:sops-setupage_key.existsmust be true — if not, tell user to run/devtools:sops-setup
-
Show unencrypted .env files from
project.env_files. If empty, report "No .env files found to encrypt" and exit. -
Use
AskUserQuestion(multiSelect: true) — which files to encrypt. List each.env*file. If a corresponding.enc.yamlfile already exists, note it will be overwritten. -
Encrypt each selected file (convert dotenv→YAML, then encrypt):
python3 ${CLAUDE_SKILL_DIR}/../sops-setup/scripts/dotenv_yaml.py to-yaml <file> > <file>.enc.yaml.tmp sops --encrypt <file>.enc.yaml.tmp > <file>.enc.yaml rm <file>.enc.yaml.tmpExample:
.env.local→.env.local.enc.yaml -
Verify each encrypted file exists and is non-empty.
-
Summary:
| File | Encrypted To | Status | |------|-------------|--------| | .env.local | .env.local.enc.yaml | done | | .env.production | .env.production.enc.yaml | done |Remind user to commit the
.enc.yamlfiles.
Key Rules
- Always verify
.sops.yamlexists before attempting encryption - Always convert dotenv→YAML before encrypting (use the helper script)
- Warn if an
.enc.yamlfile will be overwritten - Never delete the original
.envfile — only create the.enc.yamlcopy - Clean up
.tmpfiles even if encryption fails
Signals
- GitHub stars
- 21
- Forks
- 4
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
sops-encrypt- Source
- github.com/joaquimscosta/arkhe-claude-plugins