sops-secret-editor
Allows pi or any agent to put secrets safely via sops.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Allows pi or any agent to put secrets safely via sops.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Conducts comprehensive web research to find accurate, relevant information. Use when you need modern information only discoverable on the web, documentation, best practices, or technical solutions. Uses curl+markdown.new, Exa/Parallel APIs, and camoufox browser — no surf/WebFetch/WebSearch.
Share agent session traces via the traces CLI. Use when the user asks to share/publish/upload a trace. Always use private visibility.
Ensures .env files in TypeScript projects override sops-nix shell secrets. Use when setting up env loading, debugging missing/wrong API keys, or configuring dotenv in TS projects.
Ink terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from JSON, creating terminal component catalogs, or rendering AI-generated specs in the terminal.
Visual feedback from UI annotations. Use when the user mentions annotations, visual feedback, agentation, watch mode, critique mode, or self-driving mode. Provides tools to read, acknowledge, resolve, and dismiss UI annotations created via the Agentation browser toolbar.
Sets up a modern Python project with uv, ruff, ty, and best practices for AI agent compatibility. Creates publishable packages with proper structure, type hints, and documentation.
| name | sops-secret-editor |
| description | Allows pi or any agent to put secrets safely via sops. |
When this skill is triggered, ALWAYS display this banner first:
╭─────────────────────────────────────────────────────────────╮
│ 🔐 SKILL ACTIVATED: sops-secret-editor │
├─────────────────────────────────────────────────────────────┤
│ Action: Safely write encrypted secrets via sops │
│ Output: Updated secrets file + redacted summary │
╰─────────────────────────────────────────────────────────────╯
nixpkgs/secrets/secrets.yaml)~/.config/sops/age/keys.txt)fpl/email)Confirm defaults
nixpkgs/secrets/secrets.yaml~/.config/sops/age/keys.txtValidate prerequisites
SOPS_AGE_KEY_FILE before running sops.Convert key paths to JSON indices
fpl/email → ["fpl"]["email"]aws/credentials → ["aws"]["credentials"]Apply updates (yolo mode)
nix run nixpkgs#sops -- set --value-stdin for each secret.Example (multi-secret, safe stdin + JSON encoding):
set -euo pipefail
export SOPS_AGE_KEY_FILE="$HOME/.config/sops/age/keys.txt"
secrets_file="nixpkgs/secrets/secrets.yaml"
# Repeat per secret (no echo; JSON-encode via python)
read -s FPL_EMAIL
printf '%s' "$FPL_EMAIL" | python3 - <<'PY' | nix run nixpkgs#sops -- set --value-stdin "$secrets_file" '["fpl"]["email"]'
import json, sys
print(json.dumps(sys.stdin.read()))
PY
read -s FPL_PASSWORD
printf '%s' "$FPL_PASSWORD" | python3 - <<'PY' | nix run nixpkgs#sops -- set --value-stdin "$secrets_file" '["fpl"]["password"]'
import json, sys
print(json.dumps(sys.stdin.read()))
PY
--value-stdin and JSON encoding.nixpkgs/secrets/secrets.yaml.