Install
$ agentstack add skill-joaquimscosta-arkhe-claude-plugins-sops-add-key ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
SOPS Add Key
Add a new machine's age public key to the project and re-encrypt all files so the new machine can decrypt them.
Workflow
- Detect current state:
``bash python3 ${CLAUDE_SKILL_DIR}/../sops-setup/scripts/detect_sops.py ``
- Verify prerequisites:
project.sops_yaml.existsmust be true — if not, tell user to run/devtools:sops-setupfirstproject.encrypted_filesshould be non-empty — warn if there are no.enc.yamlfiles to re-encrypt- If
project.tmp_filesis non-empty, warn about stale temporary files (leftover from a failed decrypt/re-encrypt) and suggest the user delete them
- Audit key propagation (if encrypted files exist):
For each encrypted file, read its YAML and check the sops.age recipients list against project.sops_yaml.authorized_keys. If any authorized key is missing from any file's recipients: ``` WARNING: Key age1xxx...yyy is in .sops.yaml but NOT a recipient in:
- apps/web/.env.local.enc.yaml
- apps/api/.env.local.enc.yaml
These files need re-encryption before the corresponding machine can decrypt them. `` Offer to run sops updatekeys -y ` for each affected file before proceeding with the new key addition.
- Show current authorized keys from
project.sops_yaml.authorized_keys:
``` Currently authorized keys (N):
- age1abc...def (truncated)
- age1ghi...jkl (truncated)
```
- Use
AskUserQuestion— ask user to paste the new machine's age public key. Validate it starts withage1.
- Read
.sops.yamland add the new key to theage:field increation_rules. Use theEdittool to append the key to the comma-separated list or multi-line block.
- Re-encrypt all files using
sops updatekeys:
``bash sops updatekeys -y .enc.yaml ` For each encrypted file. The -y` flag auto-confirms. This re-wraps only the data encryption key for the new recipient list — values and MAC are unchanged, producing a minimal diff.
If sops updatekeys is not available (older sops version), fall back to decrypt + re-encrypt: ``bash sops --decrypt .enc.yaml > .tmp.yaml sops --encrypt .tmp.yaml > .enc.yaml rm .tmp.yaml ``
Verify: After re-encrypting, read each file's sops.age recipients block and confirm all keys from .sops.yaml (including the newly added key) appear as recipients. If any key is missing, warn the user that re-encryption may have failed.
- Summary:
`` | Action | Detail | |--------|--------| | Key added | age1xyz... (new machine) | | .sops.yaml | Updated (now N+1 authorized keys) | | Re-encrypted | .env.local.enc.yaml | | Re-encrypted | .env.production.enc.yaml | ` Remind user to **commit** both .sops.yaml and the updated .enc.yaml` files.
Key Rotation vs Key Addition
- Adding a key (
sops updatekeys): Re-wraps the DEK for the new recipient list. Safe, minimal diff. Use for onboarding machines. - Rotating keys (
sops rotate -i): Generates a new DEK and re-encrypts every value. Use when a key is compromised or for periodic security hygiene. - If the user mentions a compromised key, recommend
sops rotate -iafter removing the compromised key from.sops.yaml.
Key Rules
- Validate the public key format (must start with
age1) before modifying.sops.yaml - Always show the current keys before adding a new one
- Re-encrypt ALL
.enc.yamlfiles — missing any would lock out the new machine for those files - Use
sops updatekeys(not full decrypt/re-encrypt) for routine key additions - After re-encryption, the new machine can clone and decrypt immediately
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: joaquimscosta
- Source: joaquimscosta/arkhe-claude-plugins
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.